Update ChangeLogs for 1.21.2
[platform/upstream/gstreamer.git] / subprojects / gstreamer-vaapi / ChangeLog
1 2022-09-23 17:18:35 +0200  Stéphane Cerveau <scerveau@igalia.com>
2
3         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4           h265parse: fix typo in member of GstH265SPS
5           Rename sps_extnsion_params to sps_extension_params
6           Fix comment about vui_parameters_present_flag
7           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3072>
8
9 2022-10-04 03:57:31 +0100  Tim-Philipp Müller <tim@centricular.com>
10
11         * meson.build:
12           Back to development
13           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
14
15 === release 1.21.1 ===
16
17 2022-10-04 01:14:01 +0100  Tim-Philipp Müller <tim@centricular.com>
18
19         * ChangeLog:
20         * NEWS:
21         * RELEASE:
22         * gstreamer-vaapi.doap:
23         * meson.build:
24           Release 1.21.1
25
26 2022-10-04 01:13:59 +0100  Tim-Philipp Müller <tim@centricular.com>
27
28         * ChangeLog:
29           Update ChangeLogs for 1.21.1
30
31 2022-09-21 19:19:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
32
33         * meson.build:
34           meson: Use implicit builtin dirs in pkgconfig generation
35           Starting with Meson 0.62, meson automatically populates the variables
36           list in the pkgconfig file if you reference builtin directories in the
37           pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
38           We need this, because ${prefix}/libexec is a hard-coded value which is
39           incorrect on, for example, Debian.
40           Bump requirement to 0.62, and remove version compares that retained
41           support for older Meson versions.
42           Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
43           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
44
45 2022-09-01 15:11:31 -0400  Thibault Saunier <tsaunier@igalia.com>
46
47         * meson.build:
48           meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
49           Removing some copy pasted code
50           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
51
52 2022-09-01 11:51:48 -0400  Thibault Saunier <tsaunier@igalia.com>
53
54         * docs/meson.build:
55           meson: Namespace the plugins_doc_dep/libraries variables
56           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
57
58 2022-08-31 18:44:14 -0400  Thibault Saunier <tsaunier@igalia.com>
59
60         * meson.build:
61           meson: Rename plugins list and make them "dependency" objects
62           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
63
64 2022-05-31 15:18:03 +0200  Stéphane Cerveau <scerveau@collabora.com>
65
66         * docs/meson.build:
67         * meson.build:
68           docs: disable in static build
69           Following gst-plugins-base, disable docs if static_build
70           in:
71           - gstreamer
72           - gst-plugins-good
73           - gst-plugins-ugly
74           - gst-libav
75           - gstreamer-vaapi
76           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2529>
77
78 2022-08-11 21:22:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
79
80         * gst-libs/gst/vaapi/gstvaapidisplay.c:
81         * gst/vaapi/gstvaapi.c:
82         * gst/vaapi/gstvaapidecode.c:
83           vaapi: plugin: Handle when no encoders/decoders available.
84           Nouveau driver currently only exposes postproc entry. But
85           vaapidecodebin is registered independent if there are decoders or not,
86           exposing a segmentation fault.
87           This patch removes the encoder/decoder/codec arrays if no entries are
88           found, and if no decoders are found vaapidecodebin is not
89           registered. Also for vaapipostproc if no postproc entry is found.
90           Also, if general decoder, used by vaapidecodebin, doesn't have a sink
91           pad string, don't register the glib type.
92           Fixes: #1349
93           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2865>
94
95 2022-07-27 08:45:45 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
96
97         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
98           vaapi: h265dec: avoid possible NULL deref
99           Check "pi" before attempting to dereference it.
100           Captured by static analysis.
101           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2801>
102
103 2022-07-26 12:12:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
104
105         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
106           vaapi: h264dec: Remove dead code
107           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2795>
108
109 2022-07-26 12:22:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
110
111         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
112           vaapi: h265dec: Refresh our sps/pps copy
113           The decoder uses a copy of the SPS/PPS. Since
114           https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2575
115           the SPS/PPS is updated when the slice header is parsed. As a side
116           effect, the H265 decoder was using an partially filled copy.
117           Fixes: 5ae05bb42a ("codecparsers: Defering computation of pps and sps fields")
118           Fixes: #1343
119           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2795>
120
121 2022-06-09 20:00:35 +0800  He Junyan <junyan.he@intel.com>
122
123         * gst-libs/gst/vaapi/gstvaapifilter.c:
124           vaapi: Do not disable the whole vpp when some va operations not available.
125           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2578>
126
127 2022-05-26 12:08:44 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
128
129         * tests/check/elements/vaapioverlay.c:
130           tests: vaapi: remove unused header
131           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2503>
132
133 2022-05-26 12:06:43 -0400  U. Artie Eoff <ullysses.a.eoff@intel.com>
134
135         * tests/check/elements/vaapioverlay.c:
136           tests: vaapi: fix memleak in vaapioverlay test
137           Need to unmap the frame to ensure vaapioverlay can destruct/dispose.
138           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2503>
139
140 2022-04-12 15:23:08 +0300  Sebastian Dröge <sebastian@centricular.com>
141
142         * gst-libs/gst/vaapi/gstvaapivalue.c:
143           Fix `transfer` gobject-introspection annotation typos
144           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2160>
145
146 2022-03-30 11:06:02 -0400  Xavier Claessens <xavier.claessens@collabora.com>
147
148         * meson.build:
149           Use gmodule-no-export-2.0
150           We don't need `-Wl,--export-dynamic`, that's used only for executables
151           that needs to export an API to be used by plugins they load.
152           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
153
154 2022-03-25 15:00:20 -0400  Xavier Claessens <xavier.claessens@collabora.com>
155
156         * gst-libs/gst/vaapi/gstvaapifilter.c:
157         * meson.build:
158           Remove glib and gobject dependencies everywhere
159           They are part of gst_dep already and we have to make sure to always have
160           gst_dep. The order in dependencies matters, because it is also the order
161           in which Meson will set -I args. We want gstreamer's config.h to take
162           precedence over glib's private config.h when it's a subproject.
163           While at it, remove useless fallback args for gmodule/gio dependencies,
164           only gstreamer core needs it.
165           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
166
167 2021-09-11 12:17:56 -0300  Thibault Saunier <tsaunier@igalia.com>
168
169         * docs/gst_plugins_cache.json:
170         * meson_options.txt:
171           tools: Add support for building gstreamer tools against gst-full
172           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
173
174 2022-03-18 16:59:32 +0000  Thibault Saunier <tsaunier@igalia.com>
175
176         * tests/check/elements/vaapipostproc.c:
177           navigation: Add support for key Modifiers in all relevant events
178           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010>
179
180 2022-02-14 16:08:23 +0100  Vivienne Watermeier <vwatermeier@igalia.com>
181
182         * gst/vaapi/gstvaapipostproc.c:
183         * gst/vaapi/gstvaapisink.c:
184         * tests/check/elements/vaapipostproc.c:
185           all: Use new navigation interface and API
186           Use and implement the new navigation interface in all relevant sink elements,
187           and use API functions everywhere instead of directy accessing the event structure.
188           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633>
189
190 2022-03-16 13:17:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
191
192         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
193           codecs: av1: Fix state when we show existing keyframe
194           Showing existing keyframe have special meaning in AV1. All the references
195           frame will be refreshed with the original keyframe information. The refresh
196           process (7.20) is implemented by saving data from the frame_header into the
197           state. To fix this special case, load all the relevant information into the
198           frame_header.
199           As there is nothing happening in between this and the loading of the key-frame
200           into the state, this patch also remove the separate API function, using it
201           internally instead.
202           Fixes #1090
203           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1971>
204
205 2022-03-18 13:42:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
206
207         * meson.build:
208           meson: Bump all meson requirements to 0.60
209           Lots of new warnings ever since
210           https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
211           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
212
213 2022-03-08 14:54:34 +0800  GuYanjie <yanjie.gu@intel.com>
214
215         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
216           vaapih265dec: fixed st_rps_bits setting in h265 decoding.
217           According to va_dec_hevc.h, pic_param->st_rps_bits should be set
218           for accelorater to skip parsing the *short_term_ref_pic_set
219           (num_short_term_ref_pic_sets) structure.
220           Also modified fill_picture to get parser info as a parameter,
221           in order to get slide_hdr->short_term_ref_pic_set_size.
222           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1886>
223
224 2021-11-19 18:47:24 -0800  Haihao Xiang <haihao.xiang@intel.com>
225
226         * gst-libs/gst/vaapi/gstvaapiblend.c:
227         * gst/vaapi/gstvaapioverlay.c:
228         * gst/vaapi/gstvaapioverlay.h:
229           vaapioverlay: inline sinkpad scaling support
230           Often, users will need to scale inputs (e.g.
231           with vaapipostproc) before they are submitted
232           to the vaapioverlay.  However, this results in
233           multiple VPP passes/operations in the pipeline
234           which creates unnecessary process overhead.
235           This change allows for inputs to be submitted
236           at original scale to vaapioverlay with per-sinkpad
237           scale dimensions specified so they can be scaled
238           and blended/composited in a single VPP pass/operation
239           to avoid the unnecessary process overhead.
240           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1380>
241
242 2021-11-19 14:46:34 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
243
244         * gst-libs/gst/vaapi/gstvaapiblend.c:
245           vaapioverlay: use vpp blend state iif using alpha
246           Don't set VAAPI vpp blend flags if alpha == 1.0,
247           i.e. fully opaque.  This can avoid extra processing
248           overhead on some drivers that apply blending
249           unconditionally when flags are present, even if the
250           end result is the same without blend flags (i.e. all
251           opaque alpha channels).
252           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1380>
253
254 2022-02-09 06:01:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
255
256         * meson.build:
257         * meson_options.txt:
258           vaapi: Use meson's features for option selection.
259           Modernize option selection, so if a required dependency is missing,
260           produce a meaningful error message.
261           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1676>
262
263 2021-09-30 17:42:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
264
265         * meson.build:
266           build: Add libva dependency fallback.
267           Then libva can be subproject and used by either gstreamer-vaapi,
268           va and msdk in gst-plugins-bad.
269           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1397>
270
271 2022-02-04 11:15:47 +0000  Tim-Philipp Müller <tim@centricular.com>
272
273         * meson.build:
274           Back to development
275           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
276
277 === release 1.20.0 ===
278
279 2022-02-03 19:53:25 +0000  Tim-Philipp Müller <tim@centricular.com>
280
281         * ChangeLog:
282         * NEWS:
283         * RELEASE:
284         * gstreamer-vaapi.doap:
285         * meson.build:
286           Release 1.20.0
287
288 2022-02-03 19:53:18 +0000  Tim-Philipp Müller <tim@centricular.com>
289
290         * ChangeLog:
291           Update ChangeLogs for 1.20.0
292
293 2022-01-30 09:38:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
294
295         * gst/vaapi/gstvaapipluginutil.c:
296         * meson.build:
297           vaapi: Disable Wayland if no libdrm
298           Platform wise, is not possible, as far as I known, to have Wayland
299           without kernel's DRM. Though, it's possible to configure
300           gstreamer-vaapi without DRM but Wayland support, with the enhanced
301           handling of dmabuf in vaapisink for Wayland, vaapisink will always
302           fail. Given both issues, configuration with no DRM but Wayland, makes
303           things more complex, and a simpler approach is to refuse that
304           configuration.
305           This patch disables Wayland support if there isn't DRM support. Also,
306           it disables the display test for Wayland, relying only on DRM and
307           X11.
308           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1606>
309
310 2022-01-30 07:10:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
311
312         * gst-libs/gst/vaapi/video-format.c:
313           vaapi: libs: video-format: Check if formats map is not NULL.
314           Formats map is instantiated at the end of the display
315           instantiation. The problem is the Wayland display which looks for a
316           format in a callback, before the map is populated.
317           If user compiles gstreamer-vaapi with DRM support, the map is
318           populated with a DRM display at GStreamer plugin registration. But if
319           not, or a VA driver is not available, the plugin will try with a
320           Wayland driver, which cause the NULL de-reference.
321           Nevertheless, in the case of no DRM support, and if the Wayland
322           display doesn't get a reply from the format conversion is not a
323           problem.
324           So the solution is the trivial one, check if the format map is already
325           populated before de-reference it.
326           Fixes: #977
327           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1606>
328
329 === release 1.19.90 ===
330
331 2022-01-28 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>
332
333         * ChangeLog:
334         * NEWS:
335         * RELEASE:
336         * gstreamer-vaapi.doap:
337         * meson.build:
338           Release 1.19.90
339
340 2022-01-28 14:28:28 +0000  Tim-Philipp Müller <tim@centricular.com>
341
342         * ChangeLog:
343           Update ChangeLogs for 1.19.90
344
345 2022-01-05 02:07:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
346
347         * docs/meson.build:
348         * meson.build:
349           meson: Add explicit check: kwarg to all run_command() calls
350           This is required since Meson 0.61.0, and causes a warning to be
351           emitted otherwise:
352           https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
353           https://github.com/mesonbuild/meson/issues/9300
354           This exposed a bunch of places where we had broken run_command()
355           calls, unnecessary run_command() calls, and places where check: true
356           should be used.
357           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
358
359 2022-01-04 16:19:44 +0800  He Junyan <junyan.he@intel.com>
360
361         * gst-libs/gst/vaapi/gstvaapiprofile.c:
362           vaapi: av1dec: Use named profiles to replace the numeric ones.
363           Use named AV1 profiles (i.e., main, high) to replace the old "0"
364           and "1" profiles.
365           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1491>
366
367 2021-12-01 15:36:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
368
369         * gst/vaapi/gstvaapidecodebin.c:
370           vaapidecodebin: Misc enhancements.
371           - Use GST_WARNING rather than g_critical
372           - Replace gst_ghost_pad_new_from_template() with
373           gst_ghost_pad_new() to avoid using the template.
374           - Declare extern variable
375           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1405>
376
377 2021-12-01 12:26:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
378
379         * gst/vaapi/gstvaapidecode.c:
380           vaapidecode: Autogenerate caps template.
381           vaapidecode is used in vaapidecodebin and it exposes all the
382           theoretically supported caps, but that slows down autoplug. With this
383           autplug is negotiated faster, giving more option to decodebin to select
384           other decoder.
385           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1405>
386
387 2021-11-16 17:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
388
389         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
390         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
391           vaapi: libs: Use unsized arrays as parameters.
392           Instead of defining a sized array for function signature, use it
393           unsized (a pointer alias, basically). In this way clang warning is
394           silenced:
395           warning: ‘fill_profiles’ accessing 64 bytes in a region of size 12 [-Wstringop-overflow=]
396           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1357>
397
398 2021-11-16 17:21:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
399
400         * meson.build:
401           vaapi: meson: Fail if static build.
402           And initialize the plugin array.
403           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1357>
404
405 2021-11-15 16:38:34 +0800  Ung, Teng En <teng.en.ung@intel.com>
406
407         * gst/vaapi/gstvaapipostproc.c:
408           vaapipostproc: fix mising metadata when using system
409           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1325>
410
411 2021-11-03 18:44:03 +0000  Tim-Philipp Müller <tim@centricular.com>
412
413         * meson.build:
414           Back to development
415
416 === release 1.19.3 ===
417
418 2021-11-03 15:43:36 +0000  Tim-Philipp Müller <tim@centricular.com>
419
420         * ChangeLog:
421         * NEWS:
422         * RELEASE:
423         * gstreamer-vaapi.doap:
424         * meson.build:
425           Release 1.19.3
426
427 2021-11-03 15:43:32 +0000  Tim-Philipp Müller <tim@centricular.com>
428
429         * ChangeLog:
430           Update ChangeLogs for 1.19.3
431
432 2021-10-18 15:47:00 +0100  Tim-Philipp Müller <tim@centricular.com>
433
434         * tests/check/meson.build:
435           meson: update for meson.build_root() and .build_source() deprecation
436           -> use meson.project_build_root() or .global_build_root() instead.
437           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
438
439 2021-10-18 00:40:14 +0100  Tim-Philipp Müller <tim@centricular.com>
440
441         * docs/meson.build:
442         * gst-libs/gst/vaapi/meson.build:
443         * meson.build:
444         * tests/check/meson.build:
445           meson: update for dep.get_pkgconfig_variable() deprecation
446           ... in favour of dep.get_variable('foo', ..) which in some
447           cases allows for further cleanups in future since we can
448           extract variables from pkg-config dependencies as well as
449           internal dependencies using this mechanism.
450           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
451
452 2021-10-14 18:38:26 +0100  Tim-Philipp Müller <tim@centricular.com>
453
454         * meson.build:
455           meson: bump meson requirement to >= 0.59
456           For monorepo build and ugly/bad, for advanced feature
457           option API like get_option('xyz').required(..) which
458           we use in combination with the 'gpl' option.
459           For rest of modules for consistency (people will likely
460           use newer features based on the top-level requirement).
461           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
462
463 2021-10-15 00:33:39 +0800  He Junyan <junyan.he@intel.com>
464
465         * docs/index.md:
466           Docs: Fix a typo for Intel's vaapi driver name.
467           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1151>
468
469 2021-09-28 10:11:15 +1000  Brad Hards <bradh@frogmouth.net>
470
471         * RELEASE:
472           doc: update IRC links to OFTC
473           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
474
475 2021-09-26 01:07:02 +0100  Tim-Philipp Müller <tim@centricular.com>
476
477         * meson.build:
478           Back to development
479           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
480
481 === release 1.19.2 ===
482
483 2021-09-23 01:35:54 +0100  Tim-Philipp Müller <tim@centricular.com>
484
485         * ChangeLog:
486         * NEWS:
487         * RELEASE:
488         * gstreamer-vaapi.doap:
489         * meson.build:
490           Release 1.19.2
491
492 2021-08-26 15:06:53 +0800  Zhang Yuankun <yuankunx.zhang@intel.com>
493
494         * gst/vaapi/gstvaapidecode.c:
495           vaapi: decoder: modify the condition to judge whether dma buffer is supported
496           It seems "GST_VAAPI_PLUGIN_BASE_SRC_PAD_CAN_DMABUF (decode)" will
497           return false even if this platform support the mem_type dma buffer.
498           And media-driver will return GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF2
499           on Gen12(such as TGL).
500           Without this patch, The command such as:
501           gst-launch-1.0 videotestsrc num-buffers=100 ! video/x-raw, format=I420 ! \
502           x264enc ! h264parse ! vaapih264dec ! video/x-raw\(memory:DMABuf\) ! fakesink
503           will return not-negotiated.
504           Signed-off-by: Zhang Yuankun <yuankunx.zhang@intel.com>
505           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/437>
506
507 2021-05-14 12:04:04 +0800  He Junyan <junyan.he@intel.com>
508
509         * gst-libs/gst/vaapi/gstvaapidisplay.c:
510         * gst/vaapi/gstvaapivideocontext.c:
511           Display: Add a property to export the VA display handle.
512           Just like what we do in VA plugins. The display can be seen as a
513           generic gst object and we can add a property to get the internal
514           VA handle.
515           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/435>
516
517 2021-05-14 11:49:01 +0800  He Junyan <junyan.he@intel.com>
518
519         * gst/vaapi/gstvaapivideomemory.c:
520         * gst/vaapi/gstvaapivideomemory.h:
521           plugins: video memory: Add a GST_MAP_VAAPI flag to peek the surface.
522           Just like what we do in VA plugins, the GST_MAP_VAAPI can directly
523           peek the surface of the VA buffers. The old flag 0 just peek the
524           surface proxy, which may not be convenient for the users who do not
525           want to include our headers.
526           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/435>
527
528 2021-07-09 11:01:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
529
530         * gst/vaapi/gstvaapi.c:
531         * gst/vaapi/gstvaapidecode.c:
532           Revert "vaapi: Demote vaapidecodebin to rank NONE."
533           This reverts commit 7a25c5d4ec95aefeca6515ac023b23c5dd330194.
534           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/436>
535
536 2021-06-23 16:23:00 +0800  He Junyan <junyan.he@intel.com>
537
538         * gst/vaapi/gstvaapiencode.c:
539           plugins: encode: fix a deadlock because of _drain()
540           We call gst_vaapiencode_drain() in gst_vaapiencode_change_state(),
541           whose context does not hold the stream lock of the encoder. The
542           current gst_vaapiencode_drain inside unlock/lock pair adds a extra
543           lock count to the stream lock of encoder and causes hang later.
544           We just remove the gst_vaapiencode_drain() and expand its logic
545           correctly according to the lock/unlock context.
546           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/433>
547
548 2021-06-29 15:09:13 +0800  He Junyan <junyan.he@intel.com>
549
550         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
551           libs: decoder: av1: Clean the film_grain_info field.
552           We need to clean all film_grain_info fields when the film grain
553           feature is not enabled. It may have random data because the picture
554           parameter buffer is not cleaned.
555           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/434>
556
557 2021-06-03 22:12:04 +0800  He Junyan <junyan.he@intel.com>
558
559         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
560         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
561           libs: encoder: mpeg2: Add highP level for 1080@50p/60p.
562           The MPEG2 spec has amendment 3 to introduce a new level highP, which
563           is used for 1080@50p/60p streams. We need to add this level to avoid
564           encoding failure because of the level check.
565           Fix: #306
566           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/432>
567
568 2021-05-11 16:59:07 +0800  He Junyan <junyan.he@intel.com>
569
570         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
571           Decoder: H264: Add the support for frame packing arrangement SEI message.
572           Frame packing arrangement SEI message is an alternative simple stereo 3D
573           manner for AVC. We need to recognize that SEI message and report the correct
574           3D caps.
575           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/420>
576
577 2021-05-22 18:54:49 +0100  Tim-Philipp Müller <tim@centricular.com>
578
579         * gst-libs/gst/vaapi/gstvaapifilter.c:
580         * meson.build:
581           Use g_memdup2() where available and add fallback for older GLib versions
582           Alloc size is based on existing allocations and struct sizes.
583           g_memdup() is deprecated since GLib 2.68 and we want to avoid
584           deprecation warnings with recent versions of GLib.
585           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/431>
586
587 2021-06-01 15:29:16 +0100  Tim-Philipp Müller <tim@centricular.com>
588
589         * meson.build:
590           Back to development
591
592 === release 1.19.1 ===
593
594 2021-06-01 00:16:31 +0100  Tim-Philipp Müller <tim@centricular.com>
595
596         * ChangeLog:
597         * NEWS:
598         * RELEASE:
599         * gstreamer-vaapi.doap:
600         * meson.build:
601           Release 1.19.1
602
603 2021-04-23 19:01:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
604
605         * gst/vaapi/gstvaapi.c:
606         * gst/vaapi/gstvaapidecode.c:
607           vaapi: Demote vaapidecodebin to rank NONE.
608           One of the main reasons of vaapidecodebin was because it mitigated the
609           possible surface exhaustion. But that problem is currently
610           solved. Nowadays, vaapidecodebin brings more problems than it
611           solves. Thus this patch demotes vaapidecodebin to NONE rank while
612           bumping PRIMARY + 1 the most common decoders.
613           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/426>
614
615 2021-05-20 10:28:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
616
617         * gst/vaapi/gstvaapi.c:
618         * gst/vaapi/gstvaapioverlay.c:
619           plugins: Demote rank of vaapipostproc and vaapioverlay.
620           Since almost all video filters have rank NONE, these both elements
621           should be NONE too.
622           This is useful for autovideoconvert and other bins, and users might
623           force to use these by setting the environment variable
624           GST_PLUGIN_FEATURE_RANK.
625           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/429>
626
627 2021-04-21 10:55:45 +0200  François Laignel <fengalin@free.fr>
628
629         * tests/check/elements/vaapioverlay.c:
630           Use gst_element_request_pad_simple...
631           Instead of the deprecated gst_element_get_request_pad.
632           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/425>
633
634 2021-04-23 11:02:05 +0800  Zhang yuankun <yuankunx.zhang@intel.com>
635
636         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
637           libs: encoder: VP9: fix > 4k encode fail issue
638           The VP9 spec defines the MAX_TILE_WIDTH_B64(64), which is the maximum
639           width of a tile in units of superblocks. So the max width of one tile
640           should not be larger than 64x64=4096. When the width exceeds 4k, we
641           need to split it into multiple tiles in columns. The current vp9 encoder
642           does not handle this correctly.
643           The command such as:
644           gst-launch-1.0 videotestsrc ! video/x-raw,width=7680,height=4320 ! \
645           vaapivp9enc ! fakesink
646           will crash.
647           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/424>
648
649 2021-04-02 15:43:45 +0800  Haihao Xiang <haihao.xiang@intel.com>
650
651         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
652           libs: display: drm: don't fallback to default device if explicitly specified device can't load/init
653           Otherwise user will be misled that the specified device is using
654           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/305
655           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/422>
656
657 2021-03-22 13:41:13 +0800  He Junyan <junyan.he@intel.com>
658
659         * gst-libs/gst/vaapi/gstvaapiencoder.c:
660         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
661         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
662           decoder: H265: Enable cu_qp_delta_enabled_flag when ROI
663           If ROI is enabled, the CUs within the ROI region may have different
664           QP from the other part of the picture. This needs us to enable the
665           cu_qp_delta_enabled_flag even in the CQP mode.
666           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/419>
667
668 2021-03-19 17:42:36 +1100  Matthew Waters <matthew@centricular.com>
669
670         * gst-libs/gst/vaapi/gstvaapicontext.c:
671         * gst-libs/gst/vaapi/gstvaapicontext.h:
672         * gst-libs/gst/vaapi/gstvaapiencoder.c:
673         * gst-libs/gst/vaapi/gstvaapifilter.c:
674         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
675         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
676         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
677         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
678         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
679         * gst-libs/gst/vaapi/gstvaapivalue.c:
680         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
681         * gst/vaapi/gstvaapipluginbase.c:
682         * gst/vaapi/gstvaapisink.c:
683         * gst/vaapi/gstvaapisink.h:
684         * gst/vaapi/gstvaapivideocontext.c:
685         * gst/vaapi/gstvaapivideomemory.c:
686         * tests/internal/simple-decoder.c:
687           gst: don't use volatile to mean atomic
688           volatile is not sufficient to provide atomic guarantees and real atomics
689           should be used instead.  GCC 11 has started warning about using volatile
690           with atomic operations.
691           https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
692           Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
693           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/418>
694
695 2021-02-24 17:41:02 +0100  Paul Goulpié <paul.goulpie@ubicast.eu>
696
697         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
698           gstvaapiencoder_h264: add ENCODER_EXPOSURE on aud propertie
699           forgot during the following mainline commit: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/commit/bc2f8fd19e924aa0e193708307326acd037691ce#
700           Signed-off-by: Paul Goulpié <paul.goulpie@ubicast.eu>
701
702 2021-02-04 15:05:55 +0800  He Junyan <junyan.he@intel.com>
703
704         * gst/vaapi/gstvaapipostproc.c:
705           plugins: postproc: Fix a problem of propose_allocation when passthrough.
706           We should query the downstream element to answer a precise allocation
707           query when the passthrough mode is enabled.
708           The current way still decides the allocation by the postproc itself. The
709           pipeline such as:
710           gst-launch-1.0 -v filesrc location=xxx.264 ! h264parse ! vaapih264dec ! \
711           vaapipostproc ! fakevideosink silent=false sync=true
712           will lose some info such as the GST_VIDEO_META_API_TYPE.
713           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/413>
714
715 2021-01-27 12:05:44 +0800  Haihao Xiang <haihao.xiang@intel.com>
716
717         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
718         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
719         * gst/vaapi/gstvaapivideocontext.c:
720           libs: display: drm: support gst.vaapi.app.Display context for drm backend
721           Attributes for drm backend:
722           - va-display : ponter of VADisplay
723           - drm-device-fd : the DRM device file descriptor
724           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/409>
725
726 2021-01-13 14:43:20 +0800  Haihao Xiang <haihao.xiang@intel.com>
727
728         * docs/index.md:
729         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
730           libs: display: drm: allow user specify a drm device via an env variable
731           Currently the default drm device is always used on a system with
732           multiple drm devices. This patch allows user to specify the required
733           drm device via GST_VAAPI_DRM_DEVICE env variable
734           Example:
735           GST_VAAPI_DRM_DEVICE=/dev/dri/renderD129 gst-launch-1.0 videotestsrc !
736           vaapih264enc ! fakesink
737           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/409>
738
739 2021-01-25 14:45:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
740
741         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
742           libs: display: drm: fix set_device_path_from_fd
743           drmGetBusid() (GET_UNIQUE ioctl) won't return a valid bus id when
744           drmSetInterfaceVersion() (SET_VERSION ioctl) hasn't been called(see[1]),
745           so we can't get the right device path. Running test-display will get the
746           error below:
747           ** (test-display:18630): ERROR **: 10:26:00.434: could not create Gst/VA
748           display
749           Calling drmSetInterfaceVersion() before drmGetBusid() can't fix this
750           issue because a special permission is required for SET_VERSION ioctl.
751           This patch retrieves the device path from file descriptor via
752           g_file_read_link()
753           [1] https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_ioctl.c#L48-L104
754           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/412>
755
756 2021-01-20 10:42:09 +0100  Rafał Dzięgiel <rafostar.github@gmail.com>
757
758         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
759           glx: Iterate over FBConfig and select 8 bit color size
760           Texture upload mechanism used by gstreamer-vaapi relies on 8 bpc.
761           In latest mesa versions the first fbconfig might not be 8 bit, so iterate
762           over it to find the correct config with supported values.
763           This also adds 8 bit alpha size to the framebuffer configuration which is
764           required to get it working properly.
765           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/410>
766
767 2021-01-11 09:57:03 +0800  Ung, Teng En <teng.en.ung@intel.com>
768
769         * gst-libs/gst/vaapi/gstvaapiutils.c:
770           vaapipostproc: fix code style.
771           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
772
773 2020-12-21 05:42:00 +0000  Ung, Teng En <teng.en.ung@intel.com>
774
775         * gst-libs/gst/vaapi/gstvaapidisplay.c:
776         * gst-libs/gst/vaapi/gstvaapidisplay.h:
777         * gst-libs/gst/vaapi/gstvaapifilter.c:
778           vaapipostproc: Remove YUV to/from RGB color primary quirk since iHD driver has fixed in https://github.com/intel/media-driver/commit/a39fe9bc051a8c3efa8f35122a1585981ec7f816.
779           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
780
781 2020-12-21 05:36:29 +0000  Ung, Teng En <teng.en.ung@intel.com>
782
783         * gst-libs/gst/vaapi/gstvaapiutils.c:
784           vaapipostproc: Added gstreamer BT2020 color standard support.
785           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/407>
786
787 2021-01-09 16:05:48 +0800  He Junyan <junyan.he@intel.com>
788
789         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
790           decoder: AV1: Fix a static analysis problem of update_state().
791           No need to check the picture pointer after we have already dereferenced it.
792           Fix: #298
793           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/408>
794
795 2020-12-22 23:43:52 +0800  He Junyan <junyan.he@intel.com>
796
797         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
798         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
799         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
800           libs: decoder: Add decode_with_surface_id for AV1 film_grain.
801           The AV1 film_graim feature needs two surfaces the same time for
802           decoding. One is for recon surface which will be used as reference
803           later, and the other one is for display. The GstVaapiPicture should
804           contain the surface for display, while the vaBeginPicture() need
805           the recon surface as the target.
806           We add a gst_vaapi_picture_decode_with_surface_id API to handle this
807           kind of requirement.
808           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
809
810 2020-08-27 21:46:41 +0800  He Junyan <junyan.he@intel.com>
811
812         * gst-libs/gst/vaapi/gstvaapidecoder_av1.c:
813         * gst-libs/gst/vaapi/gstvaapidecoder_av1.h:
814         * gst-libs/gst/vaapi/gstvaapiprofile.c:
815         * gst-libs/gst/vaapi/gstvaapiprofile.h:
816         * gst-libs/gst/vaapi/gstvaapiutils.c:
817         * gst-libs/gst/vaapi/meson.build:
818         * gst/vaapi/gstvaapidecode.c:
819         * meson.build:
820           libs: decoder: AV1: Add the av1 decoder support.
821           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
822
823 2020-08-27 21:39:35 +0800  He Junyan <junyan.he@intel.com>
824
825         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
826         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
827         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
828         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
829           libs: codecobject: Add number of elements when create codec object.
830           One slice data may need several slice parameter buffers at one time.
831           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/191>
832
833 2020-12-12 10:30:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
834
835         * gst/vaapi/gstvaapidecodebin.c:
836         * gst/vaapi/gstvaapipluginbase.c:
837         * gst/vaapi/gstvaapivideobufferpool.c:
838           vaapi: use gst_clear_object instead of g_clear_object
839           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/406>
840
841 2020-12-08 13:34:35 +0800  He Junyan <junyan.he@intel.com>
842
843         * gst/vaapi/gstvaapiencode.c:
844           plugins: encode: unlock the stream lock before _flush()
845           The current encoder will hang when EOS comes. When we call the
846           gst_vaapi_encoder_encode_and_queue(), we should release the stream
847           lock, just like what we do in gst_vaapiencode_handle_frame().
848           The deadlock happens when: The input thread holding the stream lock
849           is using gst_vaapi_encoder_create_coded_buffer() to acquire a coded
850           buffer, while the output thread which holding the coded buffer resource
851           is acquiring the stream lock in _push_frame() to push the data to
852           down stream element.
853           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/404>
854
855 2020-12-09 00:04:33 +0800  He Junyan <junyan.he@intel.com>
856
857         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
858           libs: encoder: H264: Fix one assert in get_pending_reordered().
859           gst_vaapi_encoder_h264_get_pending_reordered() does not consider the
860           case for HIERARCHICAL_B mode. The pipeline:
861           gst-launch-1.0  videotestsrc num-buffers=48 ! vaapih264enc prediction-type=2 \
862           keyframe-period=32 ! fakesink
863           get a assert:
864           ERROR:../gst-libs/gst/vaapi/gstvaapiencoder_h264.c:1996:reflist1_init_hierarchical_b:
865           assertion failed: (count != 0)
866           The last few B frames are not fetched in correct order when HIERARCHICAL_B
867           is enabled.
868           We also fix a latent bug for normal mode. The g_queue_pop_tail() of B frames
869           make the last several frames encoded in reverse order. The NAL of last few
870           frames come in reverse order in the bit stream, though it can still output
871           the correct image.
872           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/405>
873
874 2020-06-25 16:25:21 +0800  He Junyan <junyan.he@hotmail.com>
875
876         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
877         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
878           libs: encoder: H265: Add screen content coding extensions support.
879           In scc mode, the I frame can ref to itself and it needs the L0 reference
880           list enabled. So we should set the I frame to P_SLICE type. We do not need
881           to change the ref_pic_list0/1 passed to VA driver, just need to enable the
882           VAEncPictureParameterBufferHEVC->pps_curr_pic_ref_enabled_flag to notify
883           the driver consider the current frame as reference. For bits conformance,
884           the NumRpsCurrTempList0 should be incremented by one to include the current
885           picture as the reference frame. We manually do it when packing the slice header.
886           Command line like:
887           gst-launch-1.0  videotestsrc num-buffers=10 ! \
888           capsfilter caps=video/x-raw,format=NV12, framerate=30/1,width=640,height=360 ! \
889           vaapih265enc ! capsfilter caps=video/x-h265,profile="{ (string)screen-extended-main }" ! \
890           filesink location=out.265
891           Can be used to specify that the encoder should use SCC profiles.
892           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/379>
893
894 2020-07-11 23:37:29 +0800  He Junyan <junyan.he@intel.com>
895
896         * gst/vaapi/gstvaapiencode_vp9.c:
897           plugin: encode: vp9: Implement the set_config().
898           We store the allowed profiles list to encoder in set_config().
899           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
900
901 2020-07-11 23:39:40 +0800  He Junyan <junyan.he@intel.com>
902
903         * gst/vaapi/gstvaapiencode_vp9.c:
904           plugin: encode: vp9: Add the profile into output caps.
905           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
906
907 2020-07-11 23:27:21 +0800  He Junyan <junyan.he@intel.com>
908
909         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
910           libs: encoder: vp9: no need to ensure_hw_profile.
911           Once we decide the profile and can get the valid entrypoint for
912           that profile, hw must already support this profile/entrypoint pair.
913           No need to check it again in set_context_info().
914           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
915
916 2020-07-11 23:22:55 +0800  He Junyan <junyan.he@intel.com>
917
918         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
919           libs: encoder: vp9: Improve the manner to decide the profile.
920           We should decide the VP9 encoder's profile based on the chroma and
921           depth of the input format, then make sure it is included in the
922           allowed list.
923           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
924
925 2020-07-11 23:17:02 +0800  He Junyan <junyan.he@intel.com>
926
927         * gst-libs/gst/vaapi/gstvaapiutils_vpx.c:
928         * gst-libs/gst/vaapi/gstvaapiutils_vpx.h:
929           libs: util: vpx: add get_chroma_format_idc for VP9
930           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
931
932 2020-07-11 23:09:59 +0800  He Junyan <junyan.he@intel.com>
933
934         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
935         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
936           libs: encoder: vp9: Add allowed_profiles.
937           We need the allowed_profiles to store the allowed profiles in down
938           stream's caps.
939           Command line like:
940           vaapivp9enc ! capsfilter caps=video/x-vp9,profile="{ (string)1, \
941           (string)3 }"
942           We need to store GST_VAAPI_PROFILE_VP9_1 and GST_VAAPI_PROFILE_VP9_3
943           in this list.
944           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/380>
945
946 2020-11-30 18:00:30 +0800  He Junyan <junyan.he@intel.com>
947
948         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
949           libs: decoder: H265: Fix a typo in scc reference setting.
950           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/402>
951
952 2020-07-17 18:00:30 +0800  He Junyan <junyan.he@intel.com>
953
954         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
955         * gst-libs/gst/vaapi/gstvaapiprofile.c:
956         * gst-libs/gst/vaapi/gstvaapiprofile.h:
957         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
958         * gst-libs/gst/vaapi/video-format.c:
959         * gst/vaapi/gstvaapidecode.c:
960           libs: decoder: H265: Add MAIN_422_12 profile supporting.
961           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
962
963 2020-07-31 14:38:42 +0800  He Junyan <junyan.he@intel.com>
964
965         * gst-libs/gst/vaapi/gstvaapiimage.c:
966         * gst-libs/gst/vaapi/video-format.c:
967         * gst-libs/gst/vaapi/video-format.h:
968           video-format: Add Y212_LE format.
969           It can be used as HEVC YUV_4:2:2 12bits stream's decoder output, and
970           also can be used as the input format for encoding HEVC YUV_4:2:2 12bits
971           stream.
972           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
973
974 2020-07-30 23:21:06 +0800  He Junyan <junyan.he@intel.com>
975
976         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
977         * gst-libs/gst/vaapi/gstvaapiprofile.c:
978         * gst-libs/gst/vaapi/gstvaapiprofile.h:
979         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
980         * gst-libs/gst/vaapi/video-format.c:
981         * gst/vaapi/gstvaapidecode.c:
982           libs: decoder: H265: Add MAIN_444_12 profile supporting.
983           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
984
985 2020-07-30 23:13:10 +0800  He Junyan <junyan.he@intel.com>
986
987         * gst-libs/gst/vaapi/gstvaapiimage.c:
988         * gst-libs/gst/vaapi/video-format.c:
989         * gst-libs/gst/vaapi/video-format.h:
990           video-format: Add Y412_LE format.
991           It can be used as HEVC YUV_4:4:4 12bits stream's decoder output, and
992           also can be used as the input format for encoding HEVC YUV_4:4:4 12bits
993           stream.
994           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/390>
995
996 2020-09-17 16:47:43 +0800  He Junyan <junyan.he@intel.com>
997
998         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
999           libs: decoder: h265: fill missing predictor_palette_size field.
1000           The predictor_palette_size of VAPictureParameterBufferHEVCScc is
1001           forgotten and need to be filled when streams have palettes.
1002           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/396>
1003
1004 2020-09-17 15:35:11 +0800  He Junyan <junyan.he@intel.com>
1005
1006         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1007           libs: utils: h265: Use get_profile_from_sps to get profile.
1008           We now use gst_h265_get_profile_from_sps() to replace the old way
1009           of gst_h265_profile_tier_level_get_profile() to get more precise
1010           profile. The new function consider the unstandard cases and give
1011           a more suitable profile decision.
1012           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/395>
1013
1014 2020-10-19 13:46:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1015
1016         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1017           libs: decoder: vp9: 0xff segment pred probs if no temporal update
1018           According to the spec (6.2.11 Segmentation params syntax)
1019           segmentation_pred_prob[i] ast to be 0xff if not temporal_update.
1020           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/400>
1021
1022 2020-10-19 13:42:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1023
1024         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1025           libs: decoder: vp9: avoid reference rewriting
1026           The removed code set all the reference frames to the current frame it is a key
1027           one, but later, all the reference frames were rewritten with the decoded picture
1028           buffers or VA_INVALID_SURFACE if they were not available.
1029           Basically, all this time the first reference frame assignment has been ignored,
1030           and it's not described by the spec, and this patch removes that code.
1031           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/400>
1032
1033 2020-09-20 09:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1034
1035         * gst/vaapi/gstvaapidecode.c:
1036           decoder: don't reply src caps query with allowed if pad is fixed
1037           If the pad is already fixed the caps query have to be reply with the
1038           current fixed caps. Otherwise the query has to be replied with the
1039           autogeneratd src caps.
1040           This path fix this by falling back to the normal caps query processing
1041           if the pad is already fixed. Otherwise it will fetch the allowed src
1042           pad caps.
1043           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/397>
1044
1045 2020-09-15 00:11:30 +0800  He Junyan <junyan.he@intel.com>
1046
1047         * gst/vaapi/gstvaapidecode.c:
1048           plugins: decode: fix a DMA caps typo in ensure_allowed_srcpad_caps.
1049           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/392>
1050
1051 2020-09-01 09:31:33 +0200  Marc Leeman <m.leeman@televic.com>
1052
1053         * gst/vaapi/gstvaapisink.c:
1054           vaapisink: when updating the caps, reset rotation
1055           When an element upstream changes settings (e.g. crop), new caps are sent
1056           to vaapisink. When vaapisink was rotating the image, it needs to
1057           re-evaluate if the sink needs to rotate the image.
1058           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/389>
1059
1060 2020-09-08 17:31:02 +0100  Tim-Philipp Müller <tim@centricular.com>
1061
1062         * .gitlab-ci.yml:
1063           ci: include template from gst-ci master branch again
1064
1065 2020-09-08 16:59:07 +0100  Tim-Philipp Müller <tim@centricular.com>
1066
1067         * meson.build:
1068           Back to development
1069
1070 === release 1.18.0 ===
1071
1072 2020-09-08 00:09:51 +0100  Tim-Philipp Müller <tim@centricular.com>
1073
1074         * .gitlab-ci.yml:
1075         * ChangeLog:
1076         * NEWS:
1077         * RELEASE:
1078         * gstreamer-vaapi.doap:
1079         * meson.build:
1080           Release 1.18.0
1081
1082 2020-09-07 12:15:43 +0300  Sebastian Dröge <sebastian@centricular.com>
1083
1084         * gst-libs/gst/vaapi/gstvaapifilter.c:
1085           Update for gst_video_transfer_function_*() function renaming
1086           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/391>
1087
1088 2020-08-22 12:53:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1089
1090         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1091         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1092           Revert "libs: decoder: h264, h265: in context at least 16 reference surfaces"
1093           This reverts commit b387081a4d77d3da202da72686ab40fb9c83ee1e as discussed in
1094           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/commit/b387081a4d77d3da202da72686ab40fb9c83ee1e
1095
1096 === release 1.17.90 ===
1097
1098 2020-08-20 16:16:25 +0100  Tim-Philipp Müller <tim@centricular.com>
1099
1100         * ChangeLog:
1101         * NEWS:
1102         * RELEASE:
1103         * gstreamer-vaapi.doap:
1104         * meson.build:
1105           Release 1.17.90
1106
1107 2020-08-17 11:43:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1108
1109         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
1110           libs: surface: egl: guard memory type
1111           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/384>
1112
1113 2020-08-17 19:26:43 +0800  He Junyan <junyan.he@intel.com>
1114
1115         * gst/vaapi/gstvaapidecode.c:
1116           plugin: decode: Fix two mem leaks because of caps.
1117           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/385>
1118
1119 2020-08-16 01:57:15 +0800  He Junyan <junyan.he@intel.com>
1120
1121         * gst/vaapi/gstvaapivideomemory.c:
1122           plugin: allocator: No need to ref allocator when create mem.
1123           We do not need to ref the allocator when creating GstVaapiVideoMemory
1124           kind memory, and then release it in _free(). The framework already
1125           does it for us.
1126           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/383>
1127
1128 2020-08-14 10:42:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1129
1130         * gst/vaapi/gstvaapiencode_h264.c:
1131           vaapiencode: h264: ignore level without breaking negotiation
1132           Since commit 9f627ef2 if the user sets level in the encoder src caps
1133           the caps negotiation is rejected.
1134           But since the same commit the same encoder set the autoconfigured
1135           level in caps. Some change in the base class might fixed the operation
1136           order so now the caps are set and later negotiated.
1137           This patch removes the level check.
1138           Fixes: #273
1139           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/382>
1140
1141 2019-07-09 19:17:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1142
1143         * gst-libs/gst/vaapi/egl_vtable.h:
1144         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
1145         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
1146         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
1147           libs: egl: surface: export EGLImage as DMABuf if GEM not supported
1148           This code path is used when frames are rendered as textures through
1149           GstVideoGLTextureUploadMeta with EGL, mainly under Wayland.
1150           Originally the EGLImage was exported as GEM, which was handled by
1151           Intel drivers, but Gallium ones cannot create VA surfaces from
1152           GEM buffers, only DMABuf.
1153           This patch checks the memory types supported by VA driver to choose
1154           the render the EGLImages from GEM or DMABuf, because GEM is still
1155           better where supported.
1156           DMABuf is well handled either by intel-vaapi-driver and gallium.
1157           Fixes: #137
1158           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/122>
1159
1160 2020-05-26 16:18:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1161
1162         * gst-libs/gst/vaapi/gstvaapifilter.c:
1163         * gst-libs/gst/vaapi/gstvaapifilter.h:
1164           libs: filter: gst_vaapi_filter_get_memory_types()
1165           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/122>
1166
1167 2020-08-12 18:48:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1168
1169         * gst/vaapi/gstvaapipluginbase.c:
1170         * gst/vaapi/gstvaapipluginbase.h:
1171           plugins: remove gst_vaapi_plugin_base_get_allowed_srcpad_raw_caps()
1172           Since nobody uses it, just remove it.
1173           Thus extract_allowed_surface_formats() is refactored to attend only
1174           gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps().
1175           Now a surface is created when the image chorma is different from the
1176           previous one. And if the driver has the quirk, it outputs all the
1177           supported image formats without trying them.
1178           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/381>
1179
1180 2020-08-12 17:50:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1181
1182         * gst/vaapi/gstvaapidecode.c:
1183           vaapidecode: expose raw src caps with same chroma
1184           The try-and-error approach for getting the possible image formats from
1185           a surface has brought several problems in different drivers, from
1186           crashes to drop in performance.
1187           Instead of that we change the algorithm to determine the possible
1188           image formats based in the surface chroma: only those available image
1189           formats with same chroma are exposed as possible raw caps.
1190           Do this is important to avoid performance degrading in raw sinks
1191           which doesn't handle NV12 but it does YV12 or I420.
1192           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/381>
1193
1194 2020-07-10 17:05:38 +0800  He Junyan <junyan.he@intel.com>
1195
1196         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1197           libs: util: h265: use common parser API to get vaapi profiles.
1198           We can reuse H265 parser's API to recognize the correct profile and
1199           then just need to convert them to VAAPI profiles.
1200           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/356>
1201
1202 2020-08-07 16:41:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1203
1204         * gst-libs/gst/vaapi/meson.build:
1205         * gst/vaapi/meson.build:
1206         * meson.build:
1207           build: update for gl pkg-config file split
1208           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/378>
1209
1210 2020-08-06 12:51:27 +0800  Xu Guangxin <guangxin.xu@intel.com>
1211
1212         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1213           h264dec: mark remaining frames as unreference before exec_picture_refs_modification
1214           8.2.4.2 required this. Some clips will crash if we do not fill the reference list like this.
1215           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/376>
1216
1217 2020-07-31 18:22:46 +0800  He Junyan <junyan.he@intel.com>
1218
1219         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1220         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1221         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1222           libs: encoder: H265: Enable Main 12 profile support.
1223           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/375>
1224
1225 2020-07-31 19:17:39 +0800  He Junyan <junyan.he@intel.com>
1226
1227         * gst-libs/gst/vaapi/video-format.c:
1228           video format: Fix P012_LE's chrome type typo.
1229           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/375>
1230
1231 2020-08-04 21:15:01 +0300  Jordan Petridis <jordan@centricular.com>
1232
1233         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
1234           gstvaapiminiobject.c:   fix clang 10 warnings
1235           the typesystem checks in g_atomic_pointer_compare_and_exchange
1236           seem to trigger some false positives with clang 10
1237           similar to gstreamer!584
1238           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/377>
1239
1240 2020-07-31 11:07:23 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1241
1242         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1243           libs: window: wayland: destroy all wayland buffers during finalize
1244           Some buffers and the associated FrameState state may still be pending at
1245           that point. If the wayland connection is shared, then messages for the
1246           buffer may still arrive. However, the associated event queue is already
1247           deleted. So the result is a crash.
1248           With a private connection the associated memory is leaked instead.
1249           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1250
1251 2020-06-18 20:25:18 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1252
1253         * tests/examples/test-vaapicontext.c:
1254           test: vaapicontext: fix draw callback with multiple videos
1255           The callback is called for both windows. So make sure that
1256           gst_video_overlay_set_render_rectangle() is called for the correct one.
1257           Otherwise, the left video will be randomly moved behind the right video.
1258           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1259
1260 2020-06-19 09:23:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1261
1262         * tests/examples/meson.build:
1263         * tests/examples/test-vaapicontext.c:
1264           test: vaapicontext: support wayland display
1265           On Wayland, The whole gtk window is one Wayland surface. So
1266           gtk_widget_get_window() must be called on the top-level widget.
1267           For any other widget the following gdk_window_ensure_native() may create a
1268           new top-level Wayland surface that is never visible.
1269           As a result, the coordinates passed to
1270           gst_video_overlay_set_render_rectangle() must be relativ to the top-level
1271           window. Otherwise the video is placed incorrectly.
1272           Original-Patch-By: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1273           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1274
1275 2017-12-01 20:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1276
1277         * tests/examples/test-vaapicontext.c:
1278           test: vaapicontext: use playbin to test files
1279           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1280
1281 2017-11-29 11:11:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1282
1283         * tests/examples/test-vaapicontext.c:
1284           test: vaapicontext: add PLAY and NULL buttons
1285           They only appear when only one sink is instanciated and their purpose
1286           is to test the NULL-PLAY use case in context sharing.
1287           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1288
1289 2020-06-19 21:26:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1290
1291         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1292           libs: wayland: update the opaque region in set_render_rect
1293           gst_vaapi_window_wayland_set_render_rect() may be called from an arbitrary
1294           thread. That thread may be responsible for making the window visible.
1295           At that point another thread will block in gst_vaapi_window_wayland_sync()
1296           because the frame callback will not be called until the window is visible.
1297           If that happens, then acquiring the display lock in
1298           gst_vaapi_window_wayland_set_render_rect() would result in a deadlock.
1299           Cache the size of the opaque rectangle separately and create the opaque
1300           region right before applying it to the surface.
1301           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1302
1303 2020-06-19 09:21:16 +0200  Hyunjun Ko <zzoon@igalia.com>
1304
1305         * gst-libs/gst/vaapi/gstvaapiwindow.c:
1306         * gst-libs/gst/vaapi/gstvaapiwindow.h:
1307         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
1308         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1309         * gst/vaapi/gstvaapisink.c:
1310           libs: window: implements gst_vaapi_window_set_render_rectangle
1311           Implements new vmethod gst_vaapi_window_set_render_rectangle,
1312           which is doing set the information of the rendered rectangle set by
1313           user.
1314           This is necessary on wayland at least to get exact information of
1315           external surface.
1316           And vaapisink calls this when gst_video_overlay_set_render_rectangle is
1317           called.
1318           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1319
1320 2017-11-08 13:23:39 +0900  Hyunjun Ko <zzoon@igalia.com>
1321
1322         * gst/vaapi/gstvaapisink.c:
1323           vaapisink: implements gst_vaapisink_wayland_create_window_from_handle()
1324           Implements gst_vaapisink_wayland_create_window_from_handle() to support
1325           using external wl_surface.
1326           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1327
1328 2020-06-19 09:11:20 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1329
1330         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1331         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
1332         * gst-libs/gst/vaapi/gstvaapiwindow.c:
1333         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1334         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
1335           libs: wayland: implement video overlay API
1336           The Wayland sub-surfaces API is used to embed the video into an application
1337           window.
1338           See Appendix A. Wayland Protocol Specification as the following.
1339           """
1340           The aim of sub-surfaces is to offload some of the compositing work
1341           within a window from clients to the compositor. A prime example is
1342           a video player with decorations and video in separate wl_surface
1343           objects.
1344           This should allow the compositor to pass YUV video buffer processing to
1345           dedicated overlay hardware when possible.
1346           """
1347           Added new method gst_vaapi_window_wayland_new_with_surface()
1348           Original-Patch-By: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1349           Zhao Halley <halley.zhao@intel.com>
1350           changzhix.wei@intel.com
1351           Hyunjun Ko <zzoon@igalia.com>
1352           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1353
1354 2020-06-19 21:54:52 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1355
1356         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1357           doc: libs: wayland: add 'transfer full' to the returnvalye of gst_vaapi_window_wayland_new
1358           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1359
1360 2020-06-11 08:25:57 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1361
1362         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1363           libs: display: always call close_display()
1364           All close_display() have their own checks for use_foreign_display and only
1365           destroy locally created objects in that case.
1366           Without this objects other than the actuall foreign display itself are
1367           leaked.
1368           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/342>
1369
1370 2020-07-30 23:37:10 +0800  He Junyan <junyan.he@intel.com>
1371
1372         * gst-libs/gst/vaapi/video-format.h:
1373           video-format: Add the missing P012_LE into GST_VAAPI_FORMATS_ALL.
1374           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/373>
1375
1376 2020-05-25 17:02:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1377
1378         * gst/vaapi/gstvaapidecode.c:
1379         * gst/vaapi/gstvaapipluginutil.c:
1380         * gst/vaapi/gstvaapipluginutil.h:
1381           plugins: add gst_vaapi_caps_set_width_and_height_range()
1382           This utility function is called internally by
1383           gst_vaapi_build_caps_from_formats() and can be used outside.
1384           This function sets frame size and framerates ranges.
1385           Also gst_vaapi_build_caps_from_formats() is simplified.
1386           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/374>
1387
1388 2020-07-31 15:27:38 +0800  He Junyan <junyan.he@intel.com>
1389
1390         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1391           libs: decoder: fix a crash issue when get_surface_formats.
1392           Some context does not report any valid format that we can support.
1393           For example, the HEVC 444 12 bits decoder context, all the formats
1394           it reports is not supported now, which make the formats list a NULL
1395           array. We should check that pointer before we use it.
1396           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/372>
1397
1398 2020-07-03 19:28:28 +0800  He Junyan <junyan.he@intel.com>
1399
1400         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1401           libs: encoder: h265: choose the profile based on allowed list.
1402           We can decide the profile in ensure_profile(), based on allowed list
1403           passed by the encode. We also need to check whether the entrypoint is
1404           available. Once it is decided, no need to check the hw entrypoint
1405           them again.
1406           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1407
1408 2020-07-29 22:05:41 +0800  He Junyan <junyan.he@intel.com>
1409
1410         * gst/vaapi/gstvaapiencode_h265.c:
1411           plugins: encode: h265: set all allowed profiles to encoder.
1412           We should collect all allowed profiles and pass them to the inside
1413           encoder, rather than just calculate the max profile idc.
1414           The allowed profiles should also be supported by the HW.
1415           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1416
1417 2020-07-29 22:32:55 +0800  He Junyan <junyan.he@intel.com>
1418
1419         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1420         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1421           libs: display: Add a helper function to get profiles by codec.
1422           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1423
1424 2020-07-03 01:28:28 +0800  He Junyan <junyan.he@intel.com>
1425
1426         * gst/vaapi/gstvaapiencode_h265.c:
1427           plugins: encode: h265: collect all allowed profiles to encoder.
1428           We should collect all allowed profiles and pass them to the inside
1429           encoder, rather than just calculate the max profile idc.
1430           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1431
1432 2020-07-03 00:53:31 +0800  He Junyan <junyan.he@intel.com>
1433
1434         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1435         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1436         * gst/vaapi/gstvaapiencode_h265.c:
1437           libs: encoder: h265: modify set_max_profile to set_allowed_profiles.
1438           In h265, bigger profile idc may not be compatible with the small profile
1439           idc. And more important, there are multi profiles with the same profile
1440           idc. Such as main-422-10, main-444 and main-444-10, they all have profile
1441           idc 4.
1442           So recording the max profile idc is not enough, the encoder needs to know
1443           all allowed profiles when deciding the real profile.
1444           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1445
1446 2020-07-02 23:33:31 +0800  He Junyan <junyan.he@intel.com>
1447
1448         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1449           libs: encoder: h265: No need to check hw_max_profile.
1450           In h265, higher profile idc number does not mean better compression
1451           performance and may be not compatible with the lower profile idc.
1452           So, it is not suitable to find the heighest idc for hw to ensure the
1453           compatibility.
1454           On the other side, when the entrypoint of the selected profile is valid,
1455           it means the hw really support this profile, no need to check it again.
1456           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/349>
1457
1458 2020-04-08 19:41:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1459
1460         * gst/vaapi/gstvaapipostproc.c:
1461           vaapipostproc: early return if fixate srcpad caps fails
1462           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/371>
1463
1464 2020-07-29 13:39:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1465
1466         * gst/vaapi/gstvaapipluginutil.c:
1467           vaapipluginutil: simplify gst_vaapi_find_preferred_caps_feature()
1468           Generalize the way how the preferred color format is chosen. Also
1469           use new GStreamre API as syntatic sugar.
1470           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/370>
1471
1472 2020-07-29 14:22:18 +0800  He Junyan <junyan.he@intel.com>
1473
1474         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1475         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1476         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1477         * gst/vaapi/gstvaapidecode.c:
1478         * gst/vaapi/gstvaapiencode.c:
1479           libs: profile: Use get_codec_from_caps to get codec type.
1480           There is no need to get a profile from the caps and then convert
1481           that profile into codec type. We can get the codec type by caps's
1482           name easily.
1483           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/358>
1484
1485 2020-07-12 19:42:40 +0800  He Junyan <junyan.he@intel.com>
1486
1487         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1488           libs: profile: h265: Fix return value of from_codec_data_h265.
1489           profile_from_codec_data_h265() returns wrong GstVaapiProfile for h265.
1490           The codec data of caps contain the profile IDC, but the mapping between
1491           profile IDC and GstVaapiProfile is wrong.
1492           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/358>
1493
1494 2020-07-07 00:46:23 +0800  He Junyan <junyan.he@intel.com>
1495
1496         * gst/vaapi/gstvaapiencode_vp9.c:
1497           plugins: encode: vp9: Implement vp9's allowed_profiles() func.
1498           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1499
1500 2020-07-08 16:30:17 +0800  He Junyan <junyan.he@intel.com>
1501
1502         * gst/vaapi/gstvaapiencode_h264.c:
1503         * gst/vaapi/gstvaapiencode_h265.c:
1504         * gst/vaapi/gstvaapipluginutil.c:
1505         * gst/vaapi/gstvaapipluginutil.h:
1506           plugin: util: rename h26x_encoder_get_profiles_from_caps().
1507           Change its name to encoder_get_profiles_from_caps(). Other codecs such
1508           as VP9 also needs to use this function.
1509           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1510
1511 2020-07-06 23:35:12 +0800  He Junyan <junyan.he@intel.com>
1512
1513         * gst-libs/gst/vaapi/gstvaapiutils_vpx.c:
1514         * gst-libs/gst/vaapi/gstvaapiutils_vpx.h:
1515         * gst-libs/gst/vaapi/meson.build:
1516           libs: utils: vpx: Add utils vpx to handle VP8/9 misc things.
1517           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
1518
1519 2020-07-29 10:17:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1520
1521         * gst-libs/gst/vaapi/gstvaapicontext.c:
1522         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1523         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1524           libs: display, context: handle broken jpeg decoder for i965 driver
1525           JPEG decoding in i965 driver is pretty much broken, and the driver is
1526           deprecated which mean authors only accept trivial fixes.
1527           Surfaces for JPEG decoder context in i965 only handle IMC3[1] color
1528           format which is not a common format in GStreamer. It can export it to
1529           I420 at mapping raw bytes, but DMABuf exporting is problematic.
1530           This patch artificially adds NV12 to the context format list when it's
1531           JPEG decoder for i965 and force the usage of old VA-API for surface
1532           creation without specifying color format. Also it artificially
1533           disables the DMABuf announcement.
1534           1. https://docs.microsoft.com/en-us/windows/win32/medfound/recommended-8-bit-yuv-formats-for-video-rendering#420-formats-16-bits-per-pixel
1535           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/369>
1536
1537 2020-07-29 12:02:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1538
1539         * gst-libs/gst/vaapi/gstvaapicontext.c:
1540           libs: context: change function to internal code style
1541           Instead of a getter the function `get_preferred_format()` to
1542           `ensure_preferred_format()` which aligns to the code style.
1543           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/369>
1544
1545 2020-07-28 20:00:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1546
1547         * gst/vaapi/gstvaapidecode.c:
1548           vaapidecode: always merge profile caps in sink caps
1549           This commit fixes a regression of e962069d, where if the profile's
1550           caps doesn't have a caps profile, it's ignored.
1551           This patch add a conditional jump if the caps doesn't have a profile
1552           field to merge it.
1553           Fixes: #271
1554           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/368>
1555
1556 2020-07-28 12:22:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1557
1558         * meson.build:
1559           build: request libdrm >= 2.4.98 and fallback
1560           Fixes: #270
1561           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/367>
1562
1563 2020-05-18 17:32:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1564
1565         * gst/vaapi/gstvaapidecode.c:
1566           vaapidecode: dma caps only use reported color format
1567           This fix pipelines without vaapipostproc after vaapi decoder, such as
1568           gst-launch-1.0 filesrc location=~/file.mp4 ! parsebin ! vaapih264dec ! glimagesink
1569           On EGL platforms, so DMABuf is used.
1570           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1571
1572 2020-02-07 17:10:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1573
1574         * gst/vaapi/gstvaapidecode.c:
1575           vaapidecode: use allowed srcpad caps for caps query
1576           Instead of using just the template caps use the current allowed
1577           srcpad caps, which is created considering the current decoder
1578           context.
1579           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1580
1581 2020-01-22 17:41:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1582
1583         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1584         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1585         * gst/vaapi/gstvaapidecode.c:
1586           vaapidecode: build allowed srcpad caps from va context
1587           Instead of generating allowed srcpad caps with generic information,
1588           now it takes the size an formats limits from the decoder's context.
1589           This is possible since srcpad caps are generated after the internal
1590           decoder is created.
1591           The patch replaces gst_vaapi_decoder_get_surface_formats() with
1592           gst_vaapi_decoder_get_suface_attributes().
1593           From these attributes, formats are only used for VASurface memory
1594           caps feature. For system memory caps feature, the old
1595           gst_vaapi_plugin_get_allowed_srcpad_caps() is still used, since
1596           i965 jpeg decoder cannot deliver mappable format for gstreamer.
1597           And for the other caps features (dmabuf and texture upload) the
1598           same static list are used.
1599           This patch also adds DMABuf caps feature only if the context
1600           supports that memory type. Nonetheless, we keep the pre-defined
1601           formats since they are the subset of common derive formats formats
1602           supported either by amd/gallium and both intel drivers, since,
1603           when exporting the fd through vaAcquireBufferHandle()/
1604           vaReleaseBufferHandle(), the formats of the derivable image cannot
1605           be retriebable from the driver. Later we'll use the attribute
1606           formats for the DMABuf feature too, when the code be ported to
1607           vaExportSurfaceHandle().
1608           Finally, the allowed srcpad caps are removed if the internal decoder
1609           is destroyed, since context attribues will change.
1610           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1611
1612 2020-02-07 16:50:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1613
1614         * gst/vaapi/gstvaapidecode.c:
1615           vaapidecode: reorder src caps template
1616           Since negotiation depends on caps order, first is VA, then DMABuf,
1617           later GLUploadTexture (deprecated) and finally raw.
1618           Also, for decoders, the possible available color formats for DMABuf
1619           is extended to all the possible VA color formats.
1620           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/366>
1621
1622 2020-07-22 10:01:41 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1623
1624         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1625           libs: window: wayland: use dmabuf protocol if available
1626           Currently vaGetSurfaceBufferWl() is used to create wayland buffers.
1627           Unfortunately this is not implemented by the 'media-driver' and Mesa VA-API
1628           drivers. And the implementation provided by 'intel-vaapi-driver' is not
1629           compatible with a Wayland server that uses the iris Mesa driver.
1630           So create the Wayland buffers manually with the zwp_linux_dmabuf_v1 wayland
1631           protocol. Formats and modifiers supported by the Wayland server are taken
1632           into account. If necessary, VPP is enabled to convert the buffer into a
1633           supported format.
1634           Fall back to vaGetSurfaceBufferWl() if creating buffers via dambuf protocol
1635           fails.
1636           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1637
1638 2020-07-21 10:03:19 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1639
1640         * gst-libs/gst/vaapi/gstvaapiwindow.c:
1641         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
1642           libs: window: allow choosing the format for the vpp pool
1643           Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
1644           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1645
1646 2020-06-28 17:42:29 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1647
1648         * gst-libs/gst/vaapi/video-format.c:
1649         * gst-libs/gst/vaapi/video-format.h:
1650           video-format: add DRM formats to the mapping table
1651           This will be needed for the DMABuf protocol support to map DRM formats to
1652           vaapi and gstreamer formats.
1653           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1654
1655 2020-07-22 09:36:18 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1656
1657         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1658         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
1659         * gst-libs/gst/vaapi/meson.build:
1660           libs: display: wayland: add basic dmabuf protocol support
1661           This is just the basic infrastructure. Hook up the interface and collect
1662           all supported formats.
1663           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1664
1665 2020-07-06 09:59:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1666
1667         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1668           libs: window: wayland: wait for configure before committing the first buffer
1669           Committing the first buffer for a surface must not be done before
1670           ack_configure() has been sent for the xdg_surface.
1671           With weston, the commit will fail with "error 3: xdg_surface has never been
1672           configured".
1673           Wait in gst_vaapi_window_wayland_show() until configure is done to avoid
1674           this.
1675           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/346>
1676
1677 2020-07-01 14:50:51 +0800  He Junyan <junyan.he@hotmail.com>
1678
1679         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1680           libs: encoder: h265: set no P frame automatically.
1681           The double reference lists may be required by drivers and there should
1682           be no P frames in the of stream. The old way of converting P frames to
1683           B frames is by setting `low-delay-b` property, which is unconvenient
1684           and has bad user experience, since most of the users do not know when
1685           to set this property, and if it is not set correctly, the encoding
1686           pipeline fails or even hangs on some platforms. VA driver now provides
1687           a attribute to query whether both reference lists must be un-NULL for
1688           a profile/entrypoint pair.
1689           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/284>
1690
1691 2020-04-15 16:26:55 +0800  He Junyan <junyan.he@hotmail.com>
1692
1693         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1694           libs: encoder: h265: Deprecate the low-delay-b property.
1695           In HEVC, P and B definitions are different from AVC: P frames have
1696           just one reference list and so 1 MV, while B frames have two reference
1697           lists and so 2 MVs. No matter B or P, ist reference lists can contain
1698           forward/backward reference. So P and B can both have bi-directions
1699           dependency, the difference is just their reference list
1700           number (i.e. MV number). This is different from the AVC.
1701           The *low delay b mode* refers to a special HEVC mode, in which the
1702           stream just contain I and B frames, without P frames, and all B frames
1703           only have forward direction dependencies (i.e. all inter frames have 2
1704           reference lists but no backward reference in both lists).  This is
1705           similar to AVC I/P mode, but changing the P to the forward dependent
1706           B.
1707           The `low-delay-b` property is now just used to simply convert all P
1708           frames to B frames when driver does not support P frames (so both
1709           reference lists have the same references frames). This is a little
1710           different from the meaning of low delay b mode (the two ref lists may
1711           have the different reference frames). And the driver now can report
1712           whether it supports P frames correctly, so there is no need to use
1713           this property and deprecate it.
1714           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/284>
1715
1716 2020-07-24 12:54:31 +0200  Marc Leeman <m.leeman@televic.com>
1717
1718         * gst/vaapi/gstvaapipostproc.c:
1719           postproc: reconfigure after changing cropping values
1720           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/365>
1721
1722 2020-07-09 13:49:29 +0800  He Junyan <junyan.he@intel.com>
1723
1724         * gst/vaapi/gstvaapiencode.h:
1725         * gst/vaapi/gstvaapiencode_h264.c:
1726         * gst/vaapi/gstvaapiencode_h265.c:
1727         * gst/vaapi/gstvaapiencode_jpeg.c:
1728         * gst/vaapi/gstvaapiencode_mpeg2.c:
1729         * gst/vaapi/gstvaapiencode_vp8.c:
1730         * gst/vaapi/gstvaapiencode_vp9.c:
1731           plugin: encode: Add static caps for template documentation.
1732           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1733
1734 2020-07-08 19:03:14 +0800  He Junyan <junyan.he@intel.com>
1735
1736         * gst/vaapi/gstvaapiencode_vp9.c:
1737           plugin: encode: vp9: Use the dynamically built src template caps.
1738           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1739
1740 2020-07-08 19:02:45 +0800  He Junyan <junyan.he@intel.com>
1741
1742         * gst/vaapi/gstvaapiencode_vp8.c:
1743           plugin: encode: vp8: Use the dynamically built src template caps.
1744           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1745
1746 2020-07-08 19:02:23 +0800  He Junyan <junyan.he@intel.com>
1747
1748         * gst/vaapi/gstvaapiencode_jpeg.c:
1749           plugin: encode: jpeg: Use the dynamically built src template caps.
1750           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1751
1752 2020-07-08 19:00:39 +0800  He Junyan <junyan.he@intel.com>
1753
1754         * gst/vaapi/gstvaapiencode_mpeg2.c:
1755           plugin: encode: mpeg2: Use the dynamically built src template caps.
1756           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1757
1758 2020-07-08 18:59:18 +0800  He Junyan <junyan.he@intel.com>
1759
1760         * gst/vaapi/gstvaapiencode_h265.c:
1761           plugin: encode: h265: Use the dynamically built src template caps.
1762           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1763
1764 2020-07-08 18:57:26 +0800  He Junyan <junyan.he@intel.com>
1765
1766         * gst/vaapi/gstvaapiencode_h264.c:
1767           plugin: encode: h264: Use the dynamically built src template caps.
1768           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1769
1770 2020-07-08 18:46:58 +0800  He Junyan <junyan.he@intel.com>
1771
1772         * gst/vaapi/gstvaapiencode.h:
1773         * gst/vaapi/gstvaapiencode_h264.c:
1774         * gst/vaapi/gstvaapiencode_h265.c:
1775         * gst/vaapi/gstvaapiencode_jpeg.c:
1776         * gst/vaapi/gstvaapiencode_mpeg2.c:
1777         * gst/vaapi/gstvaapiencode_vp8.c:
1778         * gst/vaapi/gstvaapiencode_vp9.c:
1779           plugin: encode: Store the coded caps in type's init data.
1780           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1781
1782 2020-07-08 18:30:00 +0800  He Junyan <junyan.he@intel.com>
1783
1784         * gst/vaapi/gstvaapipluginutil.c:
1785         * gst/vaapi/gstvaapipluginutil.h:
1786           plugin: util: add helper function build_template_coded_caps_by_codec()
1787           Like build_template_raw_caps_by_codec(), this function can detect and
1788           build the caps for specified codec based on the query of the profiles.
1789           The result is coded caps such as video/x-h265, video/x-h264. The result
1790           can be used as the template of encode's src or decode's sink.
1791           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1792
1793 2020-07-07 17:16:41 +0800  He Junyan <junyan.he@intel.com>
1794
1795         * gst/vaapi/gstvaapiencode.h:
1796         * gst/vaapi/gstvaapipluginutil.c:
1797         * gst/vaapi/gstvaapipluginutil.h:
1798           plugins: utils: rename build_template_caps_by_codec.
1799           Rename the function build_template_caps_by_codec() to the name of
1800           build_template_raw_caps_by_codec(). It can be used to collect all
1801           raw video formats for encode's sink and decode's src.
1802           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/354>
1803
1804 2020-07-21 20:14:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1805
1806         * gst/vaapi/gstvaapidecode.c:
1807         * gst/vaapi/gstvaapipluginutil.c:
1808         * gst/vaapi/gstvaapipluginutil.h:
1809           vaapidecode: merge common profiles before setting size range
1810           The synthetic profiles, such as H264 baseline, H265 intra, etc. are
1811           added at the end of processing all available VA profiles. This
1812           generated an non-optimal caps for negotiation, since the synthetic
1813           profiles don't have frame size ranges.
1814           This patch adds those possible synthetic profiles when the associated
1815           profile is processed, with its frame size ranges.
1816           Now allowed sink caps are simpler.
1817           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/363>
1818
1819 2020-07-21 22:05:08 +0800  He Junyan <junyan.he@intel.com>
1820
1821         * gst/vaapi/gstvaapipluginutil.c:
1822           plugin: util: Add the missing DMA buffer input in template caps.
1823           We pass the wrong parameter to gst_vaapi_build_caps_from_formats()
1824           and lose the DMA feature in caps.
1825           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/362>
1826
1827 2020-07-14 18:13:56 +0800  He Junyan <junyan.he@intel.com>
1828
1829         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1830         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1831         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1832         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1833         * gst-libs/gst/vaapi/video-format.c:
1834         * gst/vaapi/gstvaapidecode.c:
1835           libs: decoder: H265: Add MAIN_12 profile supporting.
1836           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/359>
1837
1838 2020-07-09 23:07:38 +0800  He Junyan <junyan.he@intel.com>
1839
1840         * gst-libs/gst/vaapi/gstvaapiimage.c:
1841         * gst-libs/gst/vaapi/video-format.c:
1842           video-format: Add P012_LE format.
1843           It can be used as HEVC YUV_4:2:0 12bits stream's decoder output, and
1844           also can be used as the input format for encoding HEVC YUV_4:2:0 12bits
1845           stream.
1846           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/359>
1847
1848 2020-07-17 00:45:53 +0800  He Junyan <junyan.he@intel.com>
1849
1850         * gst/vaapi/gstvaapidecode.c:
1851           plugin: decode: correct ensure_allowed_sinkpad_caps's caps.
1852           The decode allowed caps returned by ensure_allowed_sinkpad_caps()
1853           contains all profiles of the whole VAAPI, like:
1854           image/jpeg, width=(int)[ 0, 1638 4 ], height=(int)[ 0, 16384 ];
1855           video/mpeg, mpegversion=(int)2, profile=(string){ simple, main },
1856           width=(int)[ 0, 2048 ], height=(int)[ 0, 2048 ]; video/x-h264,
1857           profile=(string){ main, high, constrained-baseline }, width=(int)[ 0,
1858           4096 ], height=(int)[ 0, 4096 ]; video/x-h264, profile=(string){
1859           constrained-high, progressive-high, baseline }; video/x-h265,
1860           profile=(string){ main, main-intra }, width=(int)[ 0, 8192 ],
1861           height=(int)[ 0, 8192 ]; video/x-vp8, width=(int)[ 0, 4096 ],
1862           height=(int)[ 0, 4096 ]; video/x-wmv, wmvversion=(int)3,
1863           format=(string)WVC1, profile=(string)advanced, width=(int)[ 0, 3840 ],
1864           height=(int)[ 0, 3840 ]; video/x-wmv, wmvversion=(int)3,
1865           profile=(string){ simple, main }, width=(int)[ 0, 3840 ],
1866           height=(int)[ 0, 3840 ]
1867           Which is verbose and may have latent problems. It should only contains
1868           the profiles belong to its codec type. For example, h265 should only
1869           return:
1870           video/x-h265, profile=(string){ main, main-intra },
1871           width=(int)[ 0, 8192 ], height=(int)[ 0, 8192 ]
1872           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/361>
1873
1874 2020-07-13 11:06:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1875
1876         * gst/vaapi/gstvaapidecodebin.c:
1877           vaapidecodebin: don't force NV12 since P010_10LE is now possible
1878           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/360>
1879
1880 2020-07-12 20:34:31 +0800  He Junyan <junyan.he@intel.com>
1881
1882         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1883           libs: profile: The VP9 profiles' name should be just "0,1,2,3"
1884           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/357>
1885
1886 2020-07-08 17:33:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1887
1888         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1889         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1890         * gst/vaapi/gstvaapidecode.c:
1891         * gst/vaapi/gstvaapidecode.h:
1892         * tests/internal/simple-decoder.c:
1893           vaapidecode: Remove NO_SURFACE error handling
1894           Since surfaces are not bounded to decoding context it makes no sense
1895           to keep the surface semaphore. This patch removes the handling of
1896           this error.
1897           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1898
1899 2020-07-08 17:48:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1900
1901         * gst/vaapi/gstvaapidecode.c:
1902         * gst/vaapi/gstvaapidecode.h:
1903           Revert "vaapidecode: drop non-keyframe in reverse playback"
1904           Since the number of surfaces are not bounded to decoder context,
1905           this hack is no longer needed.
1906           This reverts commit 19c0c8a97385ce119440c4aad2d689fc79297435.
1907           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1908
1909 2019-12-06 14:21:33 +0800  He Junyan <junyan.he@hotmail.com>
1910
1911         * gst-libs/gst/vaapi/gstvaapicontext.c:
1912           libs: decoder: context: remove surfaces binding from context.
1913           The vaCreateContext do not need to specify the surfaces for the
1914           context creation now. So we do not need to bind any surface to the
1915           context anymore. Surfaces should be the resource belong to display
1916           and just be used in encoder/decoder context.
1917           The previous manner has big limitation for decoder. The context's
1918           surface number is decided by dpb size. All the surfaces in dpb will
1919           be attached to a gstbuffer and be pushed to down stream, and the
1920           decoder need to wait down stream free the surface and go on if not
1921           enough surface available. For more and more use cases, this causes
1922           deadlock. For example,
1923           gst-launch-1.0 filesrc location=a.h264 ! h264parse ! vaapih264dec
1924           ! x264enc ! filesink location=./output.h264
1925           will cause deadlock and make the whole pipeline hang.
1926           the x264enc encoder need to cache more than dpb size surfaces.
1927           The best solution is seperating the surfaces number and the dpb size.
1928           dpb and dpb size shoule be virtual concepts maintained by the decoder.
1929           And let the surfaces_pool in context maintain the re-use of all surfaces.
1930           For encoder, the situation is better, all the surfaces are just used
1931           as reference frame and no need to be pushed to down stream. We can
1932           just reserve and set the capacity of the surfaces_pool to meet the
1933           request.
1934           Fix: #147
1935           Fix: #88
1936           Co-Author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1937           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/353>
1938
1939 2020-07-08 17:50:51 +0100  Tim-Philipp Müller <tim@centricular.com>
1940
1941         * meson.build:
1942         * scripts/extract-release-date-from-doap-file.py:
1943           meson: set release date from .doap file for releases
1944           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/355>
1945
1946 2020-07-08 11:57:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1947
1948         * gst/vaapi/gstvaapipluginbase.c:
1949           plugins: use VA allocator by default on raw caps
1950           Instead of using dmabuf allocator in source pad, when raw video caps
1951           are negotiated, it uses VA allocator as before, since it is stable
1952           in more use cases, for example transcoding, and more backend drivers.
1953           Dmabuf allocator is only used when dmabuf caps feature is negotiated.
1954           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/352>
1955
1956 2020-06-06 18:47:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1957
1958         * gst/vaapi/gstvaapi.c:
1959           vaapisink: rank it as secondary
1960           iHD doesn't provide a full implemention for rendering surfaces and
1961           i965 has problems in wayland. And I suspect this path is followed
1962           by other driver implementations.
1963           This patch demotes the rank of vaapisink to secondary, so it will
1964           not be autoplugged avoiding bad experience of users.
1965           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/336>
1966
1967 2020-06-19 10:44:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1968
1969         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1970         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1971           libs: decoder: h264, h265: in context at least 16 reference surfaces
1972           Registering only stream's DBP size number of surfaces for decoding VA
1973           surfaces brings issues for certain streams. This change register all
1974           possible number of reference surfaces in a stream, which is 16.
1975           Fixes: #94
1976
1977 2020-07-04 21:21:57 +0800  He Junyan <junyan.he@intel.com>
1978
1979         * gst/vaapi/gstvaapiencode_h265.c:
1980           plugins: encode: h265: Add profile,level,tier to output caps.
1981           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1982
1983 2020-07-04 21:08:20 +0800  He Junyan <junyan.he@intel.com>
1984
1985         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1986           libs: encoder: h265: init tier to GST_VAAPI_TIER_H265_UNKNOWN.
1987           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1988
1989 2020-07-04 21:05:49 +0800  He Junyan <junyan.he@intel.com>
1990
1991         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1992           libs: encoder: h265: fix a bug to get get_profile_tier_level.
1993           0 is a valid value for h265 tier.
1994           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/350>
1995
1996 2020-07-02 19:19:35 +0800  He Junyan <junyan.he@intel.com>
1997
1998         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1999           libs: encoder: h265: no need to check the high compression tune.
2000           The h265 encoder just support tune mode:
2001           (0): none             - None
2002           (3): low-power        - Low power mode
2003           So, no need to check and set the high compression parameters.
2004           And by the way, the current ensure_tuning_high_compression manner
2005           of choosing the hightest profile idc as the best compression profile
2006           is not correct. Unlike h264, in h265 the higher profile idc number
2007           does not mean it has more compression tools, and so it has better
2008           compression performance. It may even be un-compatible with the lower
2009           profile idc. For example, the SCREEN_CONTENT_CODING profile with idc
2010           9 is not compatible with 3D_MAIN profile with idc 8.
2011           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/348>
2012
2013 2020-07-03 02:04:14 +0100  Tim-Philipp Müller <tim@centricular.com>
2014
2015         * meson.build:
2016           Back to development
2017
2018 === release 1.17.2 ===
2019
2020 2020-07-03 00:36:40 +0100  Tim-Philipp Müller <tim@centricular.com>
2021
2022         * ChangeLog:
2023         * NEWS:
2024         * RELEASE:
2025         * gstreamer-vaapi.doap:
2026         * meson.build:
2027           Release 1.17.2
2028
2029 2020-06-23 10:20:46 -0400  Thibault Saunier <tsaunier@igalia.com>
2030
2031         * docs/gst_plugins_cache.json:
2032         * gst/vaapi/gstvaapiencode.c:
2033           docs: Mark parent classes as plugin API
2034
2035 2020-06-23 00:07:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
2036
2037         * docs/meson.build:
2038           meson: mark plugins cache target as always stale
2039
2040 2020-06-19 23:34:11 -0400  Thibault Saunier <tsaunier@igalia.com>
2041
2042         * docs/gst_plugins_cache.json:
2043           doc: Stop documenting properties from parents
2044
2045 2020-06-20 00:28:35 +0100  Tim-Philipp Müller <tim@centricular.com>
2046
2047         * meson.build:
2048           Back to development
2049
2050 === release 1.17.1 ===
2051
2052 2020-06-19 19:27:11 +0100  Tim-Philipp Müller <tim@centricular.com>
2053
2054         * ChangeLog:
2055         * NEWS:
2056         * RELEASE:
2057         * gstreamer-vaapi.doap:
2058         * meson.build:
2059           Release 1.17.1
2060
2061 2020-06-19 15:21:56 +0100  Tim-Philipp Müller <tim@centricular.com>
2062
2063         * docs/gst_plugins_cache.json:
2064         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2065         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2066         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2067         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2068           Update plugin docs and add more plugins
2069           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/344>
2070
2071 2020-06-11 08:32:05 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
2072
2073         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
2074           libs: wayland: display: only handle the first output
2075           Right now, all outputs are handled. The means that the registry object for
2076           all but the last are leaked. As a result the sizes are not used correctly.
2077           With two outputs, at first the mode and physical size of the second output
2078           are used. If the first output changes the mode, then the physical size of
2079           the second output is used in combination with the resolution of the first
2080           output. The resulting pixel aspect ratio is incorrect.
2081           There seems to be no way to determine on which output the window is shown,
2082           so just use the first one to get consistent results.
2083           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/341>
2084
2085 2020-06-11 18:15:17 +0800  He Junyan <junyan.he@hotmail.com>
2086
2087         * gst/vaapi/gstvaapipluginbase.c:
2088           plugins: pluginbase: Do not destroy display when _close()
2089           When the element's state changes to NULL, it can still receive
2090           queries, such as the image formats. The display is needed in such
2091           queries but not well protected for MT safe.
2092           For example, ensure_allowed_raw_caps() may still use the display
2093           while it is disposed by gst_vaapi_plugin_base_close() because of
2094           the state change.
2095           We can keep the display until the element is destroyed. When the
2096           state changes to NULL, and then changes to PAUSED again, the display
2097           can be correctly set(if type changes), or leave untouched.
2098           Fix: #260
2099           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/343>
2100
2101 2020-06-09 21:19:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2102
2103         * gst-libs/gst/vaapi/gstvaapicontext.c:
2104           libs: context: use correct printing modifier
2105           GstVaapiID is an alias of gsize, thus its modifier is platform
2106           dependant.
2107           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/340>
2108
2109 2020-06-06 00:42:46 +0200  Mathieu Duponchelle <mathieu@centricular.com>
2110
2111         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2112         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2113         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2114         * gst-libs/gst/vaapi/gstvaapifilter.c:
2115         * gst-libs/gst/vaapi/gstvaapivalue.c:
2116           plugins: uddate gst_type_mark_as_plugin_api() calls
2117
2118 2020-03-05 18:12:27 +0800  He Junyan <junyan.he@hotmail.com>
2119
2120         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2121           libs: encoder: h265: Enable tile in VA command.
2122           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2123
2124 2020-03-05 17:56:51 +0800  He Junyan <junyan.he@hotmail.com>
2125
2126         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2127           libs: encoder: h265: Add ensure_tile to calculate tiles.
2128           We need consider tiles and slices together, separate tiles uniformly
2129           and then assign slices uniformly to each tiles.
2130           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2131
2132 2020-04-30 14:19:29 +0800  He Junyan <junyan.he@hotmail.com>
2133
2134         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2135         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2136           libs: display: add a quirk for iHD driver tile encoding.
2137           The iHD driver has a requirement that one slice can not span tiles
2138           when tile is enabled, which is not required by hevc spec.
2139           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2140
2141 2020-03-05 17:40:43 +0800  He Junyan <junyan.he@hotmail.com>
2142
2143         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2144           libs: encoder: h265: Add tile info to bitstream.
2145           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2146
2147 2020-03-05 17:29:41 +0800  He Junyan <junyan.he@hotmail.com>
2148
2149         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2150           libs: encoder: h265: promote level if tile is enabled.
2151           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2152
2153 2020-03-05 17:07:28 +0800  He Junyan <junyan.he@hotmail.com>
2154
2155         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2156         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
2157           libs: encoder: h265: Add num-tile-cols/rows properties.
2158           These properties are used for support of tile encoding. We just
2159           support uniform mode of tile encoding, that is, separating picture
2160           equally by (num-tile-cols X num-tile-rows).
2161           According to HEVC spec A1, the max number of tiles in column is 20
2162           and in rows is 22, so add two constant definitions.
2163           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2164
2165 2020-03-05 16:21:24 +0800  He Junyan <junyan.he@hotmail.com>
2166
2167         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2168           libs: encoder: h265: extract slice creation from add_slice_headers
2169           extract slice creation details from add_slice_headers, and let the
2170           add_slice_headers just focuses on calculating slice start address
2171           and CTU number.
2172           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2173
2174 2020-03-05 12:44:45 +0800  He Junyan <junyan.he@hotmail.com>
2175
2176         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2177         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2178           libs: encoder: Add a helper function to check the tile support.
2179           Encoding by tiles separation now is a very common feature for all
2180           relative new codecs, such as HEVC, AV1, and VP9. Just make this
2181           check as a common helper function of the encoder base class.
2182           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2183
2184 2020-05-13 18:02:07 +0800  He Junyan <junyan.he@hotmail.com>
2185
2186         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2187         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2188         * gst-libs/gst/vaapi/gstvaapiprofile.h:
2189         * gst-libs/gst/vaapi/gstvaapiutils.c:
2190         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2191           libs: decoder: H265: Add SCC_MAIN_444_10 profile support.
2192           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2193
2194 2020-05-13 16:05:59 +0800  He Junyan <junyan.he@hotmail.com>
2195
2196         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2197           libs: decoder: update reference list for SCC.
2198           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2199
2200 2020-05-13 15:46:29 +0800  He Junyan <junyan.he@hotmail.com>
2201
2202         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2203           libs: decoder: H265: Fill picture and slice SCC parameters.
2204           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2205
2206 2020-05-13 15:00:53 +0800  He Junyan <junyan.he@hotmail.com>
2207
2208         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2209           libs: util: H265: recognize the SCC profiles.
2210           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2211
2212 2020-05-13 14:53:46 +0800  He Junyan <junyan.he@hotmail.com>
2213
2214         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2215         * gst-libs/gst/vaapi/gstvaapiprofile.h:
2216         * gst-libs/gst/vaapi/gstvaapiutils.c:
2217           libs: profile: Add screen extended main/main10/main444 define.
2218           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2219
2220 2020-04-03 14:53:40 +0800  He Junyan <junyan.he@hotmail.com>
2221
2222         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2223         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2224         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2225         * gst/vaapi/gstvaapiencode_h265.c:
2226           libs: encoder: h265: Add support for MAIN 4:2:2 10 profile.
2227           Using YUY2 as the input of the encoder can generate main 4:2:2 bit
2228           streams and using Y210 as the input of the encoder can generate main
2229           4:2:2 10 bit streams.
2230           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
2231
2232 2020-05-29 16:40:20 +0800  He Junyan <junyan.he@hotmail.com>
2233
2234         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2235           libs: encoder: h265: Use correct index for SubWidthC and SubHeightC.
2236           We need to use the chroma_format_idc as the index for getting the
2237           SubWidthC and SubHeightC values as the spec 6.1(table 6-1) defines.
2238           The wrong SubWidthC or SubHeightC make us calculate a wrong right
2239           or bottom offset for crop size and generate garbage in output.
2240           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
2241
2242 2020-05-29 15:37:24 +0800  He Junyan <junyan.he@hotmail.com>
2243
2244         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2245           libs: encoder: h265: Fix chrome idc for 444 10 bits
2246           GST_VAAPI_CHROMA_TYPE_YUV444_10BPP should also set chroma_format_idc
2247           to 3 as GST_VAAPI_CHROMA_TYPE_YUV444 does.
2248           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
2249
2250 2020-06-03 18:37:22 -0400  Thibault Saunier <tsaunier@igalia.com>
2251
2252         * docs/meson.build:
2253           doc: Require hotdoc >= 0.11.0
2254
2255 2020-06-03 18:49:53 -0400  Thibault Saunier <tsaunier@igalia.com>
2256
2257         * gst/vaapi/gstvaapipostproc.c:
2258           doc: Fix wrong link to GstVideoDirectionMethod
2259
2260 2020-06-03 17:38:10 -0400  Thibault Saunier <tsaunier@igalia.com>
2261
2262         * docs/gst_plugins_cache.json:
2263         * meson_options.txt:
2264           docs: Update plugin cache with the new format
2265           And fix the default URL which should not be inside quotes.
2266
2267 2020-06-03 17:37:48 -0400  Thibault Saunier <tsaunier@igalia.com>
2268
2269         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2270         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2271         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2272         * gst-libs/gst/vaapi/gstvaapifilter.c:
2273         * gst-libs/gst/vaapi/gstvaapivalue.c:
2274         * gst/vaapi/gstvaapipostproc.c:
2275           Use gst_type_mark_as_plugin_api() for all non-element plugin types
2276
2277 2020-05-23 22:09:17 +0800  He Junyan <junyan.he@hotmail.com>
2278
2279         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2280         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
2281         * gst-libs/gst/vaapi/gstvaapicontext.h:
2282         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2283         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2284         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
2285         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
2286         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
2287         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
2288         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
2289         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
2290         * gst-libs/gst/vaapi/gstvaapiimage.h:
2291         * gst-libs/gst/vaapi/gstvaapiobject.c:
2292         * gst-libs/gst/vaapi/gstvaapiobject.h:
2293         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
2294         * gst-libs/gst/vaapi/gstvaapiprofile.h:
2295         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
2296         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
2297         * gst-libs/gst/vaapi/gstvaapisurface.h:
2298         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
2299         * gst-libs/gst/vaapi/gstvaapivideopool.c:
2300         * gst-libs/gst/vaapi/meson.build:
2301           libs: delete all gstvaapiobject related files.
2302           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
2303
2304 2020-05-23 20:48:54 +0800  He Junyan <junyan.he@hotmail.com>
2305
2306         * gst-libs/gst/vaapi/gstvaapisurface.c:
2307           libs: surface: return fail immediately if can not create subpicture
2308           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
2309
2310 2020-05-23 14:00:58 +0800  He Junyan <junyan.he@hotmail.com>
2311
2312         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
2313         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
2314         * gst-libs/gst/vaapi/gstvaapisurface.c:
2315         * tests/internal/image.c:
2316           libs: subpicture: Make subpicture a standard GstMiniObject.
2317           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
2318
2319 2020-05-26 02:19:15 +0800  He Junyan <junyan.he@hotmail.com>
2320
2321         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2322           libs: decoder: h264: Add ref flags for splited field.
2323           When split one frame into fields, the second field should also
2324           copy the reference flags.
2325           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/333>
2326
2327 2020-05-25 15:46:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2328
2329         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2330           libs: decoder: h264: disallow multiple slice group
2331           As far as we know there are no VAAPI drivers supporting FMO, which
2332           migth be used in baseline streams.
2333           This commit is a continuation of
2334           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328
2335           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/332>
2336
2337 2020-05-20 10:50:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2338
2339         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2340         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2341         * gst/vaapi/gstvaapidecode.c:
2342         * gst/vaapi/gstvaapidecode_props.c:
2343         * gst/vaapi/gstvaapidecode_props.h:
2344           vaapidecoder: h264: remove baseline as constrained property
2345           From now on always the baseline is going to be treated as constrained without
2346           need of setting a property.
2347           Since the property was added along the development cycle (1.17 / commit
2348           866a9f06) and never released, we assume that it is safe to remove it.
2349           Fixes: #252
2350           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328>
2351
2352 2020-05-21 11:37:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2353
2354         * README:
2355           README: update VP9 decoder and encoder
2356           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/330>
2357
2358 2020-05-21 13:42:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
2359
2360         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2361           vaapiencoder_h264: set direct_spatial_mv_pred_flag to true by default
2362           This flag is set to true by default in both MediaSDK and FFmpeg-vaapi,
2363           so let's align this plugin with other libraries / softwares.
2364           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/329>
2365
2366 2020-05-18 18:29:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2367
2368         * gst/vaapi/gstvaapivideobufferpool.c:
2369           vaapivideobufferpool: fix meta overwrite
2370           commit 7ac2a207 added a regression by erroneously assumed that
2371           GstVaapiVideoMeta is actually a GstMeta, which is not.
2372           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/327>
2373
2374 2020-05-17 09:55:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2375
2376         * gst/vaapi/gstvaapivideobufferpool.c:
2377         * gst/vaapi/gstvaapivideometa_texture.c:
2378         * gst/vaapi/gstvaapivideometa_texture.h:
2379           vaapivideopool: Set pooled flag to added metas.
2380           So this could hint filters how to use these metas.
2381           Had to change the return value for texutre upload meta in order
2382           to flag it.
2383           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/326>
2384
2385 2020-05-16 20:49:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2386
2387         * gst-libs/gst/vaapi/gstvaapicontext.c:
2388         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2389         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2390         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
2391         * gst-libs/gst/vaapi/gstvaapisurface.c:
2392           libs: use array_unref() rather than array_free()
2393           It is more convinience and thread-safe.
2394           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/325>
2395
2396 2020-04-10 22:20:35 +0800  He Junyan <junyan.he@hotmail.com>
2397
2398         * gst/vaapi/gstvaapi.c:
2399           plugin: use register_type to replace get_type for encode init.
2400           xxx_register_type will detect the template sink caps and is needed
2401           to be called at init time.
2402           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2403
2404 2020-04-10 22:05:50 +0800  He Junyan <junyan.he@hotmail.com>
2405
2406         * gst/vaapi/gstvaapiencode_vp9.c:
2407         * gst/vaapi/gstvaapiencode_vp9.h:
2408           plugins: encode: Modify sink template of vp9 encode.
2409           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2410           Also implement gst_vaapiencode_vp9_register_type, which should be
2411           called at plugin register time.
2412           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2413
2414 2020-04-10 22:05:18 +0800  He Junyan <junyan.he@hotmail.com>
2415
2416         * gst/vaapi/gstvaapiencode_vp8.c:
2417         * gst/vaapi/gstvaapiencode_vp8.h:
2418           plugins: encode: Modify sink template of vp8 encode.
2419           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2420           Also implement gst_vaapiencode_vp8_register_type, which should be
2421           called at plugin register time.
2422           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2423
2424 2020-04-10 22:04:34 +0800  He Junyan <junyan.he@hotmail.com>
2425
2426         * gst/vaapi/gstvaapiencode_mpeg2.c:
2427         * gst/vaapi/gstvaapiencode_mpeg2.h:
2428           plugins: encode: Modify sink template of mpeg2 encode.
2429           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2430           Also implement gst_vaapiencode_mpeg2_register_type, which should be
2431           called at plugin register time.
2432           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2433
2434 2020-04-10 22:03:49 +0800  He Junyan <junyan.he@hotmail.com>
2435
2436         * gst/vaapi/gstvaapiencode_h265.c:
2437         * gst/vaapi/gstvaapiencode_h265.h:
2438           plugins: encode: Modify sink template of h265 encode.
2439           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2440           Also implement gst_vaapiencode_h265_register_type, which should be
2441           called at plugin register time.
2442           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2443
2444 2020-04-10 22:00:38 +0800  He Junyan <junyan.he@hotmail.com>
2445
2446         * gst/vaapi/gstvaapiencode_h264.c:
2447         * gst/vaapi/gstvaapiencode_h264.h:
2448           plugins: encode: Modify sink template of h264 encode.
2449           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2450           Also implement gst_vaapiencode_h264_register_type, which should be
2451           called at plugin register time.
2452           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2453
2454 2020-04-10 22:11:34 +0800  He Junyan <junyan.he@hotmail.com>
2455
2456         * gst/vaapi/gstvaapiencode_jpeg.c:
2457         * gst/vaapi/gstvaapiencode_jpeg.h:
2458           plugins: encode: Modify sink template of jpeg encode.
2459           Use gst_vaapi_detect_codec_caps to get more precise template caps.
2460           Also implement gst_vaapiencode_jpeg_register_type, which should be
2461           called at plugin register time.
2462           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2463
2464 2020-04-23 00:02:02 +0800  He Junyan <junyan.he@hotmail.com>
2465
2466         * gst/vaapi/gstvaapiencode.h:
2467           plugin: encode: add a helper macro to register encode type.
2468           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2469
2470 2020-04-10 21:44:05 +0800  He Junyan <junyan.he@hotmail.com>
2471
2472         * gst/vaapi/gstvaapipluginutil.c:
2473         * gst/vaapi/gstvaapipluginutil.h:
2474           plugins: util: Add a helper function to detect supported caps.
2475           This helper function iterate all profiles and entrypoints belong
2476           to the specified codec, query the VAConfigAttribRTFormat and list
2477           all possible video formats.
2478           This function is used by each codec to get the template sink caps
2479           (for encode) or src caps(for decode) at register time, when just
2480           all possible formats are listed and no need to be very accurate.
2481           So there is no context created for the performance reason. Most
2482           codecs just use YUV kinds of formats as the input/output, so we do
2483           not include RGB kinds of formats. User can specified more formats
2484           in extra_fmts(For example, jpeg may need BGRA) if needed.
2485           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2486
2487 2020-04-10 21:27:32 +0800  He Junyan <junyan.he@hotmail.com>
2488
2489         * gst/vaapi/gstvaapiencode.c:
2490         * gst/vaapi/gstvaapipluginutil.c:
2491         * gst/vaapi/gstvaapipluginutil.h:
2492           plugin: encode: extract the allowed caps maker as a helper function.
2493           Extract all logic about making caps for encode's sink as a standalone
2494           helper function. It can be reused.
2495           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2496
2497 2020-04-10 21:21:43 +0800  He Junyan <junyan.he@hotmail.com>
2498
2499         * gst-libs/gst/vaapi/video-format.c:
2500         * gst-libs/gst/vaapi/video-format.h:
2501           libs: video-format: add a helper function of get_formats_by_chroma.
2502           The function iterates all supported video formats and returns the
2503           formats belong to the specified chroma type.
2504           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2505
2506 2020-05-16 21:03:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2507
2508         * gst-libs/gst/vaapi/gstvaapitexture.c:
2509         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
2510           libs: texture: remove unused headers include
2511           This is continuation of
2512           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317
2513           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/324>
2514
2515 2020-05-16 19:58:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2516
2517         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
2518         * gst-libs/gst/vaapi/gstvaapiimage.h:
2519         * gst-libs/gst/vaapi/gstvaapisurface.h:
2520           libs: removed duplicated function declarations
2521           Some headers had duplicated inlined function declaration. This was
2522           for gtkdoc, but now GStreamer uses hotdoc and the internal library
2523           documentation is not generated. So let's remove these extra lines.
2524           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/323>
2525
2526 2020-04-18 19:32:24 +0800  He Junyan <junyan.he@hotmail.com>
2527
2528         * gst-libs/gst/vaapi/gstvaapitexture.c:
2529         * gst-libs/gst/vaapi/gstvaapitexture.h:
2530         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2531         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
2532         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
2533         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
2534         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
2535         * gst/vaapi/gstvaapivideometa_texture.c:
2536         * tests/internal/test-textures.c:
2537           libs: texture: Make texture a standard GstMiniObject.
2538           We store GstVaapiTextureGLX and GstVaapiTextureEGL's private data in
2539           the qdata of miniobject and avoid extending the base texture class.
2540           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317>
2541
2542 2020-04-26 12:33:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2543
2544         * README:
2545           Update README
2546           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/320>
2547
2548 2020-04-21 18:00:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2549
2550         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
2551           libs: display: drm: use g_strcmp0 to be null safe
2552           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/321>
2553
2554 2020-04-26 13:30:16 +0800  Haihao Xiang <haihao.xiang@intel.com>
2555
2556         * gst/vaapi/gstvaapipluginutil.c:
2557           vaapipluginutil: Use GST_VAAPI_DISPLAY_TYPE_DRM for Mesa3D GBM
2558           We may build this plugin with window system support but run it without
2559           window system. Without this patch, the following pipeline will trigger a
2560           segfault when running it without window system.
2561           gst-launch-1.0 filesrc location=input.264 ! h264parse ! vaapih264dec ! fakesink
2562           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/319>
2563
2564 2020-04-21 11:16:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2565
2566         * meson.build:
2567           build: use join_paths() for driverdir
2568
2569 2020-04-21 09:04:51 +0000  Veerabadhran G <vegopala@amd.com>
2570
2571         * README:
2572           README: Update supported hardware
2573           Added the AMD hardware list to the "Hardware Requirements" section.
2574
2575 2020-04-04 13:58:00 +0200  He Junyan <junyan.he@hotmail.com>
2576
2577         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2578         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
2579         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
2580           libs: bufferproxy: remove GstMemory reference
2581           Since bufferproxy and surface are not referenced circularly, there's
2582           no need to keep, in the buffer proxy, a reference to the GstMemory
2583           where it is held. This patch removes that handling.
2584
2585 2020-03-15 23:29:05 +0800  He Junyan <junyan.he@hotmail.com>
2586
2587         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2588         * gst-libs/gst/vaapi/gstvaapisurface.c:
2589         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
2590         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
2591         * gst/vaapi/gstvaapivideomemory.c:
2592           libs,plugin: break surface-bufferproxy circular reference
2593           The bufferproxy may reference the surface and the surface may also
2594           reference the bufferproxy, producing a circular reference, which might
2595           lead to serious resource leak problems.
2596           Now make the relationship clearer, the bufferproxy's references is
2597           transfered to surface, while bufferproxy just keeps the surface's
2598           address without increasing its reference count.
2599           The surface can be created through a bufferproxy like in
2600           gst_vaapi_surface_new_with_dma_buf_handle(), and the surface might
2601           get its bufferproxy via gst_vaapi_surface_get_dma_buf_handle(). In
2602           both cases the surface holds a bufferproxy's reference.
2603
2604 2020-04-03 18:43:52 +0200  He Junyan <junyan.he@hotmail.com>
2605
2606         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
2607         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
2608         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
2609           libs: bufferproxy: rename parent memeber as surface
2610
2611 2020-03-15 22:07:31 +0800  He Junyan <junyan.he@hotmail.com>
2612
2613         * gst/vaapi/gstvaapivideobufferpool.c:
2614           plugin: bufferpool: use hashmap to cache dmabuf mem-surface
2615           The old way of refer memory by bufferproxy is not a good one, since it
2616           make the logic error prone.
2617           Now it is established a map between surface-bufferproxy and its GstMemory,
2618           caching the memory bound by a surface looked for the specified surface.
2619
2620 2020-03-15 21:50:24 +0800  He Junyan <junyan.he@hotmail.com>
2621
2622         * gst/vaapi/gstvaapivideobufferpool.c:
2623         * gst/vaapi/gstvaapivideobufferpool.h:
2624           plugin: bufferpool: Delete ACQUIRE_FLAG_NO_ALLOC flag.
2625           Delete the GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC flag.
2626           In fact, no one is using that flag, and all vaapi buffers should
2627           have GstVaapiVideoMeta.
2628
2629 2020-02-13 09:43:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2630
2631         * gst/vaapi/gstvaapipostproc.c:
2632         * gst/vaapi/gstvaapipostproc.h:
2633           vaapipostproc: enable HDR10 tone mapping
2634
2635 2020-02-13 09:00:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2636
2637         * gst-libs/gst/vaapi/gstvaapifilter.c:
2638         * gst-libs/gst/vaapi/gstvaapifilter.h:
2639           libs: filter: HDR10 tone mapping support
2640           Add support for HDR10 tone mapping (since VA-API 1.4.0).
2641
2642 2020-04-02 15:14:15 +0800  He Junyan <junyan.he@hotmail.com>
2643
2644         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2645         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2646         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2647         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2648         * gst/vaapi/gstvaapiencode_h265.c:
2649           libs: encoder: h265: Support MAIN 4:4:4 10 profile.
2650           Using Y410 as the input of the encoder can generate main_444_10 bit
2651           streams.
2652
2653 2020-04-02 15:19:41 +0800  He Junyan <junyan.he@hotmail.com>
2654
2655         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2656           libs: encoder: fix an inexact trace info in chroma type check.
2657
2658 2020-03-31 12:22:31 +0800  Haihao Xiang <haihao.xiang@intel.com>
2659
2660         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2661           libs: encoder: make sure format array is not NULL when returning TRUE
2662           This fixed segfault when running the pipeline below with iHD driver
2663           (commit efe5e9a) on ICL
2664           gst-launch-1.0 videotestsrc ! vaapivp9enc tune=low-power ! vaapivp9dec ! \
2665           fakesink
2666
2667 2020-03-18 13:28:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2668
2669         * gst-libs/gst/vaapi/gstvaapidecoder.h:
2670         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2671         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
2672         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
2673         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
2674         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
2675         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
2676         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
2677         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
2678         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2679         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
2680         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
2681         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
2682         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
2683         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
2684         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2685         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2686         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2687         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
2688         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
2689         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
2690         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
2691         * gst-libs/gst/vaapi/gstvaapifilter.h:
2692         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
2693         * gst-libs/gst/vaapi/gstvaapiwindow.h:
2694         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
2695         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
2696         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
2697         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
2698         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
2699           libs: extend g_autoptr support
2700
2701 2020-03-26 22:40:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2702
2703         * gst/vaapi/gstvaapivideometa.c:
2704           vaapivideometa: remove compiler warning
2705
2706 2020-03-22 20:59:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2707
2708         * meson.build:
2709         * meson_options.txt:
2710           build: Add meson's option package-origin.
2711           This options is added to synchronize with other gstreamer packages
2712           build configuration.
2713           Though, to avoid breaking distro configuration it is set, as default,
2714           the issues gitlab's url, instead of the used string
2715           "Unkown package origin".
2716           Also, set_quoted is used for string based cdata.
2717
2718 2020-02-25 13:45:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2719
2720         * gst/vaapi/gstvaapipostproc.c:
2721           vaapipostproc: deprecate format, width and size parameters
2722           Since they should only be controlled by caps negotiation.
2723
2724 2020-03-18 16:41:01 +0800  He Junyan <junyan.he@hotmail.com>
2725
2726         * gst-libs/gst/vaapi/gstvaapiprofile.c:
2727         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
2728         * gst/vaapi/gstvaapidecode.c:
2729           libs,plugins: decoder: Add -intra profile support for hevc.
2730           In hevc, we can consider the -intra profile a subset of the none
2731           -intra profile. The -intra profiles just contain I frames and we
2732           definitely can use the none -intra profiles's context to decode
2733           them.
2734           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2735
2736 2020-03-04 12:35:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2737
2738         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2739           libs: encoder: h265: support ICQ/QVBR BRC
2740           Enable support for ICQ and QVBR bitrate control.
2741           The code is essentially the same for h264 ICQ/QVBR support
2742           which was added in commit 9e0c133a2403.
2743
2744 2020-03-19 11:19:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2745
2746         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2747           libs: encoder: set VA HRD param before RC param
2748           This is a workaround for intel-media-driver bug
2749           https://github.com/intel/media-driver/issues/865
2750           The driver will force the RC method to CBR for HEVCe
2751           when it parses the HRD param.  Thus, any RC method
2752           param submitted "prior" to the HRD param will be lost.
2753           Therefore, VBR, ICQ and QVBR for HEVCe can't be
2754           effectively enabled if the RC method param "precedes"
2755           the HRD param.
2756           To work around this issue, set the HRD param before
2757           the RC method param so the driver will parse the RC
2758           method param "after" the HRD param.
2759           Afaict, other codecs in the driver (and other drivers)
2760           do not appear to be dependent on the order of HRD and
2761           RC param submission.
2762
2763 2019-11-25 14:16:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
2764
2765         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2766         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2767         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2768           vaapijpegenc: Add a quantization quirk for iHD driver
2769           iHD driver shifts the value by 50 when calculating quantization for JPEG
2770           encoding, so we should add 50 in this plugin for iHD driver too.
2771
2772 2020-03-13 21:49:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2773
2774         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2775         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
2776         * gst-libs/gst/vaapi/gstvaapipixmap.c:
2777         * gst-libs/gst/vaapi/gstvaapipixmap.h:
2778         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
2779         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
2780         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
2781         * gst-libs/gst/vaapi/gstvaapiwindow.c:
2782         * gst-libs/gst/vaapi/gstvaapiwindow.h:
2783         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
2784         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
2785         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
2786         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
2787         * gst-libs/gst/vaapi/meson.build:
2788         * meson.build:
2789         * tests/internal/output.c:
2790         * tests/internal/output.h:
2791         * tests/internal/simple-decoder.c:
2792         * tests/internal/test-decode.c:
2793           libs: remove GstVaapiPixmap
2794           GstVaapiPixmap is an abstract base class which only implementation
2795           were GstVaapiPixmapX11. This class were used for a special type of
2796           rendering in the tests apps, utterly unrelated in GStreamer.
2797           Since gstreamer-vaapi is no longer a general-user wrapper for VA-API
2798           we should remove this unused API.
2799           This removal drops libxrender dependency.
2800
2801 2020-03-17 18:51:19 +0800  He Junyan <junyan.he@hotmail.com>
2802
2803         * gst-libs/gst/vaapi/gstvaapiutils.c:
2804           libs: utils: Add HEVC Main444 sting in string_of_VAProfile
2805           HEVCMain444_10 is already a supported profile and misses the strings.
2806
2807 2020-03-17 12:47:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2808
2809         * gst/vaapi/gstvaapi.c:
2810           plugin: don't error if cannot create display
2811           This might generated errors on automatic tools such as CI. Let's
2812           rather just raise a warning and let continue.
2813
2814 2020-03-09 01:52:57 +0800  He Junyan <junyan.he@hotmail.com>
2815
2816         * tests/check/meson.build:
2817           test: fix a ninja test failure for vaapioverlay.
2818           That test case only works with drm display, so the build such as
2819           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
2820           -Dwith_glx=no
2821           gets a failure when run ninja test. Just enable this test when drm
2822           is enabled.
2823
2824 2020-02-07 23:56:13 +0800  He Junyan <junyan.he@hotmail.com>
2825
2826         * gst-libs/gst/vaapi/gstvaapivideopool.c:
2827           libs: videopool: fix a condition race for pool allocate.
2828
2829 2020-03-05 13:22:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2830
2831         * gst/vaapi/gstvaapivideobufferpool.c:
2832           vaapivideobufferpool: force video meta if sizes are different
2833           The strides and offsets could be the same, but the allocation
2834           size might be different (e.g. alignment).  Thus, ensure we also
2835           set the flag to copy from VA memory to system memory when alloc
2836           size differs.
2837           Fixes #243
2838
2839 2020-03-05 14:18:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2840
2841         * gst/vaapi/gstvaapidecode.c:
2842           vaapidecode: don't set base sink caps twice
2843           Base class's sink pad caps are already set when calling set_format().
2844           There's no need to call it again in gst_vaapidecode_negotiate().
2845
2846 2020-03-05 13:26:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2847
2848         * gst/vaapi/gstvaapidecode.c:
2849           vaapidecode: unlock stream if caps update fails
2850           If caps update fail a dead lock occurs since the stream mutex is not
2851           unlocked.
2852
2853 2020-03-03 15:24:32 +0800  Xu Guangxin <guangxin.xu@intel.com>
2854
2855         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2856           libs: decoder: h265: parser state after update dependent slice
2857           If the dependent_slice_segment_flag is true, most slice info derived from last slice.
2858           So we need check the slice type after we call populate_dependent_slice_hdr
2859
2860 2020-02-16 12:21:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2861
2862         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2863         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2864           libs: display: force RGBA image format for i965 driver
2865           Since commit 32bf6f1e GLTextureUpload is broken because i965
2866           doesn't report properly RGBA support. It could be possible to use RGBx
2867           but GLTextureUpload only regotiates RGBA.
2868           The simplest fix to this regression is adding synthetically the RGBA
2869           format in the internal format map.
2870
2871 2020-02-14 19:30:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2872
2873         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2874           libs: display: iterate all quirks table
2875           Instead of break at the fist foud quirk in the table, iterate all over
2876           so it would be feasible to add several quirks for one driver per
2877           element in array.
2878
2879 2020-02-25 12:05:28 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2880
2881         * gst-libs/gst/vaapi/gstvaapifilter.c:
2882           libs: filter: handle RGB to/from YUV color primary driver quirk
2883           The intel-media-driver (iHD) can't convert output color
2884           primaries when doing YUV to/from RGB CSC.  Thus, we must
2885           keep the output color primaries the same as the input
2886           color primaries for this case.
2887           fixes #238
2888
2889 2020-02-25 12:00:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2890
2891         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2892         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2893           libs: display: add YUV to/from RGB color primary quirk
2894           The intel-media-driver (iHD) can't convert output color
2895           primaries when doing YUV to/from RGB CSC.
2896
2897 2020-02-28 11:33:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2898
2899         * gst/vaapi/gstvaapivideomemory.c:
2900           Revert "vaapivideomemory: Store surface allocation flags."
2901           This reverts commit dd428cc4a12c2d5c694fcd3303811cf486002c9d because
2902           it rewrites the buffer size whilst surface allocation flags are
2903           stored when allocator_params_init() is called since fab890ce.
2904           Fix: #239
2905
2906 2020-01-27 18:19:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2907
2908         * gst/vaapi/gstvaapivideomemory.c:
2909           vaapivideomemory: Try surface with allocation flags.
2910           When a vaapi allocator is instantiated, it first try to generate a
2911           surface with the specified configuration.
2912           This patch adds, in this tried buffer, the requested allocation flags.
2913
2914 2020-01-27 18:10:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2915
2916         * gst/vaapi/gstvaapivideomemory.c:
2917           vaapivideomemory: Store surface allocation flags.
2918           Store surface allocation flags passed to the vaapi allocator in
2919           GObject's qdata, because it might be used by the vaapivideobufferpool
2920           when recreating the allocator given any resolution change.
2921
2922 2020-01-24 19:32:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2923
2924         * gst-libs/gst/vaapi/gstvaapisurface.c:
2925         * gst-libs/gst/vaapi/gstvaapisurface.h:
2926           libs: surface: Add hints to allocation flags.
2927           When creating surfaces it is possible to pass to VA hints of its usage,
2928           so the driver may do some optimizations.
2929           This commit adds the handling of encoding/decoding hints.
2930
2931 2020-01-24 22:08:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2932
2933         * gst-libs/gst/vaapi/gstvaapicontext.c:
2934         * gst-libs/gst/vaapi/gstvaapisurface.c:
2935         * gst-libs/gst/vaapi/gstvaapisurface.h:
2936         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
2937         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
2938         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
2939         * gst-libs/gst/vaapi/gstvaapiwindow.c:
2940         * tests/internal/test-filter.c:
2941         * tests/internal/test-surfaces.c:
2942           libs: surface: surfacepool: Add allocation flags in constructors.
2943
2944 2020-02-22 16:06:13 +0800  He Junyan <junyan.he@hotmail.com>
2945
2946         * meson.build:
2947           build: let the build fail if none if X11, wayland or drm.
2948           In fact, gst_vaapi_create_test_display only test x11, wayland and
2949           drm, no glx and egl entries. So if none of them is enabled, no
2950           vaapi element can be detected.
2951
2952 2020-02-21 00:58:47 +0800  He Junyan <junyan.he@hotmail.com>
2953
2954         * tests/internal/test-display.c:
2955           test: avoid unused warning for test-display
2956           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
2957           -Dwith_glx=no buildir
2958           generate unused warnings.
2959
2960 2020-02-21 00:50:47 +0800  He Junyan <junyan.he@hotmail.com>
2961
2962         * meson.build:
2963           build: fix meson build error when without x11.
2964           meson -Dwith_x11=no build_dir
2965           can not success build the project because the glx is still enabled.
2966           We need to disable GLX when X11 is disabled.
2967
2968 2020-02-14 19:53:09 +0800  Haihao Xiang <haihao.xiang@intel.com>
2969
2970         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2971           libs: h265enc: Set max_transform_hierarchy_depth_{inter, intra} to 2
2972           Intel HW has limitation on max_transform_hierarchy_depth_inter and
2973           max_transform_hierarchy_depth_intra (see [1]). We can provide a quirk for
2974           other HWs if other HWs may support other values
2975           [1] https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol10-hevc.pdf
2976
2977 2020-02-21 07:37:50 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2978
2979         * gst/vaapi/gstvaapipostproc.c:
2980         * gst/vaapi/gstvaapipostprocutil.c:
2981           vaapipostproc: do not compensate for crop/direction if no VPP
2982           If we do not have functional VPP, then cropping and video
2983           direction is non-functional and we should avoid calling
2984           any of the gst_vaapi_filter* APIs.
2985
2986 2020-02-21 06:54:47 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2987
2988         * gst/vaapi/gstvaapipostproc.c:
2989           vaapipostproc: only set VPP colorimetry when VPP is available
2990           If we don't have functional vpp then we should not call
2991           gst_vaapi_filter_set_colorimetry.
2992
2993 2020-02-16 01:25:37 +0800  He Junyan <junyan.he@hotmail.com>
2994
2995         * gst/vaapi/gstvaapivideobufferpool.c:
2996         * gst/vaapi/gstvaapivideomemory.c:
2997         * gst/vaapi/gstvaapivideomemory.h:
2998           videobufferpool: don't reset surface when created internally
2999           The bug fixing, in commit 89f202ea, just considers the case when
3000           surface's DMABuf is set through gst_buffer_pool_acquire_buffer(),
3001           which is typically a decoder's behavior. But vaapipostproc doesn't
3002           provide any surface when calling gst_buffer_pool_acquire_buffer(),
3003           thus a surface is created when GstMemory is allocated.
3004           If the surface proxy in buffer's meta is reset at
3005           buffer_pool_reset_buffer(), that surface will be destroyed and it
3006           won't be available anymore. But GstBuffers are cached in the buffer
3007           pool and they are reused again, hence only those images are rendered
3008           repeatedly.
3009           Fixes: #232
3010
3011 2020-02-16 17:19:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3012
3013         * gst-libs/gst/vaapi/gstvaapiblend.c:
3014         * gst-libs/gst/vaapi/gstvaapifilter.c:
3015         * gst/vaapi/gstvaapi.c:
3016           libs: blend: filter: handle finalize() if display isn't assigned
3017           I've just discovered iHD driver in Skylake doesn't have VideoProc
3018           entry point, hence, in this platform, when vaapioverlay is tried to be
3019           registered, critical warnings are raised because blend doesn't have a
3020           display assigned.
3021           As it is possible to have drivers without EntryPointVideoProc it is
3022           required to handle it gracefully. This patch does that: only tries to
3023           register vaapioverlay if the testing display has VPP and finalize()
3024           vmethods, in filter and blend, bail out if display is NULL.
3025
3026 2020-02-15 11:02:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3027
3028         * gst-libs/gst/vaapi/gstvaapifilter.c:
3029         * gst-libs/gst/vaapi/gstvaapiutils.c:
3030           libs: filter: guard all color properties to VA-API 1.2.0
3031           Older VA-API (0.39.0) doesn't have VAProcColorProperties.
3032           Thus, guard all colorimetry -> VA-API support to version
3033           1.2.0.
3034           Fixes #234
3035
3036 2020-02-17 08:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3037
3038         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3039           libs: decoder: h265: set parser info state at decoding codec data
3040           Commit 1168d6d5 showed up a regression: decode_sps() stores the unit's
3041           parser info in sps array. If that parser info comes from decoding
3042           codec data, that parser info will have an undefined state which might
3043           break ensure_sps().
3044           This patch sets the parser info state, at decoding codec data, with
3045           the internal parser state. This is similar with h264 decoder apprach.
3046           Original-patch-by: Xu Guangxin <guangxin.xu@intel.com>
3047
3048 2020-02-07 15:24:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3049
3050         * gst/vaapi/gstvaapipostproc.c:
3051           vaapipostproc: demote log message to trace level
3052
3053 2020-02-14 14:45:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3054
3055         * gst-libs/gst/vaapi/video-format.c:
3056           libs: video-format: set general vaapi log category
3057           Instead of logging in an unspecified category, set the default vaapi.
3058
3059 2020-02-15 11:44:48 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3060
3061         * gst-libs/gst/vaapi/gstvaapiutils.c:
3062           libs: utils: guard EncSliceLP for VA-API < 0.39.1
3063           Relates to #234
3064
3065 2020-02-14 16:17:04 +0800  Haihao Xiang <haihao.xiang@intel.com>
3066
3067         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3068           libs: h265enc: Set VA_PICTURE_HEVC_INVALID flag for invalid picture
3069
3070 2020-02-11 11:31:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3071
3072         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
3073         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3074         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3075           libs: remove crumbs of libva < 0.39
3076           All these guarded code seem like leftovers of commit 920b1ec7a. This
3077           patch completes that missing clean up.
3078
3079 2020-02-11 00:38:40 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3080
3081         * gst-libs/gst/vaapi/gstvaapifilter.c:
3082         * gst-libs/gst/vaapi/gstvaapiutils.c:
3083           libs: VA explicit color standard not supported until 1.2.0
3084           VAProcColorStandardExplicit and associated VAProcColorProperties
3085           (primaries, transfer and matrix) are not supported until
3086           VA-API 1.2.0.
3087           Use VAProcColorStandardNone instead of VAProcColorStandardExplicit
3088           if VA-API < 1.2.0.
3089           Fixes #231
3090
3091 2020-02-10 09:31:15 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3092
3093         * gst-libs/gst/vaapi/gstvaapiutils.c:
3094           libs: utils: WA: use explicit for sRGB colorimetry
3095           Addresses #228 on iHD side.  It seems iHD can't handle
3096           VAProcColorStandardSRGB in all situations for vpp.  But
3097           it has no problem when we specify the sRGB parameters
3098           via VAProcColorStandardExplicit parameters.
3099
3100 2020-02-07 11:25:31 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3101
3102         * gst-libs/gst/vaapi/gstvaapifilter.c:
3103           libs: filter: set vpp input/output color range
3104           We've always sent VA_SOURCE_RANGE_UNKNOWN to the driver.
3105           And, the [iHD] driver essentially computes the same color
3106           range as gstreamer when we send VA_SOURCE_RANGE_UNKNOWN for
3107           cases were gstreamer computes it automatically.  But,
3108           if the user wants to make it explicit, we should try
3109           to honor it.
3110
3111 2020-02-07 11:20:11 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3112
3113         * gst-libs/gst/vaapi/gstvaapiutils.c:
3114         * gst-libs/gst/vaapi/gstvaapiutils.h:
3115           libs: utils: map GstVideoColorRange to VAAPI VPP
3116
3117 2020-02-07 15:28:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3118
3119         * gst/vaapi/gstvaapidecode.c:
3120           vaapidecode: don't remove chroma-site nor colorimetry
3121           Since now they can be handled by vaapipostproc.
3122
3123 2020-02-04 14:17:43 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3124
3125         * gst/vaapi/gstvaapipostprocutil.c:
3126           vaapipostproc: use sink resolution to calculate src colorimetry
3127           The default output colorimetry is persuaded by the output
3128           resolution, which is too naive when doing VPP cropping
3129           and/or scaling.  For example, scaling 4K(sink)->1080P(src)
3130           resolution (i.e. both YUV) results in bt2020(sink)->bt709(src)
3131           colorimetry selection and some drivers don't support that
3132           mode in vpp.
3133           Thus, if output (i.e. downstream) does not specify a
3134           colorimetry then we use the input resolution instead of the
3135           output resolution to create the default colorimetry.  Also,
3136           note that we still use the output format since it may be a
3137           different color space than the input.  As in the example
3138           above, this will result in bt2020(sink)->bt2020(src)
3139           colorimetry selection and all drivers (afaik) should support
3140           that in vpp.
3141
3142 2020-02-04 09:57:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3143
3144         * gst/vaapi/gstvaapipostprocutil.c:
3145           vaapipostproc: set srcpad colorimetry unconditionally
3146           We always need a srcpad colorimetry for VAAPI VPP
3147           operations.
3148           Also, check the return value of _set_colorimetry.
3149
3150 2020-01-30 12:34:07 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3151
3152         * gst/vaapi/gstvaapipostprocutil.c:
3153           vaapipostproc: do not override explicit srcpad colorimetry
3154           If colorimetry has been set by a capsfilter (e.g.
3155           vaapipostproc ! video/x-raw,colorimetry=bt709) then
3156           don't try to override it.  Previously, the aforementioned
3157           capsfilter will fail to negotiate if default colorimetry
3158           is not the same as the capsfilter (e.g. 4K resolutions).
3159
3160 2020-01-30 09:37:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3161
3162         * gst/vaapi/gstvaapipostproc.c:
3163           vaapipostproc: set vpp filter colorimetry
3164           Set the input and output colorimetry for vpp filter.
3165
3166 2020-01-30 09:34:10 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3167
3168         * gst-libs/gst/vaapi/gstvaapifilter.c:
3169         * gst-libs/gst/vaapi/gstvaapifilter.h:
3170           libs: filter: support vpp input/output color standard
3171           Add API function to allow setting the input and output vpp
3172           color standard from GstVideoColorimetry.
3173
3174 2020-02-04 11:32:54 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3175
3176         * gst-libs/gst/vaapi/gstvaapiutils.c:
3177         * gst-libs/gst/vaapi/gstvaapiutils.h:
3178           libs: utils: map GstVideoColorimetry to VAAPI VPP
3179           Fallback to VAProcColorStandardExplicit if there is no
3180           1:1 mapping.
3181
3182 2020-02-04 10:27:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3183
3184         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3185         * gst-libs/gst/vaapi/gstvaapidisplay.h:
3186           libs: display: add vpp color standard quirk for i965 driver
3187           The i965 does not properly report supported vpp color
3188           standards.
3189
3190 2020-02-02 18:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3191
3192         * gst/vaapi/gstvaapivideobufferpool.c:
3193           vaapivideobufferpool: dmabuf implies allocator
3194           Some code can be optimized since only if the dmabuf allocator is set,
3195           the internal flag of dmabuf is TRUE, thus there's no need to evaluate
3196           the allocator address.
3197
3198 2020-01-29 11:55:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3199
3200         * gst/vaapi/gstvaapivideobufferpool.c:
3201           vaapivideobufferpool: reject configuration if allocator isn't vaapi
3202           If the requested allocator in set_config() is not a VAAPI valid one,
3203           reject the configuration, instead of lying and using a private one.
3204           This patch superseeds !254 and !24
3205
3206 2020-01-29 11:55:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3207
3208         * gst/vaapi/gstvaapivideobufferpool.c:
3209           vaapivideobufferpool: add explanation for allocator reconfig
3210
3211 2020-01-29 11:54:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3212
3213         * gst/vaapi/gstvaapivideobufferpool.c:
3214           vaapivideobufferpool: check for vaapi meta first
3215           If the configured meta doesn't request vaapi meta then it is not a
3216           vaapi buffer pool. Bail out as soon as possible.
3217
3218 2020-01-29 11:52:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3219
3220         * gst/vaapi/gstvaapivideobufferpool.c:
3221           vaapivideobufferpool: turn errors into warnings
3222           set_config() vmethod should fail gracefully, thus upstream could
3223           negotiate another pool if possible.
3224           Instead of sending error messages to the bus, let demote the level
3225           to warning.
3226
3227 2020-01-29 11:51:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3228
3229         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3230           libs: display: log out vendor string when available
3231           This is useful while asking for logs to know the used driver.
3232
3233 2020-01-27 11:49:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3234
3235         * gst-libs/gst/vaapi/gstvaapisurface.c:
3236           libs: surface: initialize VASurfaceAttribExternalBuffers
3237           Initialize VASurfaceAttribExternalBuffers using compiler's syntax
3238           rather than using memset().
3239
3240 2020-01-27 11:44:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3241
3242         * gst-libs/gst/vaapi/gstvaapisurface.c:
3243           libs: surface: merge two loops into one
3244           Merge two loops into one for setting offsets and strides in the
3245           external buffer descriptor.
3246
3247 2020-01-22 10:42:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3248
3249         * gst-libs/gst/vaapi/gstvaapisurface.c:
3250         * gst-libs/gst/vaapi/gstvaapisurface.h:
3251         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
3252         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
3253           libs: surface: surfacepool: rename variable for clearity
3254           In order to be readable, the meaningless 'flags' is renamed to
3255           surface_allocation_flags, which is clearer.
3256
3257 2020-01-27 18:40:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3258
3259         * gst/vaapi/gstvaapivideobufferpool.c:
3260           vaapivideobufferpool: Reuse internal allocator is possible.
3261           Instead of creating a new allocator when upstream requests a different
3262           allocator, this patch tries to reuse the internal allocator if it was
3263           already initializated.
3264           If the stream changes, then either one will be unref and a new
3265           allocator is created.
3266
3267 2020-01-27 18:05:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3268
3269         * gst/vaapi/gstvaapivideobufferpool.c:
3270           vaapivideobufferpool: Log messages in proper category.
3271           The log messages where logged in the GstBufferPool category because
3272           the instance was not properly casted. This fix that situation.
3273
3274 2020-01-16 11:49:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3275
3276         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3277         * gst-libs/gst/vaapi/gstvaapidisplay.h:
3278         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
3279         * gst/vaapi/gstvaapipluginbase.c:
3280           libs: display: driver quirks mechanism
3281           This mechanism comes from ffmpeg vaapi implementation, where they have
3282           their own quirks.
3283           A specific driver is identified by a substring present in the vendor
3284           string. If that substring is found, a set of bitwise flags are store.
3285           These flags can be accessed through the function
3286           gst_vaapi_display_has_driver_quirks().
3287           The purpose for this first quirks is to disable the put image try for
3288           AMD Gallium driver (see [1]).
3289           1. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/72
3290
3291 2020-01-15 23:07:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3292
3293         * gst/vaapi/gstvaapipluginutil.c:
3294           plugins: renable Mesa Gallium driver
3295
3296 2020-01-24 11:55:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3297
3298         * gst/vaapi/gstvaapivideobufferpool.c:
3299           vaapivideobufferpool: validate returned meta
3300           Validate if the meta returned by gst_buffer_get_vaapi_video_meta() in
3301           the acquired buffer is not null.
3302           This situation should be very "pathological", but still it is better
3303           be safe since that meta might be used later to create a new dma
3304           buffer.
3305
3306 2020-01-22 18:50:36 +0100  Philipp Zabel <p.zabel@pengutronix.de>
3307
3308         * gst/vaapi/gstvaapivideobufferpool.c:
3309           vaapivideobufferpool: always update/release the underlying surface proxy
3310           gst_vaapi_video_buffer_pool_reset_buffer() is called when the sink
3311           releases the last reference on an exported DMA buffer. This should
3312           release the underlying surface proxy. To avoid releasing the wrong
3313           surface due to a stale surface proxy reference in the buffer's
3314           GstVaapiVideoMeta, always update the reference to the correct surface
3315           in gst_vaapi_video_buffer_pool_acquire_buffer().
3316
3317 2020-01-23 16:56:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3318
3319         * gst-libs/gst/vaapi/gstvaapicontext.c:
3320         * gst-libs/gst/vaapi/gstvaapicontext.h:
3321         * gst-libs/gst/vaapi/gstvaapisurface.c:
3322         * gst-libs/gst/vaapi/gstvaapisurface.h:
3323           libs: context: select vaCreateSurfaces version according attributes
3324           This commit tries to centralize the selection of vaCreateSurfaces
3325           version, instead of having fallbacks everywhere.
3326           These fallbacks are hacks, added because new drivers use the latest
3327           version of vaCreateSurfaces (with surface attributes) [1], meanwhile
3328           old drivers (or profiles as JPEG decoder in i965) might rather use the
3329           old version.
3330           In order to select which method, there's detected hack: each config
3331           context has a list of valid formats, in the case of JPEG decoder the
3332           list only contains "rare" 4:2:2 formats (ICM3, GRAY8) which aren't
3333           handled correctly by the current gstreamer-vaapi code [2].
3334           The hack consist in identify if the format list contains an arbitrary
3335           preferred format (which is suposedly well supported by
3336           gstreamer-vaapi, mostly NV12). If no prefered colour format is found,
3337           the the old version of vaCreateSurfaces is used, and the surfaces wil
3338           be mapped into a image with their own color format.
3339           1. https://bugzilla.gnome.org/show_bug.cgi?id=797143
3340           2. https://bugzilla.gnome.org/show_bug.cgi?id=797222
3341
3342 2020-01-21 19:35:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3343
3344         * gst-libs/gst/vaapi/gstvaapicontext.c:
3345           libs: context: add debug category for context
3346
3347 2020-01-22 20:20:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3348
3349         * gst-libs/gst/vaapi/gstvaapiblend.c:
3350           libs: blend: guard VA_BLEND_GLOBAL_ALPHA
3351
3352 2020-01-21 14:09:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3353
3354         * gst/vaapi/gstvaapiencode_h264.c:
3355           vaapiencode: promote info to warning
3356           Let's notify user about using constrained-baseline instead on
3357           requested basline profile.
3358
3359 2019-06-28 15:41:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
3360
3361         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3362         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
3363         * gst/vaapi/gstvaapidecode.c:
3364         * gst/vaapi/gstvaapidecode_props.c:
3365         * gst/vaapi/gstvaapidecode_props.h:
3366           vaapih264dec: Add a property to assume constrained-baseline
3367           When baseline-as-constrained is set, the decoder will expose support
3368           for baseline decoding and assume that the baseline content is
3369           constrained-baseline. This can be handy to decode streams in hardware
3370           that would otherwise not be possible to decode. A lot of baseline
3371           content is in fact constrained.
3372
3373 2020-01-17 16:19:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3374
3375         * gst/vaapi/gstvaapiencode_h264.c:
3376         * gst/vaapi/gstvaapipluginutil.c:
3377           vaapih264enc: accept baseline as constrained baseline compatible
3378
3379 2020-01-17 14:24:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3380
3381         * gst/vaapi/gstvaapiencode_h264.c:
3382           vaapih264enc: update level in src caps
3383           And, if downstream requests a specific level, the caps are not
3384           negotiated, because there is no mechanism right now to specify a
3385           custom level in the internal encoder.
3386
3387 2020-01-17 17:12:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3388
3389         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3390           libs: encoder: h264: document gst_vaapi_encoder_h264_supports_avc()
3391
3392 2020-01-17 13:38:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3393
3394         * gst/vaapi/gstvaapiencode_h264.c:
3395           vaapih264enc: force byte-stream if avc isn't supported
3396           Removing the validation in gst_vaapiencode_h264_get_caps() since that
3397           ought be handled in gst_vaapiencode_h264_set_config()
3398
3399 2020-01-08 17:37:22 +0100  Philipp Zabel <p.zabel@pengutronix.de>
3400
3401         * gst/vaapi/gstvaapiencode_h264.c:
3402           vaaph264enc: suppress avc if the driver does not support packed headers
3403           Do not negotiate AVC output if the driver does not support it.
3404
3405 2020-01-08 17:16:35 +0100  Philipp Zabel <p.zabel@pengutronix.de>
3406
3407         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3408         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3409           libs: encoder: h264: Add gst_vaapi_encoder_h264_supports_avc()
3410           AVC output requires packed header support in the driver.
3411
3412 2020-01-17 13:07:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3413
3414         * gst/vaapi/gstvaapiencode_h264.c:
3415           vaapih264enc: intersect the new proposed caps
3416           Instead of just leave to keep the proposed caps, with the best profile
3417           in the allowed caps, is its intersected again.
3418
3419 2020-01-17 12:58:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3420
3421         * gst/vaapi/gstvaapiencode_h264.c:
3422           vaapih264enc: propose new profile caps and fixate it
3423           When the available caps doesn't intersect with the allowed caps in the
3424           pipeline, a new caps is proposed rather than just expecting to
3425           iterate.
3426           Later, the intersected caps (profile_caps) is fixated in order to
3427           extract the configuration.
3428
3429 2020-01-17 13:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3430
3431         * gst/vaapi/gstvaapiencode_h264.c:
3432           vaapih264enc: common fail for gst_vaapiencode_h264_set_config()
3433           Add a common fail code path for gst_vaapiencode_h264_set_config().
3434
3435 2020-01-17 12:54:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3436
3437         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3438           libs: encoder: unref formats array if none
3439           The formats array is always created, in order to keep the logic and
3440           to avoid broken caps, if this formats array doesn't contain any
3441           elements, it has to be unref and the function should return NULL.
3442
3443 2020-01-17 14:22:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3444
3445         * gst/vaapi/gstvaapiencode_h264.c:
3446           vaapih264enc: fix log message
3447           Before the log wasn't processed because wrong instance pointer.
3448
3449 2019-06-22 00:44:25 +0800  He Junyan <junyan.he@hotmail.com>
3450
3451         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3452         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3453         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
3454         * gst/vaapi/gstvaapiencode_h265.c:
3455           plugin: encode: Add H265 main-444 profile.
3456           Expose the main-444 profile to h265enc caps, when the upstream
3457           chooses to use VUYA as input, we choose main 4:4:4 profile to encode
3458           the frames.
3459
3460 2020-01-15 19:36:00 +0800  He Junyan <junyan.he@hotmail.com>
3461
3462         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3463           libs: encoder: h265: Consider main-444 profile when encoding.
3464           Add support of main-444 profile for parameter setting and packed header
3465           generation.
3466
3467 2020-01-15 23:04:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3468
3469         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3470         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3471         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3472         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
3473         * gst/vaapi/gstvaapiencode.c:
3474           vaapiencode: DMABuf only if PRIME is available
3475           Add DMABuf capsfeature in encoders' allowed sinkcaps only if PRIME
3476           memory type is available in the VA surface attributes of codec
3477           context.
3478
3479 2020-01-16 09:14:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
3480
3481         * hooks/pre-commit.hook:
3482           Add hooks/pre-commit.hook
3483           meson.build in gstreamer-vaapi requires hooks/pre-commit.hook
3484           Copied and pasted pre-commit.hook from other gstreamer modules to make
3485           sure gstreamer-vaapi follows the same code style
3486
3487 2019-12-26 16:45:51 +0800  He Junyan <junyan.he@hotmail.com>
3488
3489         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3490           libs: encoder: h265: Set encoder paramters base on entrypoint.
3491           When the tune is NONE, we now can choose entrypoint freely. So the
3492           GST_VAAPI_ENCODER_TUNE macro may not return the correct current
3493           entrypoint.
3494           We also delay CTU size calculation after entrypoint has been decided.
3495
3496 2019-12-28 19:18:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3497
3498         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3499         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
3500         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
3501         * gst-libs/gst/vaapi/gstvaapicontext.c:
3502         * gst-libs/gst/vaapi/gstvaapicontext.h:
3503         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3504         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3505         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3506         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
3507         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3508         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
3509         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3510         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
3511         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
3512         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
3513         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3514         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
3515         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
3516         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
3517         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
3518         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
3519         * gst-libs/gst/vaapi/gstvaapiprofile.c:
3520         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3521         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3522         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
3523         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3524         * gst-libs/gst/vaapi/meson.build:
3525         * gst/vaapi/gstvaapi.c:
3526         * gst/vaapi/gstvaapiencode.c:
3527         * gst/vaapi/gstvaapiencode.h:
3528         * gst/vaapi/gstvaapiencode_h264_fei.c:
3529         * gst/vaapi/gstvaapiencode_h264_fei.h:
3530         * gst/vaapi/gstvaapifeivideometa.c:
3531         * gst/vaapi/gstvaapifeivideometa.h:
3532         * gst/vaapi/meson.build:
3533         * meson.build:
3534         * tests/internal/meson.build:
3535         * tests/internal/test-fei-enc-in.c:
3536         * tests/internal/test-fei-enc-out.c:
3537           Remove all FEI related
3538           FEI encoders are not actively mantained neither tested, and it is
3539           using infrastructure that is changing and FEI is stopping this
3540           effort.
3541           Also it is required to rethink how FEI can be used in GStreamer.
3542
3543 2020-01-14 11:17:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3544
3545         * gst/vaapi/gstvaapioverlay.c:
3546           vaapioverlay: ensure sinkpad has current buffer
3547           Use the gst_video_aggregator_pad_has_current_buffer API
3548           to check if the current sinkpad has a queued buffer before
3549           attempting to obtain a input buffer from the base plugin.
3550           If the sinkpad does not have a current buffer, then it is
3551           either not producing them yet (e.g. current time < sinkpad
3552           start time) or it has reached EOS.
3553           Previously, we only handled EOS case.
3554           Example:
3555           gst-launch-1.0 videotestsrc num-buffers=100 \
3556           ! vaapipostproc ! vaapioverlay name=overlay \
3557           ! vaapisink videotestsrc timestamp-offset=1000000000 \
3558           num-buffers=100 ! video/x-raw,width=160,height=120 \
3559           ! overlay.
3560
3561 2020-01-14 18:57:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3562
3563         * gst/vaapi/gstvaapioverlay.c:
3564           vaapioverlay: unroll the recursive call
3565           Recursive functions are elegant but dangerous since they might
3566           overflow the stack. It is better to turn them into a list tranversal
3567           if possible, as this case.
3568
3569 2020-01-14 18:46:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3570
3571         * gst-libs/gst/vaapi/gstvaapiblend.c:
3572         * gst/vaapi/gstvaapioverlay.c:
3573           vaapioverlay: add minimal documentation
3574
3575 2020-01-14 18:25:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3576
3577         * gst-libs/gst/vaapi/gstvaapiblend.c:
3578         * gst-libs/gst/vaapi/gstvaapiblend.h:
3579         * gst/vaapi/gstvaapioverlay.c:
3580           libs: blend: simplify generator API
3581           Instead of using a parent structure that has to be derived by API
3582           consumers, this change propse a simplification by using the common
3583           pattern of GTK of passing a function pointer and user data which will
3584           be passed as its parameter. That user data contains the state and the
3585           function will be called to update that state.
3586
3587 2020-01-10 10:14:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3588
3589         * gst-libs/gst/vaapi/gstvaapiblend.c:
3590         * gst-libs/gst/vaapi/gstvaapiblend.h:
3591           libs: blend: remove begin/render/end API
3592           This API was risky and is superseded by the surface
3593           generator (process) API.
3594           Resolves #219
3595
3596 2020-01-10 10:12:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3597
3598         * gst/vaapi/gstvaapioverlay.c:
3599           vaapioverlay: use blend surface generator API
3600           See #219
3601
3602 2020-01-10 09:54:30 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3603
3604         * gst-libs/gst/vaapi/gstvaapiblend.c:
3605         * gst-libs/gst/vaapi/gstvaapiblend.h:
3606           libs: blend: add surface generator API
3607           This new API allows the user to call a single method (process)
3608           which handles the [display] lock/unlock logic internally for
3609           them.
3610           This API supersedes the risky begin, render, end API.
3611           It eliminates the need for the user to call a lock method
3612           (process_begin) before processing the input buffers
3613           (process_render) and calling an unlock method (process_end)
3614           afterwards.
3615           See #219
3616
3617 2019-12-23 14:29:08 +0800  He Junyan <junyan.he@hotmail.com>
3618
3619         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3620         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3621         * gst/vaapi/gstvaapiencode.c:
3622         * gst/vaapi/gstvaapiencode.h:
3623         * gst/vaapi/gstvaapiencode_h264.c:
3624         * gst/vaapi/gstvaapiencode_h265.c:
3625           plugin: encode: List all possible profiles to detect input formats.
3626           The current get_profile just return one possible profile for the encode,
3627           which is not enough.  For example, if we want to support HEVC 4:4:4
3628           profile, the input of encode should be VYUA rather than NV12 in HEVC
3629           main profile. So the command line:
3630           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
3631           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
3632           tune=low-power init-qp=30 ! fakesink
3633           can not work because vaapih265enc just report NV12 in sink caps, we need
3634           to specify the profile obviously like:
3635           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
3636           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
3637           tune=low-power init-qp=30 ! capsfilter caps=video/x-h265, \
3638           profile=main-444 ! fakesink
3639           The encode should have the ability to choose the profile based on input
3640           format automatically. If the input video format is VUYA, the main-444
3641           profile should be auto choosed.
3642           We modify to let get_allowed_profiles of each encode sub class to return
3643           an array of all supported profiles based on downstream's allowed caps, or
3644           return NULL if no valid profiles specified by downstream.
3645           If no allowed profiles found, all profiles which belong to the current
3646           encoder's codec will be the candidates.
3647           The function gst_vaapi_encoder_get_surface_attributes collects the surface's
3648           attributes for that profile list we just get.
3649           So for this case, both NV12 and VUYA should be returned.
3650           TODO: some codec like VP9, need to implement the get_profile() function.
3651
3652 2020-01-08 15:07:36 +0800  He Junyan <junyan.he@hotmail.com>
3653
3654         * gst/vaapi/gstvaapipluginutil.c:
3655         * gst/vaapi/gstvaapipluginutil.h:
3656           plugin: util: add helper function to detect profiles in caps.
3657
3658 2020-01-08 15:04:18 +0800  He Junyan <junyan.he@hotmail.com>
3659
3660         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3661         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3662           libs: encoder: add a helper function to get all supported profiles
3663
3664 2020-01-13 15:34:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
3665
3666         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3667           libs: decoder: Don't unref null object
3668           ** (gst-launch-1.0:9789): CRITICAL **: 15:29:09.330:
3669           gst_vaapi_context_unref: assertion 'context != NULL' failed
3670
3671 2020-01-10 09:26:44 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3672
3673         * gst/vaapi/gstvaapioverlay.c:
3674           plugins: overlay: use proper NULL check on double pointer
3675           Check the address of the variable is not NULL,
3676           not the address of the pointer.
3677
3678 2020-01-08 23:42:21 +0800  He Junyan <junyan.he@hotmail.com>
3679
3680         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
3681           libs: codedbuf: delete a useless field.
3682           The context field in GstVaapiCodedBuffer is not inited correctly
3683           and is never used, just delete it.
3684
3685 2019-12-29 17:57:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3686
3687         * gst/vaapi/gstvaapipluginutil.c:
3688           plugins: add iHD driver in whitelist
3689
3690 2020-01-02 21:02:40 +0800  He Junyan <junyan.he@hotmail.com>
3691
3692         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3693           libs: encoder: modify 265 SPS header's profile compatibility flag.
3694           Make the SPS profile compatibility flags more precisely conform to
3695           the HEVC Spec.
3696
3697 2020-01-06 19:39:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3698
3699         * tests/check/elements/vaapioverlay.c:
3700           test: vaapioverlay: bail test if not available
3701           vaapioverlay is only registered if the VA driver support the blend
3702           operation.
3703           This patch only executes the test if vaapioverlay is available,
3704           otherwise the test is bail out without raising an error.
3705
3706 2020-01-06 14:53:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3707
3708         * tests/check/elements/vaapioverlay.c:
3709           tests: vaapioverlay: force drm backend
3710
3711 2019-12-22 17:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3712
3713         * gst-libs/gst/vaapi/gstvaapiblend.c:
3714           libs: blend: update to new mini-object API
3715
3716 2019-11-19 13:48:22 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3717
3718         * tests/check/elements/vaapioverlay.c:
3719         * tests/check/meson.build:
3720           tests: check: add basic vaapioverlay test
3721           Add test_overlay_position test to verify sink_1 input
3722           is overlayed onto sink_0 input at the appropriate
3723           position.
3724
3725 2019-11-14 12:03:57 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3726
3727         * gst/vaapi/gstvaapi.c:
3728         * gst/vaapi/gstvaapioverlay.c:
3729         * gst/vaapi/gstvaapioverlay.h:
3730         * gst/vaapi/meson.build:
3731           plugins: add vaapioverlay plugin
3732           A plugin similar to the base compositor element but
3733           uses VA-API VPP blend functions to accelerate the
3734           overlay/compositing.
3735           Simple example:
3736           gst-launch-1.0 -vf videotestsrc ! vaapipostproc \
3737           ! tee name=testsrc ! queue \
3738           ! vaapioverlay sink_1::xpos=300 sink_1::alpha=0.75 \
3739           name=overlay ! vaapisink testsrc. ! queue ! overlay.
3740
3741 2019-11-14 12:02:19 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3742
3743         * gst-libs/gst/vaapi/gstvaapiblend.c:
3744         * gst-libs/gst/vaapi/gstvaapiblend.h:
3745         * gst-libs/gst/vaapi/meson.build:
3746           libs: add a vaapi blend class
3747           Support for the VA-API VPP blend functions.
3748
3749 2019-11-14 11:54:59 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3750
3751         * gst/vaapi/gstvaapipluginbase.c:
3752         * gst/vaapi/gstvaapipluginbase.h:
3753           plugins: base: add GstVideoAggregator subclass support
3754
3755 2020-01-05 19:32:16 +0800  He Junyan <junyan.he@hotmail.com>
3756
3757         * gst-libs/gst/vaapi/gstvaapiimage.c:
3758           libs: image: init all image fields correctly.
3759
3760 2020-01-06 17:41:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
3761
3762         * gst/vaapi/gstvaapipostproc.c:
3763           doc: fix pipeline typo in vaapipostproc
3764
3765 2020-01-02 21:11:44 +0800  He Junyan <junyan.he@hotmail.com>
3766
3767         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3768           libs: encoder: modify 265 VPS header fields.
3769           vps_base_layer_internal_flag and vps_base_layer_available_flag
3770           have been clearly defined now.
3771
3772 2020-01-01 19:54:13 +0800  He Junyan <junyan.he@hotmail.com>
3773
3774         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
3775           libs: display: fix a resource leak in X11 pixmap format.
3776
3777 2020-01-02 18:00:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3778
3779         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3780         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
3781           libs: utils: delete useless gst_vaapi_profile_caps_append_encoder.
3782
3783 2019-12-30 14:09:17 +0800  He Junyan <junyan.he@hotmail.com>
3784
3785         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3786         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3787         * gst/vaapi/gstvaapiencode.c:
3788           libs: encoder: get surfaces resolution the same time with formats.
3789           We can get all the information about the video format at one shot
3790           when we create the test context for getting the supported formats.
3791           The current way to get the width and height ranges are inefficient,
3792           since it calls the function gst_vaapi_profile_caps_append_encoder()
3793           and it creates another temporal context to detect the resolution
3794           information.
3795           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3796
3797 2019-12-28 17:42:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3798
3799         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3800           libs: encoder: vp9: fix code style
3801
3802 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
3803
3804         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3805         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3806         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3807         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3808         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3809           libs: encoder: set entrypoint based on tune automatically
3810           Some profile, such as H265_MAIN_444 on new Intel platform, may only
3811           support ENTRYPOINT_SLICE_ENCODE_LP entrypoint. This leads two
3812           problems:
3813           1. We need to specify the tune mode like `vaapih265enc tune=low-power`
3814           every time when we need to use this kind of profile. Or we can not
3815           create the encoder context successfully.
3816           2. More seriously, we set the entrypoint to a fixed value in
3817           init_context_info() and so the create_test_context_config() can not
3818           create the test context for these profile and can not get the
3819           supported video formats, either.
3820           We now change the entrypoint setting based on the tune option of the
3821           encoder. If no tune property provided, we just choose the first
3822           available entrypoint.
3823
3824 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
3825
3826         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3827         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3828         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3829         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3830         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3831         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3832         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3833           libs: encoder: set context info profile by encoder
3834           Instead of init_context_info() setting the passed profile, it is
3835           assumed that it has to be set by each encoder.
3836           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3837
3838 2019-12-27 18:49:02 +0100  He Junyan <junyan.he@hotmail.com>
3839
3840         * gst-libs/gst/vaapi/gstvaapicontext.c:
3841         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3842           libs: context: add invalid entrypoint symbol
3843           The symbol GST_VAAPI_ENTRYPOINT_INVALID is just a representation of
3844           zero, which was already used as an invalid value tacitly. This patch
3845           only makes it explicit.
3846           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3847
3848 2019-12-29 01:13:29 +0800  He Junyan <junyan.he@hotmail.com>
3849
3850         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
3851           libs: pixmap: Fix a pixmap creation crash.
3852           We use GST_VAAPI_OBJECT_NATIVE_DISPLAY with wrong parameter for x11
3853           pixmap creation, which causes crash if we run the internal test case
3854           of:
3855           test-decode --pixmap
3856
3857 2019-12-22 14:35:18 +0800  He Junyan <junyan.he@hotmail.com>
3858
3859         * gst/vaapi/gstvaapiencode.c:
3860           plugin: encode: set allowed_sinkpad_caps to empty.
3861           We now set encode->allowed_sinkpad_caps to NULL if we fail to get
3862           surfaces formats. This causes two problem:
3863           1. gst_video_encoder_proxy_getcaps use NULL as its caps parameter,
3864           which changes its behavior. It will use encode's sinkpad template
3865           rather than empty caps to do the clip job. So even if we fail to set
3866           allowed_sinkpad_caps, gst_video_encoder_proxy_getcaps can still return
3867           valid caps.
3868           2. We should just set the allowed_sinkpad_caps once. The NULL point
3869           make the ensure_allowed_sinkpad_caps function works again and again.
3870
3871 2019-12-22 15:22:57 +0800  He Junyan <junyan.he@hotmail.com>
3872
3873         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3874           libs: encoder: Add NULL pointer check for context when finalize.
3875           Context may be NULL if pipeline fail in early stage, and the
3876           ensure_context will not be called. Need to add a pointer protection
3877           for it.
3878
3879 2019-12-20 06:38:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
3880
3881         * gst/vaapi/gstvaapipluginbase.c:
3882           plugins: base: do not reset can_dmabuf
3883           Don't reset the can_dmabuf field.  This restores the
3884           close/reset logic that existed prior to commit
3885           ca2942176b5632e07eebac23336954f9aaf1cb26 in regards to
3886           dmabuf support.
3887           Plugins only call gst_vaapi_plugin_base_set_srcpad_can_dmabuf
3888           once during startup, but may need to reset the other private
3889           fields multiple times during negotiation.  Thus, can_dmabuf
3890           should be exempt from the resets.
3891           Fixes #208
3892
3893 2019-12-06 00:21:12 +0800  He Junyan <junyan.he@hotmail.com>
3894
3895         * gst/vaapi/gstvaapiencode.c:
3896           plugin: encode: Refine encode's sink caps.
3897           The old manner to get the encode's sink caps is not correct.
3898           Such as 264 encode, it gets:
3899           video/x-raw(memory:VASurface),
3900           format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210,
3901           P010_10LE, AYUV, Y410, Y444 }, width=(int)[ 32, 4096 ],
3902           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
3903           video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA },
3904           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
3905           framerate=(fraction)[ 0/1, 2147483647/1 ];
3906           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3907           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
3908           where the formats for memory:VASurface and memory:DMABuf are superfluous.
3909           All the "I420, YV12, YUY2, UYVY, Y210, RGBA" can not be really used as
3910           input format for encoder.
3911           We should get:
3912           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3913           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
3914           video/x-raw(memory:VASurface), format=(string){ NV12 },
3915           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
3916           framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf),
3917           format=(string){ NV12 }, width=(int)[ 32, 4096 ],
3918           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
3919           as the correct result.
3920
3921 2019-12-20 08:37:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3922
3923         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3924         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3925           libs: display: code clean up
3926
3927 2019-12-12 21:34:21 +0800  He Junyan <junyan.he@hotmail.com>
3928
3929         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3930         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
3931         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3932           libs: display: refine the profile/entrypoint map.
3933           The old way make the one config for each profile/entrypoint pair,
3934           which is not very convenient for description the relationship
3935           between them. One profile may contain more than one entrypoints
3936           to within it, so a set like data structure should be more suitable.
3937
3938 2019-12-19 14:19:10 +0100  He Junyan <junyan.he@hotmail.com>
3939
3940         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3941         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
3942         * gst-libs/gst/vaapi/gstvaapicontext.c:
3943         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3944         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3945         * gst-libs/gst/vaapi/gstvaapifilter.c:
3946         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
3947         * gst-libs/gst/vaapi/gstvaapisurface.c:
3948         * gst-libs/gst/vaapi/gstvaapisurface.h:
3949         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
3950         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
3951         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
3952         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3953         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3954         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
3955         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
3956         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3957         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3958         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3959         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3960         * gst/vaapi/gstvaapipluginbase.c:
3961         * gst/vaapi/gstvaapivideomemory.c:
3962         * gst/vaapi/gstvaapivideometa.c:
3963         * gst/vaapi/gstvaapivideometa_texture.c:
3964         * tests/internal/image.c:
3965         * tests/internal/test-filter.c:
3966         * tests/internal/test-surfaces.c:
3967         * tests/internal/test-windows.c:
3968           libs: surface: port to GstMiniObject
3969           GstVaapiMiniObject and GstVaapiObject are deprecated.
3970           This is the first step to remove them by porting GstVaapiSurface as
3971           a GstMiniBuffer descendant.
3972           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3973
3974 2019-12-19 18:26:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3975
3976         * gst-libs/gst/vaapi/gstvaapisurface.c:
3977           libs: surface: rename create function names to init
3978           There are several internal functions with 'create' name, but they
3979           don't create any new structure, but rather it initializes that
3980           structure. Renaming those function to reflect better their purpose.
3981
3982 2019-12-19 14:17:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3983
3984         * gst-libs/gst/vaapi/gstvaapisurface.c:
3985           libs: surface: use macro accessors
3986
3987 2019-12-19 13:46:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3988
3989         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
3990           libs: surface: fix internal documentation
3991
3992 2019-12-18 18:00:49 +0100  He Junyan <junyan.he@hotmail.com>
3993
3994         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
3995         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
3996         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
3997         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3998         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3999         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4000         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4001         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4002         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4003         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4004         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4005         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4006         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
4007         * gst-libs/gst/vaapi/gstvaapivideopool.c:
4008           libs: codedbuffer: port to GstMiniObject
4009           GstVaapiMiniObject and GstVaapiObject are deprecated.
4010           This is the first step to remove them by porting GstVaapiCodedBuffer
4011           as a GstMiniBuffer descendant.
4012           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4013
4014 2019-12-18 12:57:01 +0100  He Junyan <junyan.he@hotmail.com>
4015
4016         * gst-libs/gst/vaapi/gstvaapiimage.c:
4017         * gst-libs/gst/vaapi/gstvaapiimage.h:
4018         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
4019         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
4020         * gst-libs/gst/vaapi/gstvaapisurface.c:
4021         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
4022         * gst-libs/gst/vaapi/gstvaapivideopool.c:
4023         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4024         * gst/vaapi/gstvaapipluginbase.c:
4025         * gst/vaapi/gstvaapivideomemory.c:
4026         * gst/vaapi/gstvaapivideometa.c:
4027         * tests/internal/image.c:
4028         * tests/internal/simple-encoder.c:
4029         * tests/internal/test-fei-enc-in.c:
4030         * tests/internal/test-filter.c:
4031         * tests/internal/test-windows.c:
4032           libs: image: port to GstMiniObject base class
4033           GstVaapiMiniObject and GstVaapiObject are deprecrated. This is the
4034           first step to remove them, by porting GstVaapiImage as a
4035           GstMiniObject.
4036           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4037
4038 2019-09-24 01:01:22 +0800  He Junyan <junyan.he@hotmail.com>
4039
4040         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
4041         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
4042         * gst-libs/gst/vaapi/gstvaapicontext.c:
4043         * gst-libs/gst/vaapi/gstvaapicontext.h:
4044         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4045         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4046         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4047         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
4048           libs: context: port to a plain C structure
4049           The GstVaapiMiniObject is obsolete and we need to replace it. This
4050           patch turns GstVaapiContext into a plain C structure with its own
4051           reference counting mechanism.
4052           Also this patch removes unused overlays attributes.
4053           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4054
4055 2019-12-18 00:40:58 +0800  He Junyan <junyan.he@hotmail.com>
4056
4057         * gst/vaapi/gstvaapiencode_h264.c:
4058         * gst/vaapi/gstvaapiencode_h264_fei.c:
4059         * gst/vaapi/gstvaapiencode_h265.c:
4060         * gst/vaapi/gstvaapiencode_jpeg.c:
4061         * gst/vaapi/gstvaapiencode_mpeg2.c:
4062         * gst/vaapi/gstvaapiencode_vp8.c:
4063         * gst/vaapi/gstvaapiencode_vp9.c:
4064           plugin: encode: change the dmabuf caps to all supported formats.
4065           The encode's dmabuf caps definition is obsolete, it can support
4066           more formats now. Re-define it to include all supported formats
4067           in video format map.
4068
4069 2019-12-17 17:09:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4070
4071         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4072           libs: encoder: h264fei: remove unnecessary check
4073           Issue detected by Coverity
4074           `info_to_pack.h264_slice_header` is always allocated by
4075           gst_vaapi_feipak_h264_encode(), thus checking it to free it afterwards
4076           in doesn't make much sense.  But it requires to be free on the error
4077           path.
4078           There may be a null pointer dereference, or else the comparison
4079           against null is unnecessary.
4080           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
4081           pointer comparison already dereference the pointer earlier
4082
4083 2019-12-17 17:05:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4084
4085         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4086           libs: encoder: h264fei: remove unnecessary assert
4087           Issue detected by Coverity
4088           An unsigned value can never be negative, so this test will always
4089           evaluate the same way.
4090           In add_slice_headers: An unsigned value can never be less than 0
4091
4092 2019-12-17 16:57:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4093
4094         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4095           libs: encoder: h264fei: remove unnecessary check
4096           Issue detected by Coverity
4097           There may be a null pointer dereference, or else the comparison
4098           against null is unnecessary.
4099           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
4100           pointer comparison already dereference the pointer earlier
4101
4102 2019-12-17 16:49:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4103
4104         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4105         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4106           libs: encoder: h264fei: don't free memory on stack
4107           Issue detected by Coverity
4108           `info_to_pak` variable in gst_vaapi_encoder_h264_fei_encode() is
4109           declared in the stack, but it is free in
4110           gst_vaapi_feienc_h264_encode() as if declared on the heap.
4111           This patch initializes the structure and removes the free.
4112           A non-heap pointer is placed on the free list, likely causing a crash
4113           later.
4114           In gst_vaapi_encoder_h264_fei_encode: Free of an address-of
4115           expression, which can never be heap allocated.
4116
4117 2019-12-17 13:22:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4118
4119         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4120           libs: encoder: h264fei: fix surface leak
4121           Issue detected by Coverity
4122           If the FEI mode is not handled the created resources should be
4123           released and return and error code.
4124           The system resource will not be reclaimed and reused, reducing the
4125           future availability of the resource.
4126           In gst_vaapi_encoder_h264_fei_encode: Leak of memory or pointers to
4127           system resources
4128
4129 2019-12-17 13:09:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4130
4131         * tests/check/elements/vaapipostproc.c:
4132           tests: check return calling of gst_navigation_event_parse.*
4133           This issue was detected by Coverity.
4134           If the function returns an error value, the error value may be mistaken
4135           for a normal value.
4136           In cb_mouse_event: Value returned from a function is not checked for
4137           errors before being used
4138
4139 2019-12-16 16:25:02 +0800  He Junyan <junyan.he@hotmail.com>
4140
4141         * gst/vaapi/gstvaapiencode_h264.c:
4142         * gst/vaapi/gstvaapiencode_h264_fei.c:
4143         * gst/vaapi/gstvaapiencode_h265.c:
4144         * gst/vaapi/gstvaapiencode_jpeg.c:
4145         * gst/vaapi/gstvaapiencode_mpeg2.c:
4146         * gst/vaapi/gstvaapiencode_vp8.c:
4147         * gst/vaapi/gstvaapiencode_vp9.c:
4148           plugin: encode: set sink's raw caps to GST_VAAPI_FORMATS_ALL.
4149           Then encode plugin just supports raw formats declared in vaapi video
4150           format map. This modification makes the template caps more precise.
4151
4152 2019-11-14 11:13:51 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
4153
4154         * gst/vaapi/gstvaapipluginbase.c:
4155           plugins: base: add GstPad param to internal helper functions
4156           The base plugin public API function implementations determine
4157           which pad should be passed to the internal helper functions.
4158           Currently, only the base plugin static sinkpad and static
4159           srcpad are supported/used.  However, this change enables future
4160           API functions to be added that can accept a pad (i.e. request pad)
4161           from an element subclass (e.g. a GstVideoAggregator subclass).
4162
4163 2019-11-12 12:21:52 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
4164
4165         * gst/vaapi/gstvaapipluginbase.c:
4166         * gst/vaapi/gstvaapipluginbase.h:
4167           plugins: base: manage pad-specific data in a single struct
4168           Define a struct (GstVaapiPadPrivate) to encapsulate the
4169           pad-specific data (i.e. buffer pool, allocator, info,
4170           caps, etc.).
4171           Add an interface to retrieve the data struct for a given
4172           pad.
4173           Finally, update the base plugin to use the data struct
4174           throughout the implementation.
4175           This will enable us to easily extend the base plugin in the
4176           future to allow for N-to-1 pad subclasses (e.g. overlay/
4177           composite).
4178
4179 2019-10-29 15:13:44 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4180
4181         * gst/vaapi/gstvaapidecode.c:
4182         * gst/vaapi/gstvaapiencode.c:
4183         * gst/vaapi/gstvaapipluginbase.h:
4184         * gst/vaapi/gstvaapipostproc.c:
4185           plugins: use plugin base macros to access pad specific data
4186           Don't access base struct fields directly since the underlying
4187           definition can change.  Instead, use the accessor macros.
4188
4189 2019-12-03 00:52:45 +0800  He Junyan <junyan.he@hotmail.com>
4190
4191         * gst/vaapi/gstvaapidecode.c:
4192           libs: decoder: Modify decode src's template raw formats
4193           We do not need to maintain a standalone list of decoder's output
4194           template for raw formats and that is easy to make mistake(for
4195           example, the AYVU is wrong in that list, should be VUYA).
4196           Just use GST_VAAPI_FORMATS_ALL to replace the raw formats list for
4197           src template.
4198
4199 2019-12-11 14:11:13 +0800  He Junyan <junyan.he@hotmail.com>
4200
4201         * gst/vaapi/gstvaapipostproc.c:
4202           libs: postproc: Modify src/sink template raw formats
4203           We need to provide more precise template caps for postproc's src
4204           and sink pads. The GST_VIDEO_FORMATS_ALL make all video formats
4205           available which are really superfluous.
4206
4207 2019-12-10 18:40:42 -0300  Thibault Saunier <tsaunier@igalia.com>
4208
4209         * tests/check/elements/vaapipostproc.c:
4210           Do not mix declaration and code
4211
4212 2019-11-03 17:59:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4213
4214         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4215           libs: decoder: h265: skip all pictures prior the first I-frame
4216           Don't try to decode until the first I-frame is received within the
4217           currently active sequence. i965 H265 decoder don't show any artifact
4218           but it crashes.
4219           Fixes: #98
4220
4221 2019-11-27 01:44:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4222
4223         * gst-libs/gst/vaapi/video-format.c:
4224           libs: video-format: remove dead code
4225
4226 2019-10-31 00:59:34 +0800  He Junyan <junyan.he@hotmail.com>
4227
4228         * gst-libs/gst/vaapi/video-format.c:
4229         * gst-libs/gst/vaapi/video-format.h:
4230         * gst/vaapi/gstvaapipluginutil.h:
4231           libs: video-format: add GST_VAAPI_FORMATS_ALL
4232           GST_VAAPI_FORMATS_ALL collects all declared formats in video-format
4233           as a caps template string, and make them available in caps with
4234           memory:VASurface feature.
4235           Fixes: #199
4236
4237 2019-11-06 22:37:12 +0800  He Junyan <junyan.he@hotmail.com>
4238
4239         * gst-libs/gst/vaapi/video-format.c:
4240         * tests/internal/test-windows.c:
4241           libs: video-format: change GST_VIDEO_FORMAT_AYUV to VUYA.
4242           We only support VUYA format in gst vaapi now, need to correct
4243           the mapping.
4244
4245 2019-10-09 15:13:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4246
4247         * tests/check/elements/vaapipostproc.c:
4248           tests: check: vaapipostproc test_orientation_mouse_events
4249           Test that vaapipostproc properly translates mouse events
4250           when using video-direction (orientation).
4251
4252 2019-10-09 10:11:54 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4253
4254         * tests/check/elements/vaapipostproc.c:
4255         * tests/check/meson.build:
4256           tests: check: vaapipostproc test_crop_mouse_events
4257           Test that vaapipostproc properly translates mouse events
4258           when cropping.
4259
4260 2019-10-08 12:20:26 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4261
4262         * meson.build:
4263         * meson_options.txt:
4264         * tests/check/elements/vaapipostproc.c:
4265         * tests/check/meson.build:
4266         * tests/meson.build:
4267           tests: check: initial unit test support
4268           Add minimal unit test toolchain files and a simple
4269           vaapipostproc unit test.
4270
4271 2019-10-08 12:19:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4272
4273         * meson.build:
4274         * tests/examples/meson.build:
4275         * tests/examples/test-roi.c:
4276         * tests/examples/test-vaapicontext.c:
4277         * tests/examples/test-vaapipostproc.c:
4278         * tests/examples/test-vaapisink.c:
4279         * tests/internal/codec.c:
4280         * tests/internal/codec.h:
4281         * tests/internal/decoder.c:
4282         * tests/internal/decoder.h:
4283         * tests/internal/image.c:
4284         * tests/internal/image.h:
4285         * tests/internal/meson.build:
4286         * tests/internal/output.c:
4287         * tests/internal/output.h:
4288         * tests/internal/simple-decoder.c:
4289         * tests/internal/simple-encoder.c:
4290         * tests/internal/test-decode.c:
4291         * tests/internal/test-decode.h:
4292         * tests/internal/test-display.c:
4293         * tests/internal/test-fei-enc-in.c:
4294         * tests/internal/test-fei-enc-out.c:
4295         * tests/internal/test-filter.c:
4296         * tests/internal/test-h264.c:
4297         * tests/internal/test-h264.h:
4298         * tests/internal/test-jpeg.c:
4299         * tests/internal/test-jpeg.h:
4300         * tests/internal/test-mpeg2.c:
4301         * tests/internal/test-mpeg2.h:
4302         * tests/internal/test-mpeg4.c:
4303         * tests/internal/test-mpeg4.h:
4304         * tests/internal/test-subpicture-data.c:
4305         * tests/internal/test-subpicture-data.h:
4306         * tests/internal/test-subpicture.c:
4307         * tests/internal/test-surfaces.c:
4308         * tests/internal/test-textures.c:
4309         * tests/internal/test-vc1.c:
4310         * tests/internal/test-vc1.h:
4311         * tests/internal/test-windows.c:
4312         * tests/internal/y4mreader.c:
4313         * tests/internal/y4mreader.h:
4314         * tests/meson.build:
4315           tests: move examples and tests to subfolders
4316           This makes way for adding unit (check) tests.
4317
4318 2019-10-14 01:01:27 +0100  Tim-Philipp Müller <tim@centricular.com>
4319
4320         * .gitmodules:
4321         * Makefile.am:
4322         * autogen.sh:
4323         * common:
4324         * configure.ac:
4325         * git.mk:
4326         * gst-libs/Makefile.am:
4327         * gst-libs/gst/Makefile.am:
4328         * gst-libs/gst/vaapi/Makefile.am:
4329         * gst/Makefile.am:
4330         * gst/vaapi/Makefile.am:
4331         * m4/Makefile.am:
4332         * tests/Makefile.am:
4333         * tests/elements/Makefile.am:
4334           Remove autotools build
4335
4336 2019-10-10 15:26:36 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4337
4338         * gst/vaapi/gstvaapipostproc.c:
4339           vaapipostproc: fix off-by-one coord translations
4340           When translating navigation x,y coordinates for
4341           video-direction, it is necessary to subtract 1
4342           when using the video dimensions to compute the
4343           new x,y coordinates.  That is, a 100x200 image
4344           should map coordinates in x=[0-99],y=[0-199].
4345           This issue was found with unit tests provided
4346           in !182.
4347
4348 2019-10-11 17:34:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4349
4350         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4351           libs: window: x11: Avoid usage of deprecated API
4352
4353 2019-10-11 17:13:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4354
4355         * meson.build:
4356           build: halt meson configuration if no renderer API
4357           We should halt meson configuration if there is no render API
4358           installed (either DRM, Wayland or X11).
4359           That behavior was already in autotools but missed in meson. This patch
4360           brings it back.
4361           Fixes: #196
4362
4363 2019-10-09 12:12:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4364
4365         * gst-libs/gst/vaapi/gstvaapifilter.c:
4366           libs: filter: fix default orientation regression
4367           Fix regression introduced in f232f87f7082
4368
4369 2019-10-07 11:53:23 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4370
4371         * gst-libs/gst/vaapi/gstvaapifilter.c:
4372           libs: filter: use OP_DATA_DEFAULT_VALUE macro
4373
4374 2019-10-07 11:39:19 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4375
4376         * gst-libs/gst/vaapi/gstvaapifilter.c:
4377           libs: filter: use macro for returning op default value
4378           The code is essentially the same for getting all op default
4379           values.  Thus, use a macro to help minimize code duplication
4380           and [hopefully] encourage using the same mechanism for all
4381           default getters.
4382
4383 2019-10-07 09:56:37 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4384
4385         * gst-libs/gst/vaapi/gstvaapifilter.c:
4386           libs: filter: query param spec for default scale method
4387           Related: #159
4388
4389 2019-10-07 09:44:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4390
4391         * gst-libs/gst/vaapi/gstvaapifilter.c:
4392           libs: filter: query param spec for default skin-tone values
4393           Related: #159
4394
4395 2019-10-02 12:54:52 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4396
4397         * gst-libs/gst/vaapi/gstvaapifilter.c:
4398           libs: filter: query param spec for default video-direction
4399           Related: #159
4400
4401 2019-10-07 10:23:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4402
4403         * .gitignore:
4404           add .gitignore
4405
4406 2019-09-05 16:40:52 +0800  Yan Wang <yan.wang@linux.intel.com>
4407
4408         * gst-libs/gst/vaapi/gstvaapifilter.c:
4409         * gst-libs/gst/vaapi/gstvaapifilter.h:
4410         * gst/vaapi/gstvaapipostproc.c:
4411         * gst/vaapi/gstvaapipostproc.h:
4412           vaapipostproc: Use level value for skin-tone-enhancement filter.
4413           Currently the parameter of skin-tone-enhancement filter is forced
4414           to zero. In fact it could be set different value by the user.
4415           So create a new property named as "skin-tone-enhancement-level"
4416           for accepting the used defined parameter value.
4417           At the same time, skin-tone-enhancement is marked as deprecated.
4418           When skin-tone-enhancement-level is set, skin-tone-enhancement
4419           will be ignored.
4420
4421 2019-09-21 13:39:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4422
4423         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4424         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4425           libs: decoder: h264, h266: fix g_return_val_if_fail() missuse
4426           g_return_val_fail() documentations says:
4427           If expr evaluates to FALSE, the current function should be
4428           considered to have undefined behaviour (a programmer error).
4429           The only correct solution to such an error is to change the
4430           module that is calling the current function, so that it avoids
4431           this incorrect call.
4432           So it was missused in a couple parts of the H264 and H265 internal
4433           decoders. This patch changes that to plain conditionals.
4434           Also, it was included a couple code-style fixes.
4435
4436 2019-09-23 19:52:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4437
4438         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4439         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4440         * tests/simple-encoder.c:
4441         * tests/test-fei-enc-in.c:
4442           libs: encoder: remove gst_vaapi_encoder_{ref,unref}()
4443           Since GstVaapiEncoder is a descendant of of GstObject, there is no
4444           need to keep a custom ref()/unref() methods. This patch deletes them.
4445
4446 2019-09-24 01:03:02 +0800  He Junyan <junyan.he@hotmail.com>
4447
4448         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4449           libs: encoder: correct encoder's ref/unref function.
4450           GstVaapiEncoder now is a standard gstobject and need to use
4451           gst_object_ref/unref functions.
4452
4453 2019-09-19 12:09:20 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4454
4455         * gst/vaapi/gstvaapiencode_h264_fei.c:
4456           gst: encode: h264_fei: remove useless comparison
4457           The expression "len >= 0" is always true since "len"
4458           is an unsigned type.  And it is clear that the writers
4459           intention was not to write "len > 0" since we handle
4460           len == 0 in the ensuing "if (len < 3)" conditional
4461           block.
4462
4463 2019-09-19 11:17:24 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4464
4465         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4466           libs: encoder: h264_fei: fix potential overflow before widen
4467           Found by static analysis. encoder->mb_width * encoder->mb_height
4468           is evaluated using 32-bit arithmetic before widen.  Thus, cast
4469           at least one of these to guint64 to avoid overflow.
4470
4471 2019-09-19 10:56:13 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4472
4473         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4474           libs: encoder: h264_fei: remove dead error condition
4475           Found by static analysis.  The feipak is always null
4476           when we reach the error target.
4477
4478 2019-09-19 10:49:11 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4479
4480         * gst-libs/gst/vaapi/gstvaapiutils.c:
4481           libs: utils: add missing break in switch
4482
4483 2019-09-11 11:56:35 +0800  He Junyan <junyan.he@hotmail.com>
4484
4485         * gst-libs/gst/vaapi/video-format.c:
4486           libs: video-format: Make all YUV format available
4487           The YUV formats have no ambiguity for drivers, so we can add them all.
4488           Some old driver(i965) does not implement full get/put image functions
4489           but can use derive image funtions for the YUV format. It does not
4490           report that kind of formats correctly in image query, but will derive
4491           that YUV format image from surface. The dynamic mapping of YUV format
4492           will block that manner.
4493           Adding more YUV format mapping has no side effect. So considering the
4494           legacy driver conformance, we add all YUV formats mapping statically
4495           and dynamic mapping RBG formats
4496           Fix: #189
4497           Fix: #190
4498
4499 2019-09-18 15:30:03 +1000  Matthew Waters <matthew@centricular.com>
4500
4501         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4502         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
4503           egl: Fix racyness in display thread creation
4504           Multiple different scenarios could break the display thread creation and
4505           end up blocking waiting for thread o be created.  Fix them all by
4506           correctly waiting for a new boolean to become valid.
4507
4508 2019-09-18 15:29:03 +1000  Matthew Waters <matthew@centricular.com>
4509
4510         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4511           egl: don't advertise a wrapped EGLContext as actually wrapped
4512           It's not actually wrapped as we create a new EGLContext from the passed
4513           in EGLContext.  As a result, the created EGLContext was never destroyed.
4514
4515 2019-09-16 23:28:31 +0800  He Junyan <junyan.he@hotmail.com>
4516
4517         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4518           libs: h264decoder: do not return error for unhandled NAL unit.
4519           Some streams have error data introducing unknown NAL type. There are
4520           also kinds of NAL types we do not want to handle. The old manner will
4521           set a decoder error when encounter this, which cause a latent crash bug.
4522           The decoder may successfully decode the picture and insert it into DPB.
4523           But there are error NAL units after the AU which cause the post unit error
4524           and make that frame dropped. The later output of the picture still want
4525           to ref that frame and crash.
4526           No need to set decoder error when can not recognize or handle the NAL
4527           unit, just skip it and continue.
4528           Fix: #191
4529
4530 2019-09-11 14:32:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4531
4532         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4533         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4534         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4535         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4536         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4537         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4538         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4539         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4540         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4541         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4542         * gst/vaapi/gstvaapiencode.c:
4543           libs: encoders: use GST_PARAM_USER_SHIFT to define internal params
4544           This patch makes use of GST_PARAM_USER_SHIFT to define the internal
4545           param in encoders to decide which parameters to expose. Thus
4546           gstreamer-vaapi will not interfere with any change in GStreamer in the
4547           future.
4548           Also, the internal symbol was change to
4549           GST_VAAPI_PARAM_ENCODER_EXPOSURE to keep the namespacing.
4550
4551 2019-09-09 18:06:51 +0800  He Junyan <junyan.he@hotmail.com>
4552
4553         * gst-libs/gst/vaapi/gstvaapiimage.c:
4554         * gst-libs/gst/vaapi/video-format.c:
4555           libs: Add BGR10A2_LE support for color space conversion.
4556           Fix: #179
4557
4558 2019-08-23 14:41:06 +0800  He Junyan <junyan.he@hotmail.com>
4559
4560         * gst-libs/gst/vaapi/gstvaapisurface.c:
4561           libs: surface: add pointer check for surface_new_from_formats.
4562           The command line:
4563           gst-launch-1.0 filesrc location=some_name.mjpeg ! jpegparse !
4564           vaapijpegdec !  videoconvert ! video/x-raw,format=I420 ! vaapisink
4565           will crash on i965 driver because of no pointer check.
4566           We now generate the video format map between GST format and VA format
4567           dynamically based on the image format returned by vaQueryImageFormats.
4568           i965 driver does to report image format of 444P and Y800 forcc, while
4569           the jpeg decoder context VASurfaceAttribPixelFormat use them. We can
4570           not recognize these format and pass a NULL pointer to
4571           gst_vaapi_surface_new_from_formats.
4572           We need to add a pointer check here and let the fallback logic handle
4573           this case correctly.
4574           Other drivers work well.
4575
4576 2019-09-07 13:23:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4577
4578         * gst-libs/gst/vaapi/gstvaapiutils.c:
4579           libs: utils: guard the VAEntrypointFEI symbol
4580           VAEntrypointFEI appeared in libva 2.0.0 (API version 1.0.0)
4581
4582 2019-09-05 14:48:22 +0800  He Junyan <junyan.he@hotmail.com>
4583
4584         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4585         * gst-libs/gst/vaapi/video-format.c:
4586         * gst-libs/gst/vaapi/video-format.h:
4587           libs: video-format: Refine the video format mapping.
4588           Improve the mapping between va format and gst format. The new map
4589           will be generated dynamically, based on the query result of image
4590           format in VA driver. Also consider the ambiguity of RGB color
4591           format in LSB mode.
4592
4593 2019-04-15 16:51:26 +0100  Philippe Normand <philn@igalia.com>
4594
4595         * gst/vaapi/gstvaapipluginutil.c:
4596           pluginutil: Remove Mesa from drivers white list
4597           The Mesa Gallium driver is poorly tested currently, leading to bad user
4598           experience for AMD users. The driver can be added back to the white list at
4599           runtime using the GST_VAAPI_ALL_DRIVERS environment variable.
4600
4601 2019-07-08 14:18:00 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4602
4603         * gst/vaapi/gstvaapipostproc.c:
4604         * gst/vaapi/gstvaapipostproc.h:
4605         * gst/vaapi/gstvaapipostprocutil.c:
4606           vaapipostproc: allow cropping via properties
4607           Add crop-left, crop-right, crop-top and crop-bottom
4608           properties to vaapipostproc.
4609
4610 2019-08-30 17:31:45 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4611
4612         * gst/vaapi/gstvaapipostproc.c:
4613           vaapipostproc: rotate outbuf and crop meta if forwarding
4614           When forwarding crop meta to downstream, the output
4615           buffer and crop meta need to be rotated, too.
4616           Test:
4617           for i in 90r 180 90l vert horiz ul-lr ur-ll
4618           do
4619           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4620           ! videocrop top=100 bottom=30 left=40 right=20 \
4621           ! vaapipostproc video-direction=$i \
4622           ! vaapisink & \
4623           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4624           ! videocrop top=100 bottom=30 left=40 right=20 \
4625           ! vaapipostproc video-direction=$i \
4626           ! identity drop-allocation=true \
4627           ! vaapisink
4628           done
4629
4630 2019-08-30 14:14:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4631
4632         * gst/vaapi/gstvaapipostproc.c:
4633           vaapipostproc: fix output buffer WxH for crop meta forwarding
4634           Adding crop meta x,y to w,h only compensates for left,top
4635           cropping.  But we also need to compensate for right,bottom
4636           cropping.
4637           The video meta contains the appropriate w,h (uncropped)
4638           values, so use it instead.
4639           Test:
4640           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4641           ! videocrop top=50 bottom=30 left=40 right=20 \
4642           ! vaapipostproc ! vaapisink & \
4643           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
4644           ! videocrop top=50 bottom=30 left=40 right=20 \
4645           ! vaapipostproc ! identity drop-allocation=1 \
4646           ! vaapisink
4647
4648 2019-09-04 10:52:51 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4649
4650         * gst/vaapi/gstvaapipostproc.c:
4651           vaapipostproc: handle size and direction together in src events
4652           Mapping a pointer event needs to consider both size and
4653           video-direction operations together, not just one or the other.
4654           This fixes an issue where x,y were not being mapped correctly
4655           for 90r, 90l, ur-ll and ul-lr video-direction. In these directions,
4656           the WxH are swapped and GST_VAAPI_POSTPROC_FLAG_SIZE is set.  Thus,
4657           the first condition in the pointer event handling was entered and
4658           x,y scale factor were incorrectly computed due to srcpad WxH
4659           swap.
4660           This also fixes all cases where both video-direction and scaling
4661           are enabled at the same time.
4662           Test that all pointer events map appropriately:
4663           for i in `seq 0 7`
4664           do
4665           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4666           ! vaapipostproc video-direction=${i} width=300 \
4667           ! vaapisink
4668           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4669           ! vaapipostproc video-direction=${i} width=300 height=200 \
4670           ! vaapisink
4671           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4672           ! vaapipostproc video-direction=${i} height=200 \
4673           ! vaapisink
4674           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
4675           ! vaapipostproc video-direction=${i} \
4676           ! vaapisink
4677           done
4678
4679 2019-08-20 14:22:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
4680
4681         * gst/vaapi/gstvaapipostproc.c:
4682         * gst/vaapi/gstvaapipostproc.h:
4683           vaapipostproc: advertise crop meta is handled
4684           Advertise to upstream that vaapipostproc can handle
4685           crop meta.
4686           When used in conjunction with videocrop plugin, the
4687           videocrop plugin will only do in-place transform on the
4688           crop meta when vaapipostproc advertises the ability to
4689           handle it.  This allows vaapipostproc to apply the crop
4690           meta on the output buffer using vaapi acceleration.
4691           Without this advertisement, the videocrop plugin will
4692           crop the output buffer directly via software methods,
4693           which is not what we desire.
4694           vaapipostproc will not apply the crop meta if downstream
4695           advertises crop meta handling; vaapipostproc will just
4696           forward the crop meta to downstream.  If crop meta is
4697           not advertised by downstream, then vaapipostproc will
4698           apply the crop meta.
4699           Examples:
4700           1. vaapipostproc will forward crop meta to vaapisink
4701           gst-launch-1.0 videotestsrc \
4702           ! videocrop left=10 \
4703           ! vaapipostproc \
4704           ! vaapisink
4705           2. vaapipostproc will do the cropping
4706           gst-launch-1.0 videotestsrc \
4707           ! videocrop left=10 \
4708           ! vaapipostproc \
4709           ! identity drop-allocation=1 \
4710           ! vaapisink
4711
4712 2019-08-29 18:44:36 +0800  He Junyan <junyan.he@hotmail.com>
4713
4714         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4715           libs: encoder: clean two virtual func in encoder class
4716           set_property and get_default_properties functions are no longer
4717           needed for encoder class.
4718
4719 2019-08-29 18:43:30 +0800  He Junyan <junyan.he@hotmail.com>
4720
4721         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4722         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4723           libs: encoder: delete old set_property and property enum feienc264
4724
4725 2019-08-29 18:39:27 +0800  He Junyan <junyan.he@hotmail.com>
4726
4727         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4728         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4729           libs: encoder: delete old set_property and property enum in h264 fei
4730
4731 2019-08-29 18:37:58 +0800  He Junyan <junyan.he@hotmail.com>
4732
4733         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4734         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4735           libs: encoder: delete old set_property and property enum in vp9
4736
4737 2019-08-29 18:36:51 +0800  He Junyan <junyan.he@hotmail.com>
4738
4739         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4740         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4741           libs: encoder: delete old set_property and property enum in vp8
4742
4743 2019-08-29 18:35:59 +0800  He Junyan <junyan.he@hotmail.com>
4744
4745         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4746         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4747           libs: encoder: delete old set_property and property enum in mpeg2
4748
4749 2019-08-29 18:34:57 +0800  He Junyan <junyan.he@hotmail.com>
4750
4751         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4752         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4753           libs: encoder: delete old set_property and property enum in jpeg
4754
4755 2019-08-29 18:31:56 +0800  He Junyan <junyan.he@hotmail.com>
4756
4757         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4758         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4759           libs: encoder: delete old set_property and property enum in h265
4760
4761 2019-08-29 18:30:07 +0800  He Junyan <junyan.he@hotmail.com>
4762
4763         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4764         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4765           libs: encoder: delete old set_property and property enum in h264
4766
4767 2019-08-29 18:17:42 +0800  He Junyan <junyan.he@hotmail.com>
4768
4769         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4770         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4771         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4772           libs: encoder: delete EncoderPropInfo related functions
4773
4774 2019-08-29 16:13:19 +0800  He Junyan <junyan.he@hotmail.com>
4775
4776         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4777         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4778           libs: encoder: delete encoder_set_property
4779           We no longer need this obsolete set_property function now after
4780           switch to standard gobject's property manner.
4781           Also delete the old encoder's property enum in the header file.
4782
4783 2019-08-29 15:59:43 +0800  He Junyan <junyan.he@hotmail.com>
4784
4785         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4786         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4787           libs: encoder: delete properties_get_default for base class
4788
4789 2019-08-29 15:52:04 +0800  He Junyan <junyan.he@hotmail.com>
4790
4791         * gst/vaapi/gstvaapiencode.c:
4792         * gst/vaapi/gstvaapiencode.h:
4793           plugin: encode: delete useless init_properties.
4794           Also delete the get_properties function in encode class. We now
4795           use g_object_class_list_properties to get all properties for
4796           internal encoder class.
4797
4798 2019-08-29 15:43:45 +0800  He Junyan <junyan.he@hotmail.com>
4799
4800         * gst/vaapi/gstvaapiencode.c:
4801         * gst/vaapi/gstvaapiencode.h:
4802           plugin: encode: delete set/get_property func in encode class
4803           Use standard gobject's property functions to replace the old way.
4804
4805 2019-08-29 15:31:16 +0800  He Junyan <junyan.he@hotmail.com>
4806
4807         * gst/vaapi/gstvaapiencode.c:
4808         * gst/vaapi/gstvaapiencode.h:
4809           plugin: encode: delete gst_vaapiencode_init_properties
4810           No need to init the properties got by get_default_properties func
4811           now. The properties are inited correctly in internal encoder class.
4812
4813 2019-08-29 15:19:10 +0800  He Junyan <junyan.he@hotmail.com>
4814
4815         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4816           libs: encoder: delete 3 useless init macro
4817
4818 2019-08-29 15:16:26 +0800  He Junyan <junyan.he@hotmail.com>
4819
4820         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4821         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
4822           libs: encoder: delete get_default_properties of feienc
4823
4824 2019-08-29 15:14:14 +0800  He Junyan <junyan.he@hotmail.com>
4825
4826         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4827         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
4828           libs: encoder: delete get_default_properties of H264 Fei
4829
4830 2019-08-29 15:07:17 +0800  He Junyan <junyan.he@hotmail.com>
4831
4832         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4833         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4834           libs: encoder: delete get_default_properties of VP9
4835
4836 2019-08-29 15:06:25 +0800  He Junyan <junyan.he@hotmail.com>
4837
4838         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4839         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
4840           libs: encoder: delete get_default_properties of VP8
4841
4842 2019-08-29 15:03:52 +0800  He Junyan <junyan.he@hotmail.com>
4843
4844         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4845         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
4846           libs: encoder: delete get_default_properties of MPEG2
4847
4848 2019-08-29 15:03:19 +0800  He Junyan <junyan.he@hotmail.com>
4849
4850         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4851         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
4852           libs: encoder: delete get_default_properties of JPEG
4853
4854 2019-08-30 19:15:38 +0800  He Junyan <junyan.he@hotmail.com>
4855
4856         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4857         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
4858           libs: encoder: delete get_default_properties of H265
4859
4860 2019-08-29 14:59:12 +0800  He Junyan <junyan.he@hotmail.com>
4861
4862         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4863         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4864           libs: encoder: delete get_default_properties of H264
4865
4866 2019-08-29 14:53:59 +0800  He Junyan <junyan.he@hotmail.com>
4867
4868         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4869           libs: encoder: delete the useless constructed func for encoder.
4870
4871 2019-08-26 23:16:33 +0800  He Junyan <junyan.he@hotmail.com>
4872
4873         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4874         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4875         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4876           libs: encoder: implement get_view_ids for h264 encoder.
4877
4878 2019-08-20 23:56:33 +0800  He Junyan <junyan.he@hotmail.com>
4879
4880         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4881         * gst/vaapi/gstvaapiencode.c:
4882         * gst/vaapi/gstvaapiencode_h264.c:
4883         * gst/vaapi/gstvaapiencode_h264_fei.c:
4884         * gst/vaapi/gstvaapiencode_h265.c:
4885         * gst/vaapi/gstvaapiencode_jpeg.c:
4886         * gst/vaapi/gstvaapiencode_mpeg2.c:
4887         * gst/vaapi/gstvaapiencode_vp8.c:
4888         * gst/vaapi/gstvaapiencode_vp9.c:
4889           gst: encode: enable new type of property mechanism.
4890
4891 2019-08-20 22:16:35 +0800  He Junyan <junyan.he@hotmail.com>
4892
4893         * gst/vaapi/gstvaapiencode.c:
4894         * gst/vaapi/gstvaapiencode.h:
4895           gst: encode: add property help functions for encoder properties.
4896           The encoder is a true gstobject now and all the properties are using
4897           gobject's properties mechanism. Add help functions to handle the properties
4898           between encode and encoder class.
4899           The basic idea is mapping the same property between encoder and encode. All
4900           the encoder's properties will have the same name, the same type in encode.
4901           The set/get property function just forward the property setting/getting to
4902           the encoder using the same property name and value. Because the encoder is
4903           created on needed, we need to cache the property setting in encode.
4904
4905 2019-08-30 18:39:32 +0800  He Junyan <junyan.he@hotmail.com>
4906
4907         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4908         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4909         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4910         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4911         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4912         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4913         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4914         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4915         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4916         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4917           libs: encoder: add flags to all encoder properties.
4918           G_PARAM_CONSTRUCT make all properties init correctly, we do not
4919           need to init the properties manually.
4920           G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE is a vaapi encoder specific
4921           flag, means need to expose the property to according encode class.
4922
4923 2019-08-20 17:00:39 +0800  He Junyan <junyan.he@hotmail.com>
4924
4925         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4926           libs: encoder: Add properties for h264 encoder fei.
4927           Install properties for h264 encoder fei class. Also set the new get/set
4928           property functions for gobject class. Still use the old properties
4929           way now and this new feature will be enabled later.
4930
4931 2019-08-20 15:58:30 +0800  He Junyan <junyan.he@hotmail.com>
4932
4933         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4934           libs: encoder: Add properties for h264 fei encoder.
4935           Install properties for h264 fei encoder class. Also set the new get/set
4936           property functions for gobject class. Still use the old properties
4937           way now and this new feature will be enabled later.
4938
4939 2019-08-20 15:29:27 +0800  He Junyan <junyan.he@hotmail.com>
4940
4941         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4942           libs: encoder: Add properties for vp9 encoder.
4943           Install properties for vp9 encoder class. Also set the new get/set
4944           property functions for gobject class. Still use the old properties
4945           way now and this new feature will be enabled later.
4946
4947 2019-08-20 15:01:02 +0800  He Junyan <junyan.he@hotmail.com>
4948
4949         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4950           libs: encoder: Add properties for vp8 encoder.
4951           Install properties for vp8 encoder class. Also set the new get/set
4952           property functions for gobject class. Still use the old properties
4953           way now and this new feature will be enabled later.
4954
4955 2019-08-20 14:31:58 +0800  He Junyan <junyan.he@hotmail.com>
4956
4957         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4958           libs: encoder: Add properties for mpeg2 encoder.
4959           Install properties for mpeg2 encoder class. Also set the new get/set
4960           property functions for gobject class. Still use the old properties
4961           way now and this new feature will be enabled later.
4962
4963 2019-08-20 14:53:06 +0800  He Junyan <junyan.he@hotmail.com>
4964
4965         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4966           libs: encoder: Add properties for jpeg encoder.
4967           Install properties for jpeg encoder class. Also set the new get/set
4968           property functions for gobject class. Still use the old properties
4969           way now and this new feature will be enabled later.
4970
4971 2019-08-20 14:12:36 +0800  He Junyan <junyan.he@hotmail.com>
4972
4973         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4974           libs: encoder: Add properties for h265 encoder.
4975           Install properties for h265 encoder class. Also set the new get/set
4976           property functions for gobject class. Still use the old properties
4977           way now and this new feature will be enabled later.
4978
4979 2019-08-20 01:33:40 +0800  He Junyan <junyan.he@hotmail.com>
4980
4981         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4982           libs: encoder: Add properties for h264 encoder.
4983           Install properties for h264 encoder class. Also set the new get/set
4984           property functions for gobject class. Still use the old properties
4985           way now and this new feature will be enabled later.
4986
4987 2019-08-19 15:38:09 +0800  He Junyan <junyan.he@hotmail.com>
4988
4989         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4990           libs: encoder: add properties and prop help functions
4991           Add all common properties to encoder base class. rate-control and
4992           tune are moved to sub class.
4993
4994 2019-08-29 14:38:49 +0800  He Junyan <junyan.he@hotmail.com>
4995
4996         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4997         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4998           libs: encoder: delete useless gst_vaapi_encoder_new func.
4999           GstVaapiEncoder is a abstract gobject and never be created directly.
5000
5001 2019-07-27 00:55:53 +0800  He Junyan <junyan.he@hotmail.com>
5002
5003         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5004         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5005         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5006         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
5007         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5008         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
5009         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5010         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
5011         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
5012         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
5013         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5014         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
5015         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5016         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5017         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
5018         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5019         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
5020         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
5021         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
5022           lib: encoder: gstobjectfy all vaapi encoders.
5023           Replace all gstvaapiobject in vaapi encoders with standard gstobject.
5024           Let the gstobject common logic to handle all the init and finalize
5025           works. But the property install/set/get still use the old way, need
5026           to be improved later.
5027
5028 2019-08-29 12:11:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5029
5030         * gst/vaapi/gstvaapipostproc.c:
5031           vaapipostproc: check for filter before appending caps
5032           While ensuring the allowed sink pad caps, the filter attributes set
5033           the frame size restriction, but it is not ensured, at that moment,
5034           that the filter is already instantiaded.
5035           In order to silence the glib logs, this patch add only calls
5036           gst_vaapi_filter_append_caps() if the filter is instantiated.
5037
5038 2019-08-28 12:49:03 -0400  Thibault Saunier <tsaunier@igalia.com>
5039
5040         * gst/vaapi/gstvaapidecodebin.c:
5041           Classify vaapidecodebin as a hardware decoder
5042
5043 2019-08-27 18:12:45 +0800  He Junyan <junyan.he@hotmail.com>
5044
5045         * gst/vaapi/gstvaapipostproc.c:
5046           libs: postproc: fix a memory leak point.
5047           filter_ops and filter_formats should already have valid value when
5048           the function gst_vaapipostproc_ensure_filter_caps re-enter
5049
5050 2019-08-27 01:30:36 +0800  He Junyan <junyan.he@hotmail.com>
5051
5052         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
5053           libs: util: Fix a memory leak in config_surface_attributes_get
5054
5055 2019-08-22 14:33:54 +0800  Wangfei <fei.w.wang@intel.com>
5056
5057         * gst/vaapi/gstvaapidecode.c:
5058           vaapidecode: support transform ROI meta
5059           This will benefit the use case like:
5060           src --->   encode    ---> decode ---> circle ROI ---> sink
5061           |                |
5062           --> analyse to -->
5063           get ROI
5064
5065 2019-08-23 19:10:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5066
5067         * gst/vaapi/gstvaapidecodedoc.c:
5068           docstrings: port ulinks to markdown links
5069
5070 2019-08-20 17:05:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5071
5072         * gst-libs/gst/vaapi/Makefile.am:
5073         * gst-libs/gst/vaapi/gstvaapicontext.c:
5074         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
5075         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
5076         * gst-libs/gst/vaapi/meson.build:
5077           libs: remove context's overlay
5078           The context overlay was an optimization to apply a video composition
5079           to all the surfaces bound to a context.
5080           But since commit 18031dc6 this optimization was disabled, so it is
5081           better just get rid of it.
5082
5083 2019-08-20 16:50:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5084
5085         * gst-libs/gst/vaapi/gstvaapicontext.c:
5086         * gst-libs/gst/vaapi/gstvaapisurface.c:
5087         * gst-libs/gst/vaapi/gstvaapisurface.h:
5088         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
5089         * gst/vaapi/gstvaapipluginutil.c:
5090         * tests/test-subpicture.c:
5091           libs: remove surface's parent context
5092           In commit 18031dc6 surface's parent context is not assigned because of
5093           circular references. Since then (2013), there's has no issue with
5094           subpictures attached to a context, the current only users of this API.
5095           This patch cleans up all of related code with the unused surface's
5096           parent context.
5097
5098 2019-08-18 13:53:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5099
5100         * gst/vaapi/gstvaapidecode.c:
5101           vaapidecode: guard if no structure is available in caps
5102
5103 2019-08-18 13:53:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5104
5105         * gst-libs/gst/vaapi/gstvaapifilter.c:
5106         * gst-libs/gst/vaapi/gstvaapifilter.h:
5107         * gst/vaapi/gstvaapipostproc.c:
5108           vaapipostproc: append frame size restrictions in caps
5109
5110 2019-08-18 13:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5111
5112         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
5113           libs: profilecaps: refactor common code
5114
5115 2019-08-16 19:35:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5116
5117         * gst/vaapi/gstvaapiencode.c:
5118           vaapiencode: set frame size restrictions in caps
5119           Fixes: #12
5120
5121 2019-08-16 19:28:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5122
5123         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5124         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5125         * gst/vaapi/gstvaapiencode.c:
5126           vaapiencode: enhance how the profile is defined
5127           This code doesn't define the profile used by the internal encoder, but
5128           it used to "predict" which is going to be used and to get the caps
5129           restrictions.
5130           Before the profile was predicted by checking the donwstream caps, but
5131           sometimes they are not defined, setting an unknown profile. In order
5132           to enhances this situation, the encoder asks to internal encoder if it
5133           has one. If so, it is used.
5134           To ask the internal encoder's profile a new accessor function was
5135           added: gst_vaapi_encoder_get_profile()
5136
5137 2019-08-16 19:26:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5138
5139         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
5140         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
5141           libs: profilecaps: defines gst_vaapi_profile_caps_append_encoder()
5142           Previously it was just a boilerplate. Now it is real implementation.
5143
5144 2019-08-16 19:17:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5145
5146         * gst-libs/gst/vaapi/gstvaapiutils.c:
5147           libs: utils: treat va_rt_format as bitwise flag
5148           The return value of vaGetConfigAttributes() of VAConfigAttribRTFormat
5149           is a bitwise flag with *all* the supported chroma types.
5150           Previously it was assumed that the return value was a single value,
5151           thus when returning the GST_VAAPI_CHROMA_TYPE_XXX the code was a
5152           simple case. But it is wrong.
5153           This patch changes the case block with a sequence of ifs testing the
5154           bitwise. For now we assume a "priority" list in the testing sequence.
5155
5156 2019-08-16 18:07:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5157
5158         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5159         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5160         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
5161         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5162         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5163         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5164         * gst-libs/gst/vaapi/gstvaapiprofile.c:
5165         * gst-libs/gst/vaapi/gstvaapiprofile.h:
5166         * tests/test-display.c:
5167           libs: profile: add gst_vaapi_profile_get_va_name()
5168           gst_vaapi_profile_get_name() returns a proper name for
5169           GstCaps. Nonetheless, there are many profiles which don't have a name
5170           representation for that realm.
5171           gst_vaapi_profile_get_va_name() returns the name of the profile
5172           according to its VAProfile name.
5173           This new funtion is used in the encoder error message.
5174
5175 2019-08-05 19:47:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5176
5177         * gst-libs/gst/vaapi/Makefile.am:
5178         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
5179         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
5180         * gst-libs/gst/vaapi/meson.build:
5181         * gst/vaapi/gstvaapidecode.c:
5182           libs: profilecaps: move caps config into a new file
5183           Implement all the appending of frame size restrictions in caps, for
5184           encoders and decoders, in a new source file.
5185
5186 2019-08-05 19:45:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5187
5188         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5189           libs: decoder: ref the caps as property
5190
5191 2019-08-02 16:56:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5192
5193         * gst-libs/gst/vaapi/gstvaapicontext.c:
5194         * gst-libs/gst/vaapi/gstvaapicontext.h:
5195           libs: context: add gst_vaapi_context_get_surface_attributes()
5196           This function copies the surface attributes from the context's object
5197           to the caller.
5198
5199 2019-08-02 12:46:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5200
5201         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
5202         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
5203         * gst-libs/gst/vaapi/gstvaapiutils.c:
5204         * gst-libs/gst/vaapi/gstvaapiutils.h:
5205           libs: move memory types conversions to gstvaapiutils
5206           And add more supported memory types by current VA.
5207
5208 2019-08-01 19:48:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5209
5210         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
5211         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
5212           libs: utils: remove unused function gst_vaapi_get_surface_formats()
5213
5214 2019-08-01 19:46:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5215
5216         * gst-libs/gst/vaapi/gstvaapicontext.c:
5217         * gst-libs/gst/vaapi/gstvaapicontext.h:
5218         * gst-libs/gst/vaapi/gstvaapifilter.c:
5219           libs: context, filter: use new surface attributes API
5220
5221 2019-08-01 19:13:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5222
5223         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
5224         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
5225           libs: utils: add gst_vaapi_config_surface_attributes_get()
5226           To extract the surface restrictions per config using a new structure:
5227           GstVaapiConfigSurfaceAttributes
5228
5229 2019-07-31 13:08:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5230
5231         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
5232           Split the surface attribute retrieval
5233
5234 2019-07-15 21:51:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5235
5236         * gst/vaapi/gstvaapipostproc.c:
5237           vaapipostproc: handle navigation downstream event
5238           When navigation events contains coordiantes those have to be mapped
5239           to the new size and/or orientation.
5240
5241 2019-07-15 21:23:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5242
5243         * tests/elements/test-vaapisink.c:
5244           test-vaapisink: also use vaapipostproc to change orientation
5245
5246 2019-07-15 21:27:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5247
5248         * gst-libs/gst/vaapi/gstvaapifilter.c:
5249         * gst-libs/gst/vaapi/gstvaapifilter.h:
5250         * gst/vaapi/gstvaapipostproc.c:
5251         * gst/vaapi/gstvaapipostproc.h:
5252         * gst/vaapi/gstvaapipostprocutil.c:
5253           vaapipostproc: handle image-orientation upstream event
5254           Now that vaapipostproc can possible handle video-direction, it
5255           should also handle the image-orientation event from upstream if
5256           video-direction property is set to auto.
5257
5258 2019-07-26 22:09:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5259
5260         * gst/vaapi/gstvaapipostproc.c:
5261           vaapipostproc: add missing locks when adding flags
5262
5263 2019-07-26 22:05:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5264
5265         * gst/vaapi/gstvaapipostproc.c:
5266           vaapipostproc: update filter before fixate caps
5267           It is requiered to know if postproc is capable to change the video
5268           direction before fixating the source caps.
5269           In order to do it, it'ss required to know if there's a functional VPP,
5270           but that's checked at create() vmethod, which occurs after caps
5271           fixating.
5272           This patch checks for a functional VPP at fixate caps and, if so,
5273           checks for the enabled filtes and later do the caps fixations.
5274
5275 2019-07-26 19:46:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5276
5277         * gst-libs/gst/vaapi/gstvaapifilter.c:
5278         * gst-libs/gst/vaapi/gstvaapivalue.c:
5279         * gst-libs/gst/vaapi/gstvaapivalue.h:
5280         * gst/vaapi/gstvaapipostproc.c:
5281           vaapipostproc: element warning if video direction is unsupported
5282           If the video direction is unsupported by the driver, an element
5283           warning is posted in the bus to notify the application.
5284           gst_vaapi_enum_type_get_nick() was added in the library thus it can
5285           be used elsewhere. It retrives the nick from an enum gtype.
5286
5287 2019-07-26 19:09:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5288
5289         * gst-libs/gst/vaapi/gstvaapifilter.c:
5290           libs: filter: check mirror and rotation caps only once
5291           This patch locks the display before querying the pipeline caps and
5292           stores the mirror and rotation capabilities, thus they are not queried
5293           every time the video direction is set.
5294
5295 2019-08-16 19:51:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5296
5297         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5298           libs: encoder: vp9: set VP9_0 profile as default
5299           Commit 0afc8131 introduced a regression and only NV12 format were
5300           admitted, failing in any other valid color format.
5301           This patch sets the profile to GST_VAAPI_PROFILE_VP9_0 by default.
5302
5303 2019-08-16 13:25:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5304
5305         * gst-libs/gst/vaapi/gstvaapifilter.c:
5306           libs: filter: fail if first color balance value is invalid
5307
5308 2019-08-06 19:24:08 +0800  Yan Wang <yan.wang@linux.intel.com>
5309
5310         * gst-libs/gst/vaapi/gstvaapifilter.c:
5311         * gst-libs/gst/vaapi/gstvaapiutils.c:
5312         * gst-libs/gst/vaapi/gstvaapiutils.h:
5313           libs: filter: set all color balance values
5314           When set multiple settings of color balance like hue, saturation,
5315           brightness and contrast for vaapipostproc, they should be set as
5316           parameters of color balance filter, at the same color balance
5317           filter calling.
5318           Otherwise, multiple color balance filter calling will cause
5319           previous setting get reset by the last calling with default value.
5320           Fixes #182.
5321           Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
5322
5323 2019-08-16 11:02:08 +0800  Wangfei <fei.w.wang@intel.com>
5324
5325         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5326           libs: h265dec: remove limitation of get iq matrix
5327           According hevc spec, scaling_list_data is not related
5328           to chroma_format_idc.
5329
5330 2019-05-30 23:52:51 +0800  He Junyan <junyan.he@hotmail.com>
5331
5332         * gst-libs/gst/vaapi/gstvaapivideopool.c:
5333           libs: videopool: fix undocumented behavior and counting
5334           gst_vaapi_video_pool_reserve_unlocked() hit an undocumented behavoir
5335           because it locks twice the same mutex.
5336           Also, n had different meanings in the current code: as an increase
5337           value and as a new total of allocated surfaces.
5338           This patche removes the undocumented behavoir (usually a deadlock) and
5339           fixes the meaning of n as the new total of allocated surfaces.
5340           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5341
5342 2019-07-17 11:56:45 +0800  He Junyan <junyan.he@hotmail.com>
5343
5344         * gst-libs/gst/vaapi/gstvaapiutils.c:
5345           libs: utils: Add missing entries for string_of_VAEntrypoint.
5346
5347 2019-07-18 22:01:01 +0800  He Junyan <junyan.he@hotmail.com>
5348
5349         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5350           libs: encoder: Consider vp9 profiles based on input format.
5351           Only support GST_VAAPI_PROFILE_VP9_0 and GST_VAAPI_PROFILE_VP9_2 now.
5352           Fix: #184
5353
5354 2019-08-12 18:41:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5355
5356         * gst/vaapi/gstvaapivideomemory.c:
5357           vaapivideomemory: demote error message to info
5358           The main reason to demote the message's level is because it is not an
5359           error, it's a possible output of the trial and there's a code path
5360           that handles it.
5361           Secondly, it's very annoying when using gallium driver for radeon.
5362
5363 2019-07-18 13:32:46 +0800  Wangfei <fei.w.wang@intel.com>
5364
5365         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5366         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
5367         * gst-libs/gst/vaapi/gstvaapitypes.h:
5368         * gst-libs/gst/vaapi/gstvaapiutils.c:
5369         * gst-libs/gst/vaapi/gstvaapivalue.c:
5370           libs: encoder: h264: support ICQ/QVBR bitrate control mode
5371           ICQ is Intelligent Constant Quality. It will use the initial QP
5372           vaule of icq-quality-factor to adjust QP at MB level intelligently
5373           to improve subjective quality.
5374           QVBR is Quality defined VBR. It will use qvbr-quality-factor to
5375           adjust QP for each MB to get enough quality picture without waste
5376           of bits.
5377
5378 2019-08-05 10:51:24 +0800  Wangfei <fei.w.wang@intel.com>
5379
5380         * gst-libs/gst/vaapi/gstvaapitypes.h:
5381           libs: Let GST_VAAPI_RATECONTROL_MASK return unsigned int
5382           The value return from GST_VAAPI_RATECONTROL_MASK will be used by
5383           GST_VAAPI_POPCOUNT32 as its inpput. GST_VAAPI_POPCOUNT32 can only
5384           deal with unsigned int. Otherwise there may be an error of out of
5385           range of integer if we define few more rate-control mode.
5386
5387 2019-06-07 09:54:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5388
5389         * gst/vaapi/gstvaapidecodebin.c:
5390           vaapidecodebin: set queue's max size buffers to 1
5391           Otherwise the queue will swallow all the available decoder's surfaces
5392           reaching a dead-lock.
5393           This setting might impact the bin's peformance, but it's a trade-off.
5394
5395 2019-06-07 09:53:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5396
5397         * gst/vaapi/gstvaapidecodebin.c:
5398           vaapidecodebin: set properties default values
5399
5400 2019-05-31 13:12:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5401
5402         * gst/vaapi/gstvaapidecode.c:
5403           vaapidecode: don't error if can't push buffers downtream
5404           When the code path goes to push buffers downstream when no surface
5405           available in decoder context, and it fails the code bails out with a
5406           fatal error.
5407           That behavior is wrong, since it shouldn't be fatal. The use case is
5408           when the video stream is disabled.
5409           This patch just ignores the errors in this situation and demotes the
5410           level of a log message.
5411
5412 2019-05-18 13:24:35 +0800  Wangfei <fei.w.wang@intel.com>
5413
5414         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5415         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
5416         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5417         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
5418         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5419         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
5420           libs: encoder: h264,h265: add new property "max-qp"
5421           Add new property "max-qp" to allow set the maximum quantisation
5422           parameter values.
5423
5424 2019-05-23 10:18:52 -0400  Wangfei <fei.w.wang@intel.com>
5425
5426         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5427           libs: encoder: vp9: add low power mode encode
5428           By now, this feature only support by media-driver on Ice Lake
5429           platform, more information you can reference:
5430           https://github.com/intel/media-driver
5431
5432 2019-07-15 15:33:07 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5433
5434         * gst/vaapi/gstvaapipostprocutil.c:
5435           vaapipostproc: update PAR when rotating
5436           When rotating, swap pixel-aspect-ratio during
5437           negotiation.
5438           Fixes #181
5439
5440 2019-07-01 15:26:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5441
5442         * gst-libs/gst/vaapi/gstvaapifilter.c:
5443         * gst-libs/gst/vaapi/gstvaapiutils.c:
5444         * gst-libs/gst/vaapi/gstvaapiutils.h:
5445         * gst/vaapi/gstvaapipostprocutil.c:
5446           vaapipostproc: add rotation support
5447           Adds vpp rotation support to vaapipostproc.  Uses
5448           property video-direction. Default is identity (no
5449           rotation).
5450           Closes #104
5451
5452 2019-05-22 10:47:30 -0400  Wangfei <fei.w.wang@intel.com>
5453
5454         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5455           libs: encoder: h265: pass diff_cu_qp_delta_depth flag to driver
5456           Intel media-driver requires enablement of diff_cu_qp_delta_depth when
5457           cu_qp_delta_enabled_flag enabled.
5458           Fixes: #177
5459
5460 2019-07-01 17:02:33 +0800  Wangfei <fei.w.wang@intel.com>
5461
5462         * gst-libs/gst/vaapi/gstvaapiutils.c:
5463           libs: encoder: Add MB ratecontrol mode to get its string
5464
5465 2019-07-01 16:52:00 +0800  Wangfei <fei.w.wang@intel.com>
5466
5467         * gst-libs/gst/vaapi/gstvaapiutils.c:
5468           libs: encoder: refine guard of bitrate control mode
5469           Remove useless guard of all bitrate control mode's guard except MB
5470           which is define in VA-API version 0.39.1.
5471
5472 2019-06-29 00:08:40 +1000  Jan Schmidt <jan@centricular.com>
5473
5474         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5475           h264: Update for parse_vui_params parameter removal.
5476           Update calls to the h264 parser lib for removal of the
5477           parse_vui_params parameter.
5478
5479 2019-06-24 16:26:56 -0400  Wang Zhanjun <zhanjunx.wang@intel.com>
5480
5481         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5482           libs: dec: vp9: do not use display size as decoded size
5483           If display size is smaller than current frame size, then the crop size
5484           will be set as display size, which either crashes the pipeline or the
5485           output MD5 does not match. Rather it should use the actual decoded size.
5486           This patch removes the cropping set. For rendering we can use aspect
5487           ratio to set display size.
5488           Fixes #175
5489           Signed-off-by: Wang Zhanjun <zhanjunx.wang@intel.com>
5490           Signed-off-by: Xu Guangxin <guangxin.xu@intel.com>
5491
5492 2019-06-28 16:32:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5493
5494         * README:
5495           Update README
5496
5497 2019-06-25 19:11:12 +0800  He Junyan <junyan.he@hotmail.com>
5498
5499         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5500         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
5501         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
5502           libs: dec: h265: Consider chroma_bit_depth to choose chrome type
5503           For some main-10 stream, sometime the luma is 8 bits while chrome is more
5504           than 8 bits, which cause using the wrong NV12 surface as the render target
5505           and decoding error.
5506           Fix #176
5507
5508 2019-06-25 10:31:20 +0800  Wangfei <fei.w.wang@intel.com>
5509
5510         * gst/vaapi/gstvaapidecode.c:
5511           vaapidecode: set initial decode format according surface chroma type
5512           For surfaces with different chroma type, it is prefer to initialize
5513           a format which chroma type should be same with surface chroma type
5514           instead of using fixed NV12.
5515
5516 2019-05-30 09:48:51 -0400  Wangfei <fei.w.wang@intel.com>
5517
5518         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
5519         * gst-libs/gst/vaapi/gstvaapiimage.c:
5520         * gst-libs/gst/vaapi/video-format.c:
5521         * gst/vaapi/gstvaapidecode.c:
5522         * gst/vaapi/gstvaapipluginutil.h:
5523           libs: decoder: jpeg: add support 400/411/422/444 chroma type
5524           When create vaapi surface, it is better to use the chroma type get
5525           from jpeg file instead of using fixed 420 format. And the correct
5526           chroma type can be determined by horizontal_factor/vertical_factor
5527           flags that get from jpegparse.
5528
5529 2019-06-22 00:05:24 +0800  He Junyan <junyan.he@hotmail.com>
5530
5531         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
5532           libs: dec: h265: Fix profile_idc mapping.
5533           The old mapping values return by gst_vaapi_utils_h265_get_profile_idc is
5534           wrong, though GST_H265_PROFILE_IDC_MAIN and GST_H265_PROFILE_IDC_MAIN_10
5535           happened to be the correct value.
5536           We only support Annex A profile_idc (1-4).
5537
5538 2019-06-10 20:46:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5539
5540         * gst/vaapi/gstvaapipluginbase.c:
5541           plugins: remove last negotiated video info if caps are same
5542           If the allocation caps and negotiated caps are the same,
5543           then ensure any previously negotiated video info is also
5544           removed.  This can occur when multi-resolution video
5545           decoding returns to it's original resolution.
5546           Fixes #170
5547
5548 2019-06-10 20:39:28 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5549
5550         * gst/vaapi/gstvaapivideomemory.c:
5551           vaapivideomemory: allow negotiated info to be removed
5552           Allow NULL negotiated_vinfo to be passed into
5553           gst_allocator_set_vaapi_negotiated_video_info to allow
5554           any previously set info to be removed.
5555
5556 2019-06-06 17:24:30 +0300  Freyr <freyrnjordrson@gmail.com>
5557
5558         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5559         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5560           libs: encoder: vp8,vp9: reset frame_counter when input frame's format changes
5561           When input frame's formate changes, vp{8,9} encoders don't reset their frame
5562           counter, hence the newly created frame could become a P-frame, leading to some
5563           major troubles (sigabrt in libdrm in case of vp9). This patch adds some frame
5564           prediction-related reset logic to the `flush' methods of GstVaapiEncoderVP8 and
5565           GstVaapiEncoderVP9 implementations.
5566
5567 2019-05-31 12:30:03 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5568
5569         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5570           libs: encoder: increase bitrate prop max value
5571           There are many profile levels that can support
5572           more than 102400 kbps.  Thus, increase the max
5573           allowed bitrate property value from 102400 kbps
5574           to 2048000 kbps (same as msdk encoder plugins).
5575
5576 2019-06-04 13:27:50 +0800  He Junyan <junyan.he@hotmail.com>
5577
5578         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5579           libs: mpeg2 encoder: No packed header for SPS and PPS
5580           Dislable passing down packed PPS and PPS to driver if driver does
5581           not want it.
5582           Fix: #168
5583
5584 2019-05-31 23:10:33 +0200  Niels De Graef <niels.degraef@barco.com>
5585
5586         * configure.ac:
5587         * meson.build:
5588         * tests/output.c:
5589           meson: Bump minimal GLib version to 2.44
5590           This means we can use some newer features and get rid of some
5591           boilerplate code using the G_DECLARE_* macros.
5592           As discussed on IRC, 2.44 is old enough by now to start depending on it.
5593
5594 2019-05-31 13:08:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5595
5596         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5597           libs: dec: vp9: clear parser pointer after release
5598           Fix an use-after-release of the parser pointer in VP9 decoder.
5599
5600 2019-05-28 12:09:36 +0300  Freyr666 <sky_rider_93@mail.ru>
5601
5602         * gst/vaapi/gstvaapiencode.c:
5603           vaapiencode: Fixes deadlock in gst_vaapiencode_change_state function
5604           This fixes a deadlock in gst_vaapiencode_change_state, which was due to
5605           srcpad's chain function was locked waiting for available buffers. Since the
5606           coded buffers in codedbuf_queue become available after sinkpad consume the
5607           encoded frames, Paused -> Ready state change leads to deadlock. Coded buffers
5608           are never consumed and marked free, hence gst_vaapiencode_handle_frame waits for
5609           available buffers and holds the stream_lock of the srcpad.
5610
5611 2019-05-29 23:08:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5612
5613         * gst-libs/gst/vaapi/gstvaapitypes.h:
5614         * gst/vaapi/gstvaapidecodebin.c:
5615         * gst/vaapi/gstvaapidecodedoc.c:
5616         * gst/vaapi/gstvaapiencode_h264.c:
5617         * gst/vaapi/gstvaapiencode_h264_fei.c:
5618         * gst/vaapi/gstvaapiencode_h265.c:
5619         * gst/vaapi/gstvaapiencode_jpeg.c:
5620         * gst/vaapi/gstvaapiencode_mpeg2.c:
5621         * gst/vaapi/gstvaapiencode_vp8.c:
5622         * gst/vaapi/gstvaapiencode_vp9.c:
5623         * gst/vaapi/gstvaapipostproc.c:
5624         * gst/vaapi/gstvaapisink.c:
5625           doc: remove xml from comments
5626
5627 2019-05-13 16:39:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5628
5629         * gst-libs/gst/vaapi/gstvaapifilter.c:
5630         * gst-libs/gst/vaapi/gstvaapifilter.h:
5631         * gst-libs/gst/vaapi/gstvaapiutils.c:
5632         * gst-libs/gst/vaapi/gstvaapiutils.h:
5633         * gst/vaapi/gstvaapipostproc.c:
5634         * gst/vaapi/gstvaapipostproc.h:
5635           vaapipostproc: add mirror support
5636           Adds vpp mirroring support to vaapipostproc.  Use
5637           property video-direction.  Valid values are identity,
5638           horiz or vert.  Default is identity (no mirror).
5639           Closes #89
5640           v2: Use GstVideoOrientationMethod enum
5641           v3: Don't warn for VA_MIRROR_NONE.
5642           Use GST_TYPE_VIDEO_ORIENTATION_METHOD type.
5643           v4: Query VAAPI caps when setting mirror value
5644           instead of during per-frame processing.
5645           v5: Return TRUE in warning cases when setting mirror value.
5646
5647 2019-05-29 01:35:17 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5648
5649         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
5650         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
5651         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5652         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5653         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
5654         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5655         * gst/vaapi/gstvaapidecodebin.c:
5656         * gst/vaapi/gstvaapisink.c:
5657           doc: fix some incorrect gtk-doc links
5658
5659 2019-05-16 09:22:42 -0400  Thibault Saunier <tsaunier@igalia.com>
5660
5661         * docs/gst_plugins_cache.json:
5662           docs: Update plugin cache
5663           Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
5664
5665 2019-05-16 16:46:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5666
5667         * gst-libs/gst/vaapi/gstvaapisurface.h:
5668           libs: surface: fix documentation format
5669
5670 2019-05-16 10:05:17 +0800  Wangfei <fei.w.wang@intel.com>
5671
5672         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5673           libs: enc: h265: reset num_ref_idx_l1_active_minus1 when low delay B.
5674           When enable low delay B, the reference list 1 will be same with
5675           reference list 0, so need reset the num_ref_idx_l1_active_minus1
5676           to num_ref_idx_l0_active_minus1.
5677           Fixes: #160
5678
5679 2019-05-13 19:05:43 -0400  Thibault Saunier <tsaunier@igalia.com>
5680
5681         * docs/meson.build:
5682           meson: Fix call to wrong function
5683
5684 2018-10-22 11:48:29 +0200  Thibault Saunier <tsaunier@igalia.com>
5685
5686         * Makefile.am:
5687         * configure.ac:
5688         * docs/Makefile.am:
5689         * docs/gst_plugins_cache.json:
5690         * docs/index.md:
5691         * docs/meson.build:
5692         * docs/plugins/Makefile.am:
5693         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
5694         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
5695         * docs/plugins/gstreamer-vaapi-plugins.types:
5696         * docs/plugins/inspect/plugin-vaapi.xml:
5697         * docs/plugins/running.xml:
5698         * docs/sitemap.txt:
5699         * docs/version.entities.in:
5700         * gst/vaapi/meson.build:
5701         * meson.build:
5702         * meson_options.txt:
5703           docs: Port to hotdoc
5704
5705 2019-05-10 18:29:10 +0800  He Junyan <junyan.he@hotmail.com>
5706
5707         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5708         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5709           libs: encoder: not call ensure_num_slices inside g_assert
5710           g_assert will take no effect when glib's G_DISABLE_ASSERT macro is
5711           defined. The function inside the g_assert will take no effect and
5712           we will fail to set the correct slice number.
5713
5714 2019-04-29 09:52:39 +0800  Wangfei <fei.w.wang@intel.com>
5715
5716         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5717           libs: h265: dec: Add extension flags setting.
5718           Use VAPictureParameterBufferHEVCExtension&
5719           VASliceParameterBufferHEVCExtension to pass extension setting from
5720           some extension profile clips which may include these information.
5721           The hevc extension setting only supported after libva release 2.2.0
5722           (API 1.2.0).
5723
5724 2019-05-01 12:56:55 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5725
5726         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5727         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5728         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5729           libs: encoder: add target-percentage property
5730           Allow users to set the target-percentage for
5731           variable rate controls.  The default value is
5732           70 (as hard-coded prior).
5733           v2: minimum allowed value changed from 0 to 1
5734           v3: target-percentage unchanged if CBR used
5735           Resolves #129
5736
5737 2019-05-09 00:09:21 +0800  He Junyan <junyan.he@hotmail.com>
5738
5739         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5740           libs: encoder: Add a missing comment for DEFAULT_ROI_VALUE property.
5741
5742 2019-05-08 23:39:20 +0800  He Junyan <junyan.he@hotmail.com>
5743
5744         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5745         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5746         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5747         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
5748         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5749           libs: encoder: Enable trellis quantization method.
5750           The advanced trellis algorithm is supported in VA driver. We add
5751           its support as a property named "trellis" of encoder.
5752           It only works for H264 now, should be more in future.
5753
5754 2019-05-07 11:03:51 +0800  Wangfei <fei.w.wang@intel.com>
5755
5756         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5757           libs: decoder: vp9: support 422/444 8bit/10bit chroma type.
5758           According to the vp9 sepc, profile 1/3 support 422/440/444 chroma
5759           type, so we need to add subsampling_x&subsampling_y to fix it.
5760           Here is the relationship between chroma type and profile and
5761           subsampling_x&subsampling_y according to vp9 spec:
5762           ------------------------------------------
5763           Profile | Bit depth | Chroma subsampling |
5764           ------------------------------------------
5765           0      | 8         | 420                |
5766           ------------------------------------------
5767           1      | 8         | 422,440,444        |
5768           ------------------------------------------
5769           2      | 10, 12    | 420                |
5770           ------------------------------------------
5771           3      | 10, 12    | 422,440,444        |
5772           ------------------------------------------
5773           -----------------------------------------------
5774           Subsampling_x | Subsampling_y | Chroma format |
5775           -----------------------------------------------
5776           0            | 0             | 444           |
5777           -----------------------------------------------
5778           0            | 1             | 440           |
5779           -----------------------------------------------
5780           1            | 0             | 422           |
5781           -----------------------------------------------
5782           1            | 1             | 420           |
5783           -----------------------------------------------
5784
5785 2019-04-16 18:33:54 +0800  He Junyan <junyan.he@hotmail.com>
5786
5787         * gst-libs/gst/vaapi/gstvaapiimage.c:
5788         * gst-libs/gst/vaapi/video-format.c:
5789           libs: Add packed 24 RGB format support.
5790           Can not find a suitable chrome_type for this GST_VIDEO_FORMAT_RGB
5791           packed 24 format. Just use GST_VAAPI_CHROMA_TYPE_RGB32 as its chrome
5792           type. This kind of surface will just be created by new API with fourcc
5793           and no old style chrome based creation is available.
5794           fixes: #151
5795
5796 2019-03-15 14:29:41 +0800  Wangfei <fei.w.wang@intel.com>
5797
5798         * gst/vaapi/gstvaapiencode.c:
5799         * gst/vaapi/gstvaapiencode_h264.c:
5800         * gst/vaapi/gstvaapiencode_h264_fei.c:
5801         * gst/vaapi/gstvaapiencode_h265.c:
5802         * gst/vaapi/gstvaapiencode_jpeg.c:
5803         * gst/vaapi/gstvaapiencode_mpeg2.c:
5804         * gst/vaapi/gstvaapiencode_vp8.c:
5805         * gst/vaapi/gstvaapiencode_vp9.c:
5806           vaapiencode: handle DMABuf caps feature in sink pad
5807           Add DMABuff caps features in all encoders' sink pad.
5808
5809 2019-05-03 10:31:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5810
5811         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5812           libs: encoder: continue if roi meta is NULL
5813           Coverity scan bug:
5814           If the function actually returns a null value, a null pointer
5815           dereference will occur.
5816           In gst_vaapi_encoder_ensure_param_roi_regions(): Return value of
5817           function which returns null is dereferenced without checking
5818
5819 2019-04-15 19:58:14 +0800  He Junyan <junyan.he@hotmail.com>
5820
5821         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5822           lib: decoder: vp9: Set chroma_type by VP9 bit_depth
5823           The decoder's surface chroma type should depend on the bit depth
5824           of VP9's parser. For 10bits VP9 stream, we need to use P10LE kind
5825           10 bits surface as the decoder result.
5826           Fixes #155
5827
5828 2019-05-02 16:00:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5829
5830         * gst/vaapi/gstvaapipostprocutil.c:
5831           vaapipostproc: don't do any color conversion when GL_TEXTURE_UPLOAD
5832           https://bugzilla.gnome.org/show_bug.cgi?id=748184 has resurrected
5833           with commit 3e992d8a
5834           Since gst_vaapi_find_preferred_caps_feature() returns a color format
5835           from caps negotiation, different from the default one (NV12), the
5836           postproc enables the color transformation. But when GL_TEXTURE_UPLOAD
5837           feature is negotiated, no color transformation shall be done.
5838           Nonetheless, with commit 3e992d8a the requested format changes
5839           firstly, because there's no video sink yet, so ANY caps are
5840           negotiated; but later, when there's a video sink and a caps
5841           renegotiation, the GL_TEXTURE_UPLOAD is negotiated though the color
5842           format conversion still ongoing. It is required to reset that
5843           conversion.
5844           This patch force default color format when GL_TEXTURE_UPLOAD is
5845           selected as preferred, thus avoiding the color conversion.
5846           Fixes: #157
5847
5848 2019-04-19 15:49:37 -0700  Julien Isorce <jisorce@oblong.com>
5849
5850         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
5851           libs: surface: fix double free when dmabuf export fails
5852           Happens if vaAcquireBufferHandle fails.
5853
5854 2019-04-29 20:10:39 +0800  He Junyan <junyan.he@hotmail.com>
5855
5856         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5857           libs: h264encoder: fix a typo of GstVaapiEncoderH264PredictionType
5858
5859 2019-04-19 10:43:35 +0100  Tim-Philipp Müller <tim@centricular.com>
5860
5861         * RELEASE:
5862         * configure.ac:
5863         * docs/plugins/inspect/plugin-vaapi.xml:
5864         * meson.build:
5865           Back to development
5866
5867 === release 1.16.0 ===
5868
5869 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
5870
5871         * ChangeLog:
5872         * NEWS:
5873         * RELEASE:
5874         * configure.ac:
5875         * gstreamer-vaapi.doap:
5876         * meson.build:
5877           Release 1.16.0
5878
5879 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
5880
5881         * docs/plugins/inspect/plugin-vaapi.xml:
5882           Update docs
5883
5884 2019-04-15 19:34:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5885
5886         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5887         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5888         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5889           libs: encoder: h264,h265: guard VA version for max_qp property
5890           This patch fixes a regression from commit 5b1fe9c6.
5891           max_qp, in rate control configuration, appeared in libva release
5892           2.1 (API 1.1), thus it is required to guard the VA API version.
5893           Fixes: #150
5894
5895 2019-04-08 18:29:35 +0800  He Junyan <junyan.he@hotmail.com>
5896
5897         * gst-libs/gst/vaapi/gstvaapiimage.c:
5898         * gst-libs/gst/vaapi/video-format.c:
5899           libs: Add RGB565 image format support.
5900
5901 2019-04-10 13:59:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5902
5903         * configure.ac:
5904           build: configure: delay USE_GTK conditional until check libva-x11
5905           libva-x11 is used for X11 applications, so it is required to build
5906           any GTK application.
5907           Later, when Wayland test is added, we should change this.
5908
5909 2019-04-10 13:25:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5910
5911         * configure.ac:
5912           build: configure: disable GLX if libva-x11 is not found
5913
5914 2019-04-15 13:55:26 +0200  He Junyan <junyan.he@hotmail.com>
5915
5916         * gst-libs/gst/vaapi/gstvaapiutils.c:
5917           libs: utils: avoid macro evaluation when stringify
5918           string_of_va_chroma_format() gets a wrong string format description.
5919           For example, the YUV420_10BPP get a string of 0x00000100 as output.
5920           It's because VA_RT_FORMAT_xxx values are macro definitions. And
5921           STRINGIFY(VA_RT_FORMAT_xxx) will expand to its real value
5922           0x00000XXX.
5923           To avoid the macro evaluation, it is changed to show only the color
5924           format without VA_RT_FORMAT_ prefix.
5925
5926 2019-04-15 13:54:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5927
5928         * gst-libs/gst/vaapi/gstvaapiutils.c:
5929           libs: utils: use glib's macros
5930           Don't reinvent the wheel.
5931
5932 2019-04-11 15:05:02 +0800  Wangfei <fei.w.wang@intel.com>
5933
5934         * gst/vaapi/gstvaapipluginutil.c:
5935           plugins: find the preferred format from right caps.
5936           When the downstream has any caps, then raw video feature will
5937           be used. At this situation, the preferred format should be chose
5938           from caps which contains "vide/x-raw" feature instead of from
5939           the fist allowed caps.
5940           Fixes #142
5941
5942 2019-04-10 11:43:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5943
5944         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5945           libs: encoder: h265: fill tier in va seq param buf
5946           Now that tier is calculated in commit 58e74f9440fe (!68),
5947           ensure we fill in the general_tier_flag in the
5948           VAEncSequenceParameterBufferHEVC.
5949
5950 === release 1.15.90 ===
5951
5952 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
5953
5954         * ChangeLog:
5955         * NEWS:
5956         * RELEASE:
5957         * configure.ac:
5958         * gstreamer-vaapi.doap:
5959         * meson.build:
5960           Release 1.15.90
5961
5962 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
5963
5964         * docs/plugins/inspect/plugin-vaapi.xml:
5965           Update docs
5966
5967 2019-04-09 20:42:04 +0800  He Junyan <junyan.he@hotmail.com>
5968
5969         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5970           libs: encoder: h265: Recognize the correct level and tier.
5971           The current manner can not recognize the correct level and always
5972           set the tier to main. Need to add frame rate check to recognize
5973           levels such as 4.1, 6.2, etc. We also add a logic to check main
5974           and high tier based on bitrate.
5975           Fixes: #145
5976
5977 2019-04-03 14:12:23 +0800  He Junyan <junyan.he@hotmail.com>
5978
5979         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5980         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5981         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5982           libs: encoder: h264,h265: Set max_qp if min_qp is non-zero.
5983           media-driver currently fails to set a correct value of max_qp when
5984           min_qp is different to zero, in CBR and VBR mode, generating full
5985           quality frames, thus unexpected huge output.
5986           This patch sets max_qp to an arbitrary value to avoid this output
5987           temporary.
5988           Fixes: #144
5989
5990 2019-04-09 12:42:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5991
5992         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5993         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5994         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5995           libs: encoder: h264,h265: initial and minimal QP can be zero
5996           Currently the minimal value for either min_qp and init_qp are 1,
5997           but VA documentation specifiy that zero is also valid and means
5998           to ignore the quantiser.
5999           The default value is not changed though to avoid behaivor changes
6000           to users.
6001
6002 2019-04-09 09:20:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
6003
6004         * tests/elements/meson.build:
6005           meson: build test-vaapicontext when using X11
6006           x11_dep and libva_x11_dep are optional and meson ignores these
6007           dependencies even if they are added into the dependency list.
6008           This fixes the error below when libva-x11 is not avaiblabe:
6009           cc -Itests/elements/tests@elements@@test-vaapicontext@exe
6010           -Itests/elements -I../../gstreamer-vaapi/tests/elements -I.
6011           -I../../gstreamer-vaapi/ -Igst-libs -I../../gstreamer-vaapi/gst-libs
6012           -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0
6013           -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orc-0.4
6014           -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
6015           -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
6016           -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
6017           -I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/pango-1.0
6018           -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo
6019           -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
6020           -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
6021           -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
6022           -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -pthread
6023           -DHAVE_CONFIG_H  -MD -MQ
6024           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
6025           -MF
6026           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o.d'
6027           -o
6028           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
6029           -c ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c
6030           ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c:29:10: fatal
6031           error: va/va_x11.h: No such file or directory
6032           #include <va/va_x11.h>
6033
6034 2019-04-01 12:56:28 +0800  He Junyan <junyan.he@hotmail.com>
6035
6036         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
6037         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
6038         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
6039           libs: encoder: h264_fei: Use gst_param_spec_array for view-ids
6040           GValueArray is deprecated. Use GstValueArray instead.
6041
6042 2019-03-30 18:29:31 +0100  Danilo Spinella <danyspin97@protonmail.com>
6043
6044         * gst/vaapi/gstvaapipluginutil.c:
6045           vaapipluginutil: Fix #endif for USE_X11
6046
6047 2019-03-29 18:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6048
6049         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6050           libs: encoder: h264: simplify the view-ids setting
6051
6052 2019-03-26 14:54:47 +0800  He Junyan <junyan.he@hotmail.com>
6053
6054         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6055           libs: encoder: h264: Use gst_param_spec_array for view-ids
6056           GValueArray is deprecated. Use GstValueArray instead.
6057           gst_param_spec_array can be deserialized from command line using:
6058           vaapih264enc view-ids="<(uint)40,(uint)100>" num-views=2
6059           While the g_param_spec_value_array() can not, and always get
6060           error: "gst_value_deserialize_g_value_array: unimplemented"
6061           Also fixed an out-of-range bug.
6062
6063 2019-03-29 13:33:41 +0800  He Junyan <junyan.he@hotmail.com>
6064
6065         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
6066           libs: Change the parameter setting order when encode picture.
6067           The order in gst_vaapi_enc_picture_encode when encoding one
6068           picture is not very correct. The misc parameters are set before
6069           the picture parameters. Some of the misc parameters such as
6070           ROI may change the current picture parameters. But the later
6071           setting of picture parameter will re-init all picture related
6072           parameters and clear the previous setting. The right order
6073           should be picture parameter first and then misc parameters.
6074           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6075
6076 2019-03-26 14:20:34 +0800  Wangfei <fei.w.wang@intel.com>
6077
6078         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6079           libs: decoder: jpeg: support dynamic resolution change decode.
6080           Add size_changed flag to watch out resolution. if change, reset
6081           jpeg decoder's context.
6082
6083 2019-03-23 15:34:03 +0800  Wangfei <fei.w.wang@intel.com>
6084
6085         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6086           libs: encoder: h265: add low power mode encode.
6087           By now, this feature only support by media-driver on Ice Lake
6088           platform, more information you can reference:
6089           https://github.com/intel/media-driver
6090
6091 2019-03-15 18:40:21 +0800  He Junyan <junyan.he@hotmail.com>
6092
6093         * gst/vaapi/gstvaapiencode.c:
6094           vaapiencode: gobject's prop_id differ from vaapi encoder
6095           The vaapi internal encoder's property id are negative, thus they are
6096           different from GObject's property ids.
6097           gst_vaapi_encoder_set_property() should map to the internal encoder
6098           property id, assigned in gst_vaapiencode_default_set_property().
6099
6100 2019-03-21 16:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
6101
6102         * meson.build:
6103           meson: disable compiler warnings for unused vars and args if gst debug system is disabled
6104
6105 2019-03-21 13:31:57 +0000  Tim-Philipp Müller <tim@centricular.com>
6106
6107         * meson.build:
6108           meson: use new 'python' module instead of deprecated 'python3' one
6109
6110 2019-03-11 18:38:36 -0300  Thibault Saunier <tsaunier@igalia.com>
6111
6112         * common:
6113           Update common submodule back to 59cb678164719ff59dcf6c8b93df4617a1075d11
6114           It was wrongly changed in 3d9555a86d45565870c684fe00ec8bbb0fed7205
6115
6116 2019-03-04 09:16:17 +0000  Tim-Philipp Müller <tim@centricular.com>
6117
6118         * NEWS:
6119         * RELEASE:
6120         * configure.ac:
6121         * docs/plugins/inspect/plugin-vaapi.xml:
6122         * meson.build:
6123           Back to development
6124
6125 2019-03-01 12:33:26 +0800  He Junyan <junyan.he@hotmail.com>
6126
6127         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
6128           libs: Fix a typo in comments.
6129           Fix a typo in function description of
6130           gst_vaapi_surface_pool_new_with_chroma_type.
6131           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6132
6133 2019-02-27 13:02:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6134
6135         * gst/vaapi/gstvaapipluginutil.c:
6136           plugin: if any caps in downstream, negotiate raw video
6137           When downstream has any caps, vaapi should not shovel vaapi featured
6138           buffers, but rather plain raw video, assuming always the worst case
6139           scenario (downstream cannot handle featured video memory but raw
6140           system memory buffers).
6141           This patch query the peer caps without any filter, to know if
6142           donwstream just ask for any caps, if so jump to the color space
6143           checking, otherwise do the caps intersection and continue with the
6144           feature selection algorithm.
6145           Fixes: #139
6146
6147 === release 1.15.2 ===
6148
6149 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
6150
6151         * ChangeLog:
6152         * NEWS:
6153         * RELEASE:
6154         * configure.ac:
6155         * gstreamer-vaapi.doap:
6156         * meson.build:
6157           Release 1.15.2
6158
6159 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
6160
6161         * docs/plugins/inspect/plugin-vaapi.xml:
6162           Update docs
6163
6164 2019-02-05 16:59:40 +0800  He Junyan <junyan.he@hotmail.com>
6165
6166         * gst/vaapi/gstvaapivideomemory.c:
6167           vaapivideomemory: Prefer same format for surface and image
6168           We prefer to use the same format between image and surface for gst
6169           vaapi allocator. The old way may choose different formats between
6170           image and surface. For example, the RGBA image may have a NV12 surface.
6171           So we need to do format conversion when we put/get image to surface.
6172           Some drivers such as iHD can not support such conversion and always
6173           cause a data flow error. There may also have some performance cost
6174           for format conversion when put/get images.
6175           So we prefer to use the same format for image and surface in the
6176           allocator. If the surface can not support that format, we then
6177           fallback to find a best one as the surface format.
6178           Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
6179
6180 2019-02-15 15:19:51 +0800  He Junyan <junyan.he@hotmail.com>
6181
6182         * gst-libs/gst/vaapi/video-format.c:
6183           libs: Delete the duplicated ARGB video format.
6184           Two ARGB formats with the same format information.
6185           Should be verbose and delete one.
6186           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6187
6188 2019-02-13 10:39:59 -0500  Adam Jackson <ajax@redhat.com>
6189
6190         * common:
6191         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
6192           glx: Stop specifying GLX_DEPTH_SIZE
6193           This code is just confused. It's asking for at least as many bits of
6194           (z-axis) depth as the root window has bits of (color) depth. For rgb565
6195           or rgb888 this is harmless, but at 10 bits per channel this demands a
6196           30-bit or deeper Z buffer. While some hardware could in principle do a
6197           32-bit Z buffer, Mesa does not expose such fbconfigs (at least on Intel
6198           and AMD).
6199           We're not actually using the Z buffer, so just stop asking for one.
6200
6201 2019-01-14 11:30:48 +0100  Niels De Graef <niels.degraef@barco.com>
6202
6203         * configure.ac:
6204         * gst-libs/gst/vaapi/Makefile.am:
6205         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6206         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
6207         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6208         * gst-libs/gst/vaapi/meson.build:
6209         * gst/vaapi/gstvaapisink.c:
6210         * meson.build:
6211           libs: wayland: add support for XDG-shell protocol
6212           [wl_shell] is officially [deprecated], so provide support for the
6213           XDG-shell protocol should be provided by all desktop-like compositors.
6214           (In case they don't, we can of course fall back to wl_shell).
6215           Note that the XML file is directly provided by the `wayland-protocols`
6216           dependency and generates the protocol marshalling code.
6217           [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
6218           [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c
6219
6220 2019-02-16 19:09:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
6221
6222         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6223           libs: window: wayland: Prefix wl_shell_surface field with `wl_`
6224           It will help us to distinguish from other Wayland shell surface
6225           (such as XDG-shell) later on.
6226
6227 2019-01-14 09:58:19 +0100  Niels De Graef <nielsdegraef@gmail.com>
6228
6229         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6230         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
6231         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6232           libs: wayland: Prefix wl_shell field with `wl_`
6233           It will help us to distinguish from other Wayland shells (such as
6234           XDG-shell) later on.
6235
6236 2019-02-08 09:21:28 +0300  Denis Nagorny <denis.nagorny@intel.com>
6237
6238         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6239           libs: display: lock ensure_profile()
6240           Thread safety patch for ensure_profile() function
6241           Fixes #133
6242
6243 2019-02-08 16:35:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6244
6245         * meson.build:
6246           meson: bump the minimum wayland version requirement to 1.11.0
6247           This was missed on commit 77bb3424
6248
6249 2019-01-24 21:08:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6250
6251         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6252         * gst/vaapi/gstvaapisink.c:
6253           vaapisink: x11: trap WM_DELETE_WINDOW message
6254           Register the WM_DELETE_WINDOW message from window manager and
6255           trap it to stop the pipeline cleanly.
6256           Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/130
6257
6258 2019-01-21 19:22:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6259
6260         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6261           libs: window: remove native-id property
6262           native-id property is problematic since the variable that stores it is
6263           gsize, which is platform specific, and in some is bigger than unsigned
6264           long, and there are not way to handle gsize properties.
6265           Also, GST_VAAPI_ID_INVALID is defined in gsize terms, and we would
6266           like to keep using it for this scope.
6267           This patch removes the native-id property and set it manually in
6268           gst_vaapi_window_new_internal().
6269
6270 2019-01-18 10:33:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6271
6272         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6273           libs: window: use G_GSIZE_MODIFIER for window id
6274           gsize type is not equal in all platforms, then the 'l' print modifier
6275           shall not be used always.
6276           This issue was found in Debian builds.
6277
6278 2019-01-17 10:27:13 +0800  Wangfei <fei.w.wang@intel.com>
6279
6280         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6281         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6282           encoder: h264/h265: set SPS cbr_flag with correct value.
6283           The flag only set as 1 when the rate-control mode is CBR.
6284
6285 === release 1.15.1 ===
6286
6287 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
6288
6289         * ChangeLog:
6290         * NEWS:
6291         * RELEASE:
6292         * configure.ac:
6293         * gstreamer-vaapi.doap:
6294         * meson.build:
6295           Release 1.15.1
6296
6297 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
6298
6299         * docs/plugins/inspect/plugin-vaapi.xml:
6300           Update docs
6301
6302 2019-01-14 19:35:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6303
6304         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6305           libs: encoder: refactor to avoid code duplication
6306           gst_vaapi_encoder_put_frame() and gst_vaapi_encoder_flush() duplicates
6307           the same code segment where the coded buffer is created, the picture
6308           encoded on it and pushed to the async queue.
6309           The function gst_vaapi_encoder_encode_and_queue() refactor this.
6310
6311 2019-01-14 18:21:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6312
6313         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6314         * gst-libs/gst/vaapi/gstvaapiencoder.h:
6315         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6316         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6317         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
6318           libs: encoder: h264/h265: flush pending ordered pictures
6319           In order to flush the pending pictures, a new internal encoder vmethod
6320           is used: get_pending_reordered()
6321           This method follows an iterator pattern which will return the next
6322           picture to encode and push.
6323           The base encoder will call this function in a loop when flush() is called.
6324           For now, only H.264 and H.265 encoders implement this flushing mechanism.
6325
6326 2018-12-06 10:18:53 +0800  Wangfei <fei.w.wang@intel.com>
6327
6328         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6329         * gst-libs/gst/vaapi/gstvaapiencoder.h:
6330         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6331         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6332           libs: encoder: h264/h265: fix encode lose frame issue.
6333           Instead of dropping all remain frames in reorder_frame_list during
6334           flush, keep encoding.
6335           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/97
6336
6337 2019-01-15 14:33:11 +0800  Wangfei <fei.w.wang@intel.com>
6338
6339         * gst/vaapi/gstvaapipostproc.c:
6340           vaapipostproc: before set surface proxy, check if it already been created and exist.
6341           Fix the deinterlace black frame when playing with glimagesink:
6342           gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \
6343           ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
6344
6345 2019-01-11 13:48:29 +0800  Wangfei <fei.w.wang@intel.com>
6346
6347         * gst-libs/gst/vaapi/gstvaapiutils.c:
6348           vaapipostproc: clean up USE_VA_VPP macro since it already removed from configure file.
6349
6350 2018-12-26 14:36:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
6351
6352         * gst-libs/gst/vaapi/meson.build:
6353         * gst/vaapi/meson.build:
6354         * meson.build:
6355         * tests/meson.build:
6356           meson: build h264 fei encoder if possible
6357
6358 2018-12-26 14:04:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
6359
6360         * configure.ac:
6361           configure: bump the minimum wayland version requirement to 1.11.0
6362
6363 2018-12-24 12:58:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
6364
6365         * configure.ac:
6366         * gst-libs/gst/vaapi/Makefile.am:
6367         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
6368         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
6369         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
6370         * gst-libs/gst/vaapi/gstvaapicompat.h:
6371         * gst-libs/gst/vaapi/gstvaapicontext.c:
6372         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6373         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
6374         * gst-libs/gst/vaapi/gstvaapifilter.c:
6375         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6376         * gst-libs/gst/vaapi/gstvaapisurface.c:
6377         * gst-libs/gst/vaapi/gstvaapiutils.c:
6378         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
6379         * gst-libs/gst/vaapi/meson.build:
6380         * gst/vaapi/Makefile.am:
6381         * gst/vaapi/gstvaapi.c:
6382         * gst/vaapi/gstvaapidecode.c:
6383         * gst/vaapi/gstvaapidecodebin.c:
6384         * gst/vaapi/gstvaapipluginbase.c:
6385         * gst/vaapi/meson.build:
6386         * meson.build:
6387         * tests/decoder.c:
6388         * tests/simple-decoder.c:
6389           vaapi: bump the minimum vaapi version requirement to 0.39.0
6390           And reduce unnecessary API version and structures check as well.
6391           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
6392
6393 2018-12-22 18:07:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6394
6395         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6396         * gst-libs/gst/vaapi/gstvaapiwindow.h:
6397         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
6398         * tests/test-decode.c:
6399         * tests/test-filter.c:
6400         * tests/test-subpicture.c:
6401         * tests/test-textures.c:
6402         * tests/test-windows.c:
6403           libs: window: remove custom ref() and unref()
6404           Use gst_object_ref() and gst_object_unref() instead.
6405
6406 2018-12-22 13:25:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6407
6408         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6409         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
6410         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
6411         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
6412         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6413         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6414           libs: window: use its own debug category
6415
6416 2018-12-22 18:02:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6417
6418         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6419         * gst-libs/gst/vaapi/gstvaapiwindow.h:
6420         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
6421         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
6422         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
6423         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
6424         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
6425         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
6426         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
6427         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6428         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
6429         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6430         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
6431         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
6432           libs: window: refactor as gobject
6433           This is another step in the gobjectification of the internal library
6434           of gstreamer-vaapi. Now it is the turn of GstVaapiWindow and its
6435           derivates.
6436           The idea is to minimize the changeset keeping the same design as
6437           much as possible.
6438           GstVaapiWindow is defined as an abstract class with two properties:
6439           the GstVaapiDisplay and the native ID. Thus, many of the
6440           GstVaapiObject macros were copied as GstVaapiWindow macros.
6441           The function gst_vaapi_window_new_internal() is kept as a decorator
6442           of for calling gst_vaapi_window_create() and the possibility of
6443           failure.
6444           The descendant classes, such as glx, still use the private
6445           structures, but through the gobject mechanism.
6446
6447 2018-12-03 22:05:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6448
6449         * gst-libs/gst/vaapi/gstvaapifilter.c:
6450           libs: filter: use its own debug category
6451
6452 2018-12-24 14:08:42 +0800  He Junyan <junyan.he@hotmail.com>
6453
6454         * gst/vaapi/gstvaapidecode.c:
6455         * gst/vaapi/gstvaapipluginbase.c:
6456         * gst/vaapi/gstvaapipluginbase.h:
6457         * gst/vaapi/gstvaapipostproc.c:
6458         * gst/vaapi/gstvaapisink.c:
6459           plugins: Add more check for allowed raw caps.
6460           The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
6461           pad and src pad, which cause some bugs. For sink pad, we need to verify
6462           vaPutImage() while for the src pad we need to verify vaGetImage().
6463           For vaapidecoderXXX kind of plugins, the case is more complex. We need
6464           to verify whether the decoded result(in some surface, NV12 format most
6465           of the time) can be vaGetImage to some raw image format. Add more check
6466           to fix all these problems.
6467           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123
6468           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6469
6470 2018-12-18 10:44:21 +0800  Wangfei <fei.w.wang@intel.com>
6471
6472         * gst/vaapi/gstvaapipostproc.c:
6473           vaapipostproc: fix csc fail when only change width or height.
6474
6475 2018-12-15 09:47:15 +0900  Wonchul Lee <chul0812@gmail.com>
6476
6477         * tests/elements/meson.build:
6478           meson: Add gtk guard
6479
6480 2018-12-15 14:48:03 +0800  Wangfei <fei.w.wang@intel.com>
6481
6482         * gst/vaapi/gstvaapiencode_h264.c:
6483           libs: enc: h264: set max profile idc with correct profile.
6484           Use the highest rank of available profile as the max profile to
6485           set max idc value.
6486           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/124
6487
6488 2018-12-03 13:56:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
6489
6490         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6491         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6492         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6493           Use G_DEFINE_TYPE_WITH_PRIVATE if applicable
6494           This gets rid of the strange `do_init` macro and makes the intent a bit
6495           more clear.
6496
6497 2018-12-05 17:24:53 -0300  Thibault Saunier <tsaunier@igalia.com>
6498
6499         * common:
6500           Automatic update of common submodule
6501           From ed78bee to 59cb678
6502
6503 2018-11-27 09:47:44 -0500  Wangfei <fei.w.wang@intel.com>
6504
6505         * gst-libs/gst/vaapi/gstvaapiimage.c:
6506         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6507         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6508         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6509         * gst-libs/gst/vaapi/video-format.c:
6510         * gst/vaapi/gstvaapidecode.c:
6511         * gst/vaapi/gstvaapipluginutil.h:
6512           libs: dec: h265: support decode for main-444 10bit streams.
6513           Add 444 10bit yuv format Y410, which can be used to decode
6514           main-444 10bit streams. Currently, this feature is only
6515           supported by media-driver in Icelake.
6516
6517 2018-11-28 05:56:44 +0200  Jordan Petridis <jordan@centricular.com>
6518
6519         * gst/vaapi/gstvaapidecode.c:
6520         * gst/vaapi/gstvaapisink.c:
6521           Run gst-indent through the files
6522           This is required before we enabled an indent test in the CI.
6523           https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
6524
6525 2018-11-14 13:11:56 +0800  He Junyan <junyan.he@hotmail.com>
6526
6527         * gst/vaapi/gstvaapipluginbase.c:
6528           plugins: modify image check of extract_allowed_surface_formats.
6529           The extract_allowed_surface_formats function just check whether
6530           we can support some kind of surface/image format pair. We just
6531           need to create a surface, create an image with the same video-format
6532           and putImage from image to surface. All these operations success,
6533           that kind of video-format is supported.
6534           The old manner do not work for some kind of video-format. For example,
6535           the RGBA kind of format will create a NV12 surface and RGBA image,
6536           and the putImage will fail because the format is not same. And so
6537           the RGBA format is not supported but actually it is supported.
6538
6539 2018-11-14 11:34:20 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
6540
6541         * gst/vaapi/gstvaapipostproc.c:
6542           vaapipostproc: add some missing locking
6543           gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
6544           in gst_vaapipostproc_transform_caps(). The usage is already protected by
6545           the mutex.
6546           This is needed when the pipeline is stopped during startup.
6547
6548 2018-11-20 16:07:44 +0800  Xiang, Haihao <haihao.xiang@intel.com>
6549
6550         * gst/vaapi/gstvaapivideomemory.c:
6551           Close dmabuf_fd
6552           Otherwise it will result in resource leak when failed to create
6553           dmabuf memory
6554
6555 2018-11-12 13:39:51 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
6556
6557         * gst/vaapi/gstvaapiencode.c:
6558           vaapiencode: don't start src pad task in set_format
6559           Otherwise the task may be restarted during shutdown. Start the task in
6560           gst_vaapiencode_handle_frame() instead.
6561
6562 2018-11-14 13:52:48 +0800  Wangfei <fei.w.wang@intel.com>
6563
6564         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6565         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6566         * gst-libs/gst/vaapi/gstvaapiutils.c:
6567         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6568         * gst/vaapi/gstvaapidecode.c:
6569         * gst/vaapi/gstvaapipluginutil.h:
6570           libs: dec: h265: support decode for main-444 8bit streams.
6571           Add 444 8bit yuv format AYUV, which can be used to decode
6572           main-444 8bit streams. Currently, this feature is only
6573           supported by media-driver in Icelake.
6574           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/119
6575
6576 2018-11-12 17:43:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6577
6578         * .gitlab-ci.yml:
6579           Add Gitlab CI configuration
6580           This commit adds a .gitlab-ci.yml file, which uses a feature
6581           to fetch the config from a centralized repository. The intent is
6582           to have all the gstreamer modules use the same configuration.
6583           The configuration is currently hosted at the gst-ci repository
6584           under the gitlab/ci_template.yml path.
6585           Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
6586
6587 2018-11-09 22:03:43 +0800  He Junyan <junyan.he@hotmail.com>
6588
6589         * gst-libs/gst/vaapi/gstvaapisurface.h:
6590         * gst-libs/gst/vaapi/gstvaapiutils.c:
6591           libs: Sync the GstVaapiChromaType to VA header file.
6592           Add more kinds of chrometype which will be used to describe
6593           new video formats. Sync it with 1.4.0 version header file.
6594           Alse delete useless GST_VAAPI_CHROMA_TYPE_YUV410 chrome type.
6595           Signed-off-by: He Junyan <junyan.he@hotmail.com>
6596
6597 2018-11-09 23:55:05 +0000  Tim-Philipp Müller <tim@centricular.com>
6598
6599         * gst-libs/gst/vaapi/meson.build:
6600           meson: link with -lm
6601           Fixes #117 hopefully.
6602
6603 2018-11-09 23:46:53 +0000  Tim-Philipp Müller <tim@centricular.com>
6604
6605         * meson.build:
6606           meson: bump meson required to 0.47 for feature options
6607
6608 2018-11-06 14:38:08 +0800  Junyan He <junyan.he@intel.com>
6609
6610         * gst-libs/gst/vaapi/video-format.c:
6611           libs: Modify the video format of endianness.
6612           We lack some video format because endianness declare.
6613           The video format should not directly relate to endianness. For example,
6614           ARGB on big endian should not be simplely seen as BGRA on little endian
6615           machine. We should provide endianess convert or format convert help
6616           functions if endianness does not match.
6617           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/112
6618           Signed-off-by: Junyan He <junyan.he@intel.com>
6619
6620 2018-10-17 18:36:52 +0800  Junyan He <junyan.he@intel.com>
6621
6622         * gst/vaapi/gstvaapipluginutil.c:
6623           plugins: Fix build error when GL is enabled while EGL is disabled.
6624           gl_platform_type in gst_vaapi_get_display_type_from_gl_env generate
6625           unused-variable warning and may block build when Werror enabled.
6626           Several functions like gst_vaapi_display_egl_new_with_native_display
6627           have no prototype warning and link error when GL is enabled but EGL
6628           is disabled. Fix all these warning and link error.
6629           https://bugzilla.gnome.org/show_bug.cgi?id=797358
6630           Signed-off-by: Junyan He <junyan.he@intel.com>
6631
6632 2018-11-03 15:06:09 +0800  Wangfei <fei.w.wang@intel.com>
6633
6634         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
6635         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
6636           libs: encoder: h264/h264fei: remove unuseless code.
6637           The variable are set twice, remove previous one.
6638           https://bugzilla.gnome.org/show_bug.cgi?id=797365
6639
6640 2018-11-03 15:28:35 +0800  Wangfei <fei.w.wang@intel.com>
6641
6642         * tests/simple-encoder.c:
6643         * tests/test-fei-enc-in.c:
6644           tests: check return value when using gst_buffer_map.
6645           https://bugzilla.gnome.org/show_bug.cgi?id=797366
6646
6647 2018-11-02 16:50:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6648
6649         * meson.build:
6650         * meson_options.txt:
6651         * tests/elements/meson.build:
6652         * tests/meson.build:
6653           build: meson: build examples
6654
6655 2018-11-02 16:50:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6656
6657         * gst-libs/gst/vaapi/meson.build:
6658           build: meson: declare headers for libgstvaapi
6659           Thus handling its recompilation if needed.
6660
6661 2018-11-05 05:41:13 +0000  Matthew Waters <matthew@centricular.com>
6662
6663         * .gitmodules:
6664           Update common submodule location
6665           Remove the git directory
6666
6667 2018-11-05 13:00:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
6668
6669         * .gitmodules:
6670         * gstreamer-vaapi.doap:
6671           Clone the code from gitlab
6672           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/116
6673
6674 2018-10-24 14:18:37 -0400  Wangfei <fei.w.wang@intel.com>
6675
6676         * gst-libs/gst/vaapi/gstvaapiimage.c:
6677         * gst-libs/gst/vaapi/gstvaapisurface.h:
6678         * gst-libs/gst/vaapi/gstvaapiutils.c:
6679         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6680         * gst-libs/gst/vaapi/video-format.c:
6681         * gst/vaapi/gstvaapidecode.c:
6682         * gst/vaapi/gstvaapipluginutil.h:
6683           libs: dec: h265: support decode for main-10-422 10bit streams.
6684           Add 422 10bit yuv format Y210, which can be used to decode
6685           main-10-422 10bit streams. Currently, this feature is only
6686           supported by media-driver in Icelake.
6687           https://bugzilla.gnome.org/show_bug.cgi?id=797264
6688
6689 2018-10-13 15:00:32 +0800  Wangfei <fei.w.wang@intel.com>
6690
6691         * gst-libs/gst/vaapi/gstvaapicontext.c:
6692           libs: context: roi_rc_qp_delta_support should not be checked when CQP.
6693           VA_ROI_RC_QP_DELTA_SUPPORT return value will be ignored when the
6694           rate control mode is set as CQP. In CQP mode, it shouldn't check
6695           roi_rc_qp_delta_support return value from driver backend.
6696           https://bugzilla.gnome.org/show_bug.cgi?id=797087
6697
6698 2018-10-15 17:55:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6699
6700         * gst/vaapi/gstvaapipostproc.c:
6701           vaapipostproc: fix classification string
6702           The classification string is splitted by '/' and then looks for the
6703           components.
6704           This patch removes the ';' by unifying all the components.
6705
6706 2018-10-15 16:05:02 +0100  Philippe Normand <philn@igalia.com>
6707
6708         * gst/vaapi/gstvaapipostproc.c:
6709           vaapipostproc: Add Hardware classifier to metadata
6710
6711 2018-10-12 16:37:34 +0800  Wangfei <fei.w.wang@intel.com>
6712
6713         * gst-libs/gst/vaapi/gstvaapicontext.c:
6714           libs: context: create context first before using it to create surface.
6715           In gst_vaapi_context_reset(), if the context has to be destroyed, make
6716           sure to create it first before allocating its associated surfaces.
6717           This patch fixes a regression introduced in commit 82872f4 because
6718           the formats available in the current context now are ensured before
6719           creating the context's surfaces.
6720           https://bugzilla.gnome.org/show_bug.cgi?id=797277
6721
6722 2018-10-12 15:39:53 +0100  Philippe Normand <philn@igalia.com>
6723
6724         * docs/plugins/inspect/plugin-vaapi.xml:
6725         * gst/vaapi/gstvaapidecode.c:
6726         * gst/vaapi/gstvaapiencode_h264.c:
6727         * gst/vaapi/gstvaapiencode_h264_fei.c:
6728         * gst/vaapi/gstvaapiencode_h265.c:
6729         * gst/vaapi/gstvaapiencode_jpeg.c:
6730         * gst/vaapi/gstvaapiencode_mpeg2.c:
6731         * gst/vaapi/gstvaapiencode_vp8.c:
6732         * gst/vaapi/gstvaapiencode_vp9.c:
6733           gst: Advertise elements interacting with hardware devices
6734
6735 2018-10-01 09:26:05 +0800  Wangfei <fei.w.wang@intel.com>
6736
6737         * gst-libs/gst/vaapi/gstvaapicontext.c:
6738         * gst-libs/gst/vaapi/gstvaapisurface.c:
6739         * gst-libs/gst/vaapi/gstvaapisurface.h:
6740           libs: context: query surface format before context to create surface.
6741           Before using context to create surface, the supported surface format
6742           should be checked first.
6743           https://bugzilla.gnome.org/show_bug.cgi?id=797222
6744
6745 2018-10-09 17:23:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6746
6747         * gst-libs/gst/vaapi/gstvaapiimage.c:
6748         * gst-libs/gst/vaapi/gstvaapivalue.c:
6749           libs: replace g_error with GST_ERROR
6750           And handle those errors rather than halting.
6751
6752 2018-10-09 17:23:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6753
6754         * gst-libs/gst/vaapi/gstvaapiimage.c:
6755         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
6756         * gst-libs/gst/vaapi/gstvaapisurface.c:
6757           libs: replace g_warning with GST_WARNING
6758
6759 2018-09-26 14:55:32 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6760
6761         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6762         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
6763         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6764         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
6765           libs: Move from g_debug to GST_DEBUG.
6766           https://bugzilla.gnome.org/show_bug.cgi?id=797202
6767
6768 2018-10-04 02:20:10 +0800  Soon, Thean Siew <thean.siew.soon@intel.com>
6769
6770         * gst/vaapi/gstvaapipostproc.c:
6771           vaapipostproc: change the way of handling deinterlace
6772           The current vaapipostproc calls driver's video processing
6773           pipeline for deinterlacing only if it is Advance deinterlacing.
6774           Modify in the way that it always tries with driver's video
6775           processing pipeline for deinterlacing, and falls back to software
6776           method of appending picture structure meta data only if it fails
6777           with driver's method.
6778           https://bugzilla.gnome.org/show_bug.cgi?id=797095
6779
6780 2018-09-24 16:54:29 -0500  Matteo Valdina <matteo.valdina@gmail.com>
6781
6782         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
6783         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
6784           libs: h264: Update level table to "Recommendation H.264 (04/17)".
6785           Added level 6, 6.1 and 6.2. Reference Table A-1 – Level limits
6786           from T-REC-H.264-201704.
6787           https://bugzilla.gnome.org/show_bug.cgi?id=797202
6788
6789 2018-09-20 09:57:33 +0800  Wangfei <fei.w.wang@intel.com>
6790
6791         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6792         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6793         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6794         * gst-libs/gst/vaapi/gstvaapisurface.c:
6795         * gst-libs/gst/vaapi/gstvaapiutils.c:
6796         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6797         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
6798         * gst-libs/gst/vaapi/video-format.c:
6799         * gst-libs/gst/vaapi/video-format.h:
6800         * gst/vaapi/gstvaapidecode.c:
6801         * gst/vaapi/gstvaapipluginbase.c:
6802         * gst/vaapi/gstvaapipluginutil.h:
6803           libs: dec: h265: add 422 chroma format support.
6804           Add main-422-10 profile which support 422 chroma format stream.
6805           Currently, this feature is only supported by media-driver in Icelake.
6806           https://bugzilla.gnome.org/show_bug.cgi?id=797143
6807
6808 2018-09-26 19:34:06 +0200  U. Artie Eoff <ullysses.a.eoff@intel.com>
6809
6810         * tests/y4mreader.c:
6811           tests: include sysdeps.h in compilation unit
6812           Fixes https://bugzilla.gnome.org/show_bug.cgi?id=797204
6813           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6814
6815 2018-09-26 18:04:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6816
6817         * tests/y4mreader.c:
6818         * tests/y4mreader.h:
6819           tests: fix compilation
6820           https://bugzilla.gnome.org/show_bug.cgi?id=797204
6821
6822 2018-09-25 20:28:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6823
6824         * tests/y4mreader.h:
6825           tests: don's use sysdeps.h in header
6826
6827 2018-09-14 19:30:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6828
6829         * gst-libs/gst/vaapi/gstvaapiutils.h:
6830           libs: utils: no need of include config.h
6831
6832 2018-09-13 18:12:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6833
6834         * tests/decoder.c:
6835         * tests/output.c:
6836         * tests/test-decode.c:
6837         * tests/test-subpicture.c:
6838           tests: remove already include string.h
6839           Since sysdeps.h includes string.h there's no need to include it again.
6840
6841 2018-09-13 18:11:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6842
6843         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
6844         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6845         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6846         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6847         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6848         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6849         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
6850         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6851         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6852         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6853         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6854         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6855         * gst-libs/gst/vaapi/gstvaapiimage.c:
6856         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6857         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
6858         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
6859         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6860         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
6861           libs: remove already include string.h
6862           Since sysdeps.h includes string.h there's no need to include it again.
6863
6864 2018-09-13 18:26:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6865
6866         * gst-libs/gst/vaapi/gstvaapiobject.h:
6867         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
6868         * gst/vaapi/gstvaapivideometa_texture.c:
6869           libs: object: separation of internal API and plugins
6870           Removed exposed macros GST_VAAPI_OBJECT_DISPLAY() and
6871           GST_VAAPI_OBJECT_ID() to plugins, keeping them only for internal
6872           library usage.
6873           The purpose is readability.
6874           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6875
6876 2018-09-13 16:34:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6877
6878         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
6879           libs: parser_frame: change macros for inlined functions
6880           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6881
6882 2018-09-13 16:10:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6883
6884         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
6885         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
6886         * gst-libs/gst/vaapi/gstvaapivideopool.c:
6887         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
6888           libs: videopool: remove unneeded code
6889           The removed code comes frome the bad practice of copy&paste. Better
6890           move it as internal function.
6891           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6892
6893 2018-09-13 12:22:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6894
6895         * gst-libs/gst/vaapi/Makefile.am:
6896         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
6897         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
6898         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
6899         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
6900         * gst-libs/gst/vaapi/gstvaapiobject.c:
6901         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
6902         * gst-libs/gst/vaapi/gstvaapipixmap.c:
6903         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
6904         * gst-libs/gst/vaapi/gstvaapitexture.c:
6905         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
6906         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6907         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
6908         * gst-libs/gst/vaapi/meson.build:
6909           libs: remove dependency on IN_LIBGSTVAAPI_CORE
6910           This conditional code was when libgstvaapi was intended to be library
6911           used outside GStreamer. This not the case anymore, thus removing it.
6912           https://bugzilla.gnome.org/show_bug.cgi?id=797139
6913
6914 2018-09-19 10:16:36 +0800  Wangfei <fei.w.wang@intel.com>
6915
6916         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
6917           libs: dec: h265: fix the macros used for IDC profile
6918           profile_idc flag in SPS only indicate the IDC profile, which may
6919           need some other flags together to get the real profile.
6920           https://bugzilla.gnome.org/show_bug.cgi?id=797160
6921
6922 2018-09-12 19:06:22 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
6923
6924         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6925         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6926         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6927         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6928         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6929           libs: use g_clear_pointer() when possible
6930           https://bugzilla.gnome.org/show_bug.cgi?id=797131
6931
6932 2018-09-03 13:56:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6933
6934         * gst-libs/gst/vaapi/gstvaapifilter.h:
6935           libs: filter: add gobject's cleanup function
6936
6937 2018-05-22 14:28:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6938
6939         * gst-libs/gst/vaapi/gstvaapifilter.c:
6940         * gst-libs/gst/vaapi/gstvaapifilter.h:
6941         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
6942         * tests/test-filter.c:
6943           libs: filter: remove custom ref() and unref()
6944           Replacing them by gst_object_ref() and gst_object_unref()
6945           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6946
6947 2018-05-22 14:26:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6948
6949         * gst-libs/gst/vaapi/gstvaapifilter.c:
6950         * gst-libs/gst/vaapi/gstvaapifilter.h:
6951           libs: filter: refactor filter as gobject
6952           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6953
6954 2018-05-21 13:38:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6955
6956         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6957         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
6958           libs: decoder: remove destoy() and create() callbacks
6959           They were all replaced by reset()
6960           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6961
6962 2018-05-21 13:26:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6963
6964         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6965           libs: decoder: vp9: implement reset() callback
6966           remove destroy() and create() callback
6967           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6968
6969 2018-05-21 13:25:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6970
6971         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
6972           libs: decoder: vp8: implement reset() callback
6973           remove create() and destroy() callbacks
6974           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6975
6976 2018-05-21 13:24:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6977
6978         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6979           libs: decoder: vc1: implement reset() callback
6980           remove destroy() and create() callbacks
6981           use g_clear_pointer for rbdu_buffer
6982           no cast for enum
6983           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6984
6985 2018-05-21 13:24:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6986
6987         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
6988           libs: decoder: mpeg4: implement reset() callback
6989           remove destroy() and create() callback
6990           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6991
6992 2018-05-21 13:22:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6993
6994         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6995           libs: decoder: mpeg2: implement reset() callback
6996           remove create() and destroy() callbacks
6997           https://bugzilla.gnome.org/show_bug.cgi?id=796308
6998
6999 2018-05-21 13:22:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7000
7001         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
7002           libs: decoder: jpeg: implement reset() callback
7003           and remove create() and destroy() callbacks.
7004           https://bugzilla.gnome.org/show_bug.cgi?id=796308
7005
7006 2018-05-21 13:13:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7007
7008         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7009           libs: decoder: h265: implement reset() callback
7010           and remove create() and destroy()
7011           and use g_clear_pointer for dpb structure
7012           https://bugzilla.gnome.org/show_bug.cgi?id=796308
7013
7014 2018-05-21 13:11:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7015
7016         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7017           libs: decoder: h264: remove create() and destroy() callbacks
7018           https://bugzilla.gnome.org/show_bug.cgi?id=796308
7019
7020 2018-05-21 11:56:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7021
7022         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7023         * gst-libs/gst/vaapi/gstvaapidecoder.h:
7024         * tests/test-decode.c:
7025         * tests/test-subpicture.c:
7026           libs: decoder: remove gst_vaapi_decoder_unref()
7027           Replaced by gst_object_unref() in tests
7028           https://bugzilla.gnome.org/show_bug.cgi?id=796308
7029
7030 2018-05-21 11:51:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7031
7032         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7033         * gst-libs/gst/vaapi/gstvaapidecoder.h:
7034           libs: decoder: remove gst_vaapi_decoder_ref()
7035           https://bugzilla.gnome.org/show_bug.cgi?id=796308
7036
7037 2018-05-21 11:50:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7038
7039         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7040         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
7041           libs: decoder: remove gst_vaapi_decoder_new()
7042           https://bugzilla.gnome.org/show_bug.cgi?id=796308
7043
7044 2018-05-18 16:09:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7045
7046         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7047         * gst-libs/gst/vaapi/gstvaapidecoder.h:
7048         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7049         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
7050         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7051         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
7052         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
7053         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
7054         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
7055         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
7056         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7057         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
7058         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
7059         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7060         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
7061         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7062         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
7063         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7064         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
7065           libs: decoder: refactor decoders as gobject
7066           https://bugzilla.gnome.org/show_bug.cgi?id=796308
7067
7068 2018-08-31 20:56:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
7069
7070         * gst/vaapi/gstvaapidecode.c:
7071           vaapidecode: Requests upstream a key unit at parse or decode error.
7072           This is done to resume decoding after a parse error or decode error.
7073           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
7074
7075 2018-08-31 20:48:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
7076
7077         * gst/vaapi/gstvaapidecode.c:
7078           vaapidecode: sets return value in failure case.
7079           In gst_vaapidecode_handle_frame, when there is a decode error
7080           there is a code path the returns an uninitialized value.
7081           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
7082
7083 2018-08-30 18:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7084
7085         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7086           libs: display: lock at extracting available image formates
7087           When running several vaapi elements at the concurrently, at
7088           initialization, there is a race condition when extractin the avaible
7089           formats for images and subpictures.
7090           This patch add a lock when the those arrays are filled.
7091           https://bugzilla.gnome.org/show_bug.cgi?id=797039
7092
7093 2018-08-31 14:47:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
7094
7095         * meson.build:
7096           meson: Sync libversion and osxversion code from other repos
7097           gstreamer-vaapi does not build any libraries, only plugins, so this is
7098           not used, but sync it just in case someone does add it in the future.
7099
7100 2018-08-29 13:44:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7101
7102         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
7103           libs: encoder: h265: trivial documentation fix
7104
7105 2018-08-30 11:08:07 +0800  Wangfei <fei.w.wang@intel.com>
7106
7107         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7108         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
7109           libs: encoder: h265: add low delay B frame support.
7110           Low delay B frame provide the function of transforming
7111           P frame into low delay B frame which frame type is B, but
7112           only reference predictive frames. This can be used when P
7113           frame unsupported. Especially for P and B both unsupported,
7114           in this case, I and low delay B frame can be encoded in a
7115           stream.
7116           https://bugzilla.gnome.org/show_bug.cgi?id=796984
7117
7118 2018-08-27 20:42:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7119
7120         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7121           libs: decoder: h264: Avoid using picture after it has been free
7122           In some cases, the found_picture ended up being evicted and freed, which
7123           would lead to a use after free when accessing picture->base.poc. In this
7124           fix, we take a ref on the picture before calling dpb_evict.
7125           https://bugzilla.gnome.org/show_bug.cgi?id=787124
7126
7127 2018-07-25 17:03:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7128
7129         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7130           h264decoder: Fail decoding slice with missing inter-view reference
7131           Similarly to previous patch, we have no error concealment. As a side
7132           effect, it's better to skip slices with missing references then passing
7133           NULL pointers to the accelerator. Passing NULL pointer would lead to
7134           major visual artifact, a behaviour that is likely undefined.
7135           https://bugzilla.gnome.org/show_bug.cgi?id=787124
7136
7137 2017-09-14 14:25:41 +0900  Hyunjun Ko <zzoon@igalia.com>
7138
7139         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7140           libs: decoder: h264: reset context when the number of view is increased
7141           Usually in case of MVC decoding, dpb size is increasedi if subset sps.
7142           That's why it resets context without this patch.
7143           But for some media it doesn't increase dpb size. Even in this case we
7144           should reset context to deal with MVC decoding.
7145           Otherwise, it leads to assert.
7146           https://bugzilla.gnome.org/show_bug.cgi?id=787124
7147
7148 2018-07-25 13:50:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7149
7150         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7151         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7152         * gst/vaapi/gstvaapidecode.c:
7153           vaapidecode: Skip unparsable units from adapter
7154           If the unit could not be parsed, just skip this nal and keep parsing
7155           what is left in the adapter. We need to flush the broken unit in the
7156           decoder specific parser because the generic code does not know about
7157           units boundary. This increases error resilliance.
7158           Before this, the broken unit would stay in the adapter and EOS would be
7159           returned. Which stopped the streaming. Just removing the EOS would have
7160           lead to the adapter size growing indefinitely.
7161           https://bugzilla.gnome.org/show_bug.cgi?id=796863
7162
7163 2018-07-24 12:40:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7164
7165         * gst/vaapi/gstvaapidecode.c:
7166           vaapidecoder: Don't error out on decode errors
7167           This is problematic on live pipeline where loosing network can
7168           cause an important amount of errors.
7169           https://bugzilla.gnome.org/show_bug.cgi?id=796832
7170
7171 2018-07-25 15:47:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7172
7173         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7174           h265decoder: Don't scan empty buffer
7175           Same as what we did for H264 decoder, this is to avoid an assertion
7176           in the adapter.
7177           https://bugzilla.gnome.org/show_bug.cgi?id=796832
7178
7179 2018-07-25 20:21:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7180
7181         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7182           libs: h264: renable the vaapi category for logging
7183           h264 log messages were logged in default category because a regression
7184           in code. This patch renable the usage of vaapi logging category.
7185           This regression was introduced in commit 7c365bdd.
7186
7187 2018-07-18 13:09:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7188
7189         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7190           h264decoder: Fail decoding slice if modification process failed
7191           This patch chains up failure to executing the modification process. The
7192           end result is that we now fail decoding the slice if this process fails.
7193           This avoid sending a corrupted state to the accelerator. In some special
7194           cases, this could lead to unrecoverable errors.
7195           https://bugzilla.gnome.org/show_bug.cgi?id=796832
7196
7197 2018-07-18 13:07:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7198
7199         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7200           h264decoder: Don't scan empty buffer
7201           gst_adapter_masked_scan_uint32_peek() asserts if size is 0. Don't
7202           try and scan in that case. This fixes assertion that would some times
7203           happen when the stream is corrupted.
7204           https://bugzilla.gnome.org/show_bug.cgi?id=796832
7205
7206 2018-07-04 12:51:10 +0800  Tianhao Liu <tianhao.liu@intel.com>
7207
7208         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7209           libs: encoder: jpeg: set component id and Tqi
7210           This change is due a problem encoding JPEGs with Intel's
7211           media-driver: green/black image when playback jpeg
7212           This patch sets component identifier and quantization table
7213           destination selector in frame header to support packing headers
7214           by Intel's media-driver that does not accept packed header
7215           in AP level.
7216           https://bugzilla.gnome.org/show_bug.cgi?id=796705
7217
7218 2018-06-25 14:20:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
7219
7220         * gst/vaapi/gstvaapipluginutil.c:
7221           pluginutil: downgrade unsupported driver logging
7222           On systems with an Nvidia card, this error is output each time
7223           the registry is rebuilt, which happens pretty often when
7224           using gst-build as a development environment.
7225           https://bugzilla.gnome.org/show_bug.cgi?id=796663
7226
7227 2018-06-24 13:07:20 +0200  Tim-Philipp Müller <tim@centricular.com>
7228
7229         * gst/vaapi/gstvaapivideobufferpool.c:
7230           Update for g_type_class_add_private() deprecation in recent GLib
7231
7232 2018-05-30 16:01:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7233
7234         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7235           h264dec: Remove false assumption about parity order
7236           The decoder was trying to detect earlier that a field was lost base
7237           on guessing the parity order. This breaks in streams were the parity
7238           order changes.
7239           This patch reverts the field order prediction code added by commit
7240           8dd93e9c8.
7241           https://bugzilla.gnome.org/show_bug.cgi?id=796169
7242
7243 2018-05-18 17:03:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7244
7245         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7246           h264dec: Properly set sentinel in ref frame list
7247           This ensure that we always have sentinels set in the reference
7248           pictures arrays. The code wasn't unsafe, this simply improve the
7249           tracing, so instead of printing 32 lines of zeros, va tracer
7250           prints proper empty lists.
7251           https://bugzilla.gnome.org/show_bug.cgi?id=796169
7252
7253 2018-06-13 18:00:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7254
7255         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7256         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7257         * gst-libs/gst/vaapi/gstvaapidisplay.h:
7258         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7259         * gst-libs/gst/vaapi/gstvaapifilter.c:
7260         * gst-libs/gst/vaapi/gstvaapiobject.c:
7261         * gst-libs/gst/vaapi/gstvaapivideopool.c:
7262         * gst/vaapi/gstvaapipluginbase.c:
7263         * gst/vaapi/gstvaapivideometa.c:
7264         * tests/test-decode.c:
7265           libs: display: remove gst_vaapi_display_ref()
7266           Replace it with gst_object_ref()
7267           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7268
7269 2018-06-13 17:54:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7270
7271         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7272         * gst-libs/gst/vaapi/gstvaapidisplay.h:
7273         * gst/vaapi/gstvaapi.c:
7274         * gst/vaapi/gstvaapidecode.c:
7275         * gst/vaapi/gstvaapiencode.c:
7276         * gst/vaapi/gstvaapipluginbase.c:
7277         * gst/vaapi/gstvaapipluginutil.c:
7278         * tests/output.c:
7279         * tests/simple-encoder.c:
7280         * tests/test-decode.c:
7281         * tests/test-display.c:
7282         * tests/test-fei-enc-in.c:
7283         * tests/test-filter.c:
7284         * tests/test-subpicture.c:
7285         * tests/test-surfaces.c:
7286         * tests/test-textures.c:
7287         * tests/test-windows.c:
7288           libs: display: remove gst_vaapi_display_unref()
7289           Use gst_object_unref() instead.
7290           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7291
7292 2018-06-13 18:10:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7293
7294         * gst/vaapi/gstvaapivideobufferpool.c:
7295           vaapibufferpool: declare parameter display as object
7296           We have neglected to update this code since GstVaapiDisplay turned
7297           into a GstObject descendant.
7298           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7299
7300 2018-06-01 12:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
7301
7302         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7303         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
7304         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7305         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
7306         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
7307         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7308         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
7309           libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config()
7310           Gobjectification for GstVaapiDisplay was almost done by the commit 185da3d1.
7311           But still something breaking GObject code convention remains, which is
7312           calling gst_vaapi_display_new() in each decendants.
7313           This patch replaces it with gst_vaapi_display_config(), defined in private
7314           header.
7315           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7316
7317 2018-06-13 17:05:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7318
7319         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7320           libs: display: redefine gst_vaapi_display_create()
7321           The function name was gst_vaapi_display_create_unlocked(), nonetheless
7322           it wasn't called unlocked. In order to keep the semantics this patch
7323           renames the gst_vaapi_display_create_unlocked() as
7324           gst_vaapi_display_create(), removing the previous function
7325           gst_vaapi_display_create().
7326           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7327
7328 2018-06-12 15:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7329
7330         * meson.build:
7331           Revert "build: meson: libva gst-uninstall friendly"
7332           This reverts commit fc3eef9c432c1628cb92ab56e74924cf1182da30.
7333
7334 2018-06-12 15:13:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7335
7336         * gst/vaapi/gstvaapipluginutil.c:
7337           plugins: fix compilation
7338           gstvaapipluginutil.c:171:1: error: old-style function definition [-Werror=old-style-definition]
7339
7340 2018-04-20 18:05:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7341
7342         * meson.build:
7343           build: meson: libva gst-uninstall friendly
7344           Make gstreamer-vaapi to use libva uninstalled.
7345
7346 2018-06-10 10:44:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7347
7348         * gst/vaapi/gstvaapipluginutil.c:
7349           plugins: refactor gst_vaapi_create_display_from_gl_context()
7350           gst_vaapi_create_display_from_gl_context() was a spaghetti mess.
7351           This path refactors it, in order to make the code readable and
7352           easy to follow.
7353           https://bugzilla.gnome.org/show_bug.cgi?id=796564
7354
7355 2018-05-25 12:17:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7356
7357         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7358         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7359         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
7360           libs: display: resurrect parent private member
7361           This is, practically, a revert of commit dcf135e2.
7362           The parent logic is useful for the EGL display, which is a decorator
7363           of the real windowing subsystem (X11 or Wayland). Thus it is avoided
7364           calling vaInitialize() and vaTerminate() twice.
7365           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7366
7367 2018-04-27 18:35:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7368
7369         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7370           libs: display: egl: initialize params structure
7371           Statically initialise the internal params structure.
7372           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7373
7374 2018-04-27 18:34:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7375
7376         * gst/vaapi/gstvaapipluginutil.c:
7377           plugins: handle EGL when creating VAAPI display from gl
7378           If GstGL reports a EGL platform force to create a EGL display using
7379           the native EGL display.
7380           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7381
7382 2018-04-24 18:17:24 +0900  Hyunjun Ko <zzoon@igalia.com>
7383
7384         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7385         * gst/vaapi/gstvaapipluginutil.c:
7386           display: egl: create VaapiDisplayEGL with native EGL display
7387           gst_vaapi_display_egl_new_with_native_display() has been broken since
7388           it wasn't used.
7389           Currently it's needed to call this API to create a display providing
7390           the EGL display, so it could avoid duplicated calls to the native
7391           display (eg. eglTerminate).
7392           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
7393           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7394
7395 2018-06-07 09:34:11 +0800  Tianhao Liu <tianhao.liu@intel.com>
7396
7397         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
7398           libs: decoder: release VA buffers after vaEndPicture
7399           This change is due a problem decoding JPEGs with Intel's media-driver:
7400           no image was generated.
7401           This patch relases the VA buffers after vaEndPicture() is called,
7402           and not before (after vaRenderPicture()).
7403           https://bugzilla.gnome.org/show_bug.cgi?id=796505
7404
7405 2018-06-07 19:49:02 +0100  Tim-Philipp Müller <tim@centricular.com>
7406
7407         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
7408         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
7409         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
7410           meson: fix build when xrender or xrandr are not available
7411           HAVE_XRENDER are defined to 1 or 0, not defined or undefined.
7412
7413 2018-05-25 16:47:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
7414
7415         * gst/vaapi/gstvaapipostproc.c:
7416           vaapipostproc: don't copy the GstParentBufferMeta if use_vpp
7417           Otherwise a reference to a DMABuf input buffer is kept until the output
7418           buffer is deleted.
7419           https://bugzilla.gnome.org/show_bug.cgi?id=796399
7420
7421 2018-05-22 21:13:08 +0900  Hyunjun Ko <zzoon@igalia.com>
7422
7423         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7424         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
7425           libs: display: remove unnecessary legacy code since gobjectification
7426           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7427
7428 2018-05-22 21:05:54 +0900  Hyunjun Ko <zzoon@igalia.com>
7429
7430         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7431         * gst-libs/gst/vaapi/gstvaapidisplay.h:
7432           libs: display: remove unused code
7433           https://bugzilla.gnome.org/show_bug.cgi?id=796470
7434
7435 2018-06-05 15:16:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7436
7437         * gst/vaapi/gstvaapiencode_h264.c:
7438           vaapiencode: h264: log output caps
7439
7440 2018-06-05 22:38:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7441
7442         * gst/vaapi/gstvaapiencode_h264.c:
7443           vaapiencode: h264: find profile in available and allowed caps
7444           The commit 67e33d3de225d0e006d7bf606e7abb20d4544eab ("vaapiencode: h264:
7445           find best profile in those available") changed the code to pick a profile
7446           that is actually supported by the hardware. Unfortunately it dropped the
7447           downstream constraints. This can cause negotiation failures under certain
7448           circumstances.
7449           The fix is split in two cases:
7450           1\ the available VA-API caps doesn't intersect with pipeline's allowed
7451           caps:
7452           * The best allowed profile (pipeline's caps) is set as the encoding
7453           target profile (it will be adjusted later by the available profiles
7454           and properties)
7455           2\ the available VA-API caps does intersect with pipeline's allowed
7456           caps:
7457           * The intersected caps are fixed, and its profile is set as the
7458           encoding target profile. In this case the is not the best profile,
7459           but the minimal one (if VA-API reports the profiles in order).
7460           Setting the minimal profile of the intersected caps is better for
7461           compatibility.
7462           This patch fixes other tests related with caps negotiation, for
7463           example, it handles baseline profile, even when VA only supports
7464           constrained-baseline.
7465           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
7466           https://bugzilla.gnome.org/show_bug.cgi?id=794306
7467
7468 2018-06-01 15:27:25 +0900  Hyunjun Ko <zzoon@igalia.com>
7469
7470         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7471           libs: encoder: h265: increase log2_max_pic_order_cnt range according to spec
7472           The specification says,
7473           "log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive."
7474           This patch changes the upper limit from 6 to 12.
7475           https://bugzilla.gnome.org/show_bug.cgi?id=796179
7476
7477 2018-05-21 13:27:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7478
7479         * gst/vaapi/gstvaapipluginutil.c:
7480           plugins: guard GstGL code
7481
7482 2018-05-18 18:23:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7483
7484         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7485           libs: decoder: h264: use g_clear_pointer()
7486
7487 2018-05-18 17:27:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7488
7489         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
7490         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
7491           libs: decoder: mpeg4, vc1: remove unused header
7492
7493 2018-05-18 11:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7494
7495         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
7496           libs: decoder: remove unused forward declaration
7497
7498 2018-05-07 07:59:25 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
7499
7500         * configure.ac:
7501           fix configure.ac regression
7502           Fixes regression introduced by 77527d67abe
7503           https://bugzilla.gnome.org/show_bug.cgi?id=795885
7504
7505 2018-05-05 17:57:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7506
7507         * gst-libs/gst/Makefile.am:
7508         * gst-libs/gst/base/Makefile.am:
7509         * gst-libs/gst/base/gstbitwriter.c:
7510         * gst-libs/gst/base/gstbitwriter.h:
7511         * gst-libs/gst/base/meson.build:
7512         * gst-libs/gst/meson.build:
7513         * gst-libs/gst/vaapi/Makefile.am:
7514         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7515         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
7516         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7517         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7518         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7519         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
7520         * gst-libs/gst/vaapi/meson.build:
7521           libs: remove gstbitwriter
7522           Since it is deployed in gstreamer-core, there is no need to use
7523           our custom version.
7524           https://bugzilla.gnome.org/show_bug.cgi?id=795848
7525
7526 2018-04-28 16:10:46 +0800  Wang,Fei <fei.w.wang@intel.com>
7527
7528         * gst/vaapi/gstvaapidecode.c:
7529           vaapih264dec: add constrained and progressive profiles
7530           Those profiles have been added in the version 2012-01
7531           and 2011-06 of the AVC spec (A.2.4.1 and A.2.4.2).
7532           Both are supported by VAProfileH264High
7533           https://bugzilla.gnome.org/show_bug.cgi?id=795624
7534
7535 2018-04-26 18:15:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7536
7537         * gst/vaapi/gstvaapipluginbase.c:
7538         * gst/vaapi/gstvaapipluginutil.c:
7539         * gst/vaapi/gstvaapivideocontext.c:
7540         * gst/vaapi/gstvaapivideocontext.h:
7541           plugin: remove custom GstGL context handling
7542           Instead of using our own context handling for looking for GstGL
7543           parameters (display, context and other context), this patch changes
7544           the logic to use the utility function offered by GstGL.
7545           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7546
7547 2018-04-26 15:03:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7548
7549         * gst/vaapi/gstvaapipluginbase.c:
7550           plugins: GstGL API must use the member variables
7551           This commit basically is a revert of commits 8092537 and fc1c415
7552           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7553
7554 2018-04-25 16:24:32 +0900  Hyunjun Ko <zzoon@igalia.com>
7555
7556         * gst/vaapi/gstvaapipluginbase.c:
7557           plugins: pass members as parameters of gst_gl_ensure_element_data()
7558           The parameters of gst_gl_ensure_element_data() have to be not
7559           local variable since they are going to be used to see if they're
7560           set in gst_element_set_context() inside the API.
7561           This is basically a revert of commit 3d56306c
7562           https://bugzilla.gnome.org/show_bug.cgi?id=793643
7563
7564 2018-04-25 17:50:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7565
7566         * meson.build:
7567           meson: fix USE_GLES_VERSION_MASK
7568           1. The macro in the code is USE_GLES_VERSION_MASK
7569           2. glesv3 is provided by glesv2 pkg-config, then it's required to
7570           check headers
7571           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7572
7573 2018-04-24 18:12:44 +0900  Hyunjun Ko <zzoon@igalia.com>
7574
7575         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7576           libs: egl: utils: mark context as wrapped when it is
7577           The returning egl context may be null, so we should check the
7578           return value.
7579           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7580
7581 2018-04-24 10:02:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7582
7583         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7584           libs: egl: utils: fix usage of GstGL macros
7585           Include gl.h for the required GstGL symbols.
7586           https://bugzilla.gnome.org/show_bug.cgi?id=795391
7587
7588 2018-04-25 11:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
7589
7590         * meson.build:
7591           meson: use -Wl,-Bsymbolic-functions where supported
7592           Just like the autotools build.
7593
7594 2018-04-20 16:01:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7595
7596         * meson.build:
7597           meson: use get_pkgconfig_variable()
7598           Use get_pkgconfig_variable() method, of dependency class, rather
7599           than using run_command().
7600
7601 2018-04-20 11:50:55 +0100  Tim-Philipp Müller <tim@centricular.com>
7602
7603         * gst-libs/gst/base/meson.build:
7604         * gst-libs/gst/vaapi/meson.build:
7605         * meson.build:
7606           meson: fix miscellaneous meson warnings
7607           WARNING: Passed invalid keyword argument "rqeuired".
7608           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "version".
7609           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "soversion".
7610           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "version".
7611           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "soversion".
7612
7613 2018-03-30 13:41:39 +0200  Paul Kocialkowski <paul.kocialkowski@bootlin.com>
7614
7615         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
7616           display: drm: Allow finding DRM paths out of the PCI subsystem
7617           This removes hard-coded checks on the parent subsystem of potential DRM
7618           devices. These checks were set to exlude devices that do not originate
7619           from the PCI bus, which is only a valid approach on x86 devices.
7620           Other devices may have a DRM device originating from the platform
7621           subsystem, so the checks that were previously restricted to PCI are
7622           extended to cover platform devices as well.
7623           https://bugzilla.gnome.org/show_bug.cgi?id=794840
7624           Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
7625
7626 2017-11-08 13:27:06 +0900  Hyunjun Ko <zzoon@igalia.com>
7627
7628         * gst/vaapi/gstvaapivideocontext.c:
7629           videocontext: support wl-display in "gst.vaapi.app.Display"
7630           Through "gst.vaapi.app.Display" context, users can set their own
7631           VADisplay and native display of their backend.
7632           So far we support only X11 display, from now we also support Wayland
7633           display.
7634           Attributes:
7635           - wl-display : pointer of struct wl_display .
7636           https://bugzilla.gnome.org/show_bug.cgi?id=705821
7637
7638 2017-11-08 13:26:38 +0900  Hyunjun Ko <zzoon@igalia.com>
7639
7640         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7641         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
7642           libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()
7643           Implements new API function so that users could create GstVaapiDisplay
7644           with their own VADisplay within a native display as backend.
7645           https://bugzilla.gnome.org/show_bug.cgi?id=705821
7646
7647 2018-04-13 09:28:53 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
7648
7649         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
7650           wayland: don't poll if there are no pending frames
7651           Otherwise the following poll may not return for an arbitrary amount of
7652           time. This can happen if another wayland event queue has flushed and read
7653           our events.
7654           https://bugzilla.gnome.org/show_bug.cgi?id=795224
7655
7656 2017-10-16 12:09:08 +0900  Hyunjun Ko <zzoon@igalia.com>
7657
7658         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7659           libs: encoder: h265: 16 bit rounding of picture width and height
7660           pic_width_in_luma_samples/pic_height_in_luma_samples can be 16-bit rounded
7661           instead of 32-bit.
7662           In addition, codedbuf_size must be calculated according to this change.
7663           https://bugzilla.gnome.org/show_bug.cgi?id=753229
7664
7665 2018-04-16 10:53:47 +0100  Tim-Philipp Müller <tim@centricular.com>
7666
7667         * common:
7668           Automatic update of common submodule
7669           From 3fa2c9e to ed78bee
7670
7671 2018-03-30 20:39:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7672
7673         * gst/vaapi/gstvaapiencode_h264.c:
7674           vaapiencode: h264: find best profile in those available
7675           Instead to look for the best profile in the allowed profiles by
7676           downstream, the encoder should look for the base profile in the
7677           available profile in VA-API.
7678           https://bugzilla.gnome.org/show_bug.cgi?id=794306
7679
7680 2018-03-20 10:49:10 +0000  Tim-Philipp Müller <tim@centricular.com>
7681
7682         * NEWS:
7683         * RELEASE:
7684         * configure.ac:
7685         * docs/plugins/inspect/plugin-vaapi.xml:
7686         * meson.build:
7687           Back to development
7688
7689 === release 1.14.0 ===
7690
7691 2018-03-19 20:30:28 +0000  Tim-Philipp Müller <tim@centricular.com>
7692
7693         * ChangeLog:
7694         * NEWS:
7695         * configure.ac:
7696         * gstreamer-vaapi.doap:
7697         * meson.build:
7698           Release 1.14.0
7699
7700 2018-03-12 16:59:01 +0000  Julien Isorce <jisorce@oblong.com>
7701
7702         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7703           libs: decoder: h264: ensure num_ref_frames is greater than 0
7704           Even if it is the h264parse fault or bad video file, vaapih264dec
7705           should set a proper value for VAPictureParameterBufferH264.num_ref_frames
7706           as the driver might use it.
7707           Also see "info.ref_frames = dpb_size;" in
7708           gstvaapidecoder_h264.c::ensure_context
7709           https://bugzilla.gnome.org/show_bug.cgi?id=793836
7710
7711 === release 1.13.91 ===
7712
7713 2018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
7714
7715         * ChangeLog:
7716         * NEWS:
7717         * configure.ac:
7718         * gstreamer-vaapi.doap:
7719         * meson.build:
7720           Release 1.13.91
7721
7722 === release 1.13.90 ===
7723
7724 2018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
7725
7726         * ChangeLog:
7727         * NEWS:
7728         * configure.ac:
7729         * gstreamer-vaapi.doap:
7730         * meson.build:
7731           Release 1.13.90
7732
7733 2018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7734
7735         * gst/vaapi/gstvaapipostproc.c:
7736           vaapipostproc: change how the metadata is copied
7737           Instead of copying the metada in prepare_output_buffer() vmethod,
7738           it is done in append_output_buffer_metadata() thus deinterlaced
7739           buffers could also have the proper metas.
7740           GstVideoCropMeta now it is copied internally and it is decided via
7741           transform_meta() vmethod.
7742           A new internal method, copy_metadata() was added to handle VPP
7743           transformation where non-GstVideoVaapiMeta metas were lost.
7744
7745 2018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7746
7747         * gst/vaapi/gstvaapipostproc.c:
7748           postproc: Copy meta data from input to output
7749           This will ensure that meta data without memory tags will be copied. This
7750           was noticed when testing ROI.
7751           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7752
7753 2018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7754
7755         * tests/elements/test-roi.c:
7756           tests: element: rewrite ROI test
7757           Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
7758           than injecting GstEvents. These meta are added as a pad probe in
7759           the queue src pad.
7760           Also
7761           * Use of navigation messages to control de test
7762           * Use signal watch for processing messages
7763           * Change to H265 rather than H264 since current intel-vaapi-driver
7764           only supports ROI on kabylake.
7765           TODO: add a parameter to change the encoder/decoder to test.
7766           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7767
7768 2018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7769
7770         * gst-libs/gst/vaapi/gstvaapicontext.c:
7771         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7772         * gst-libs/gst/vaapi/gstvaapiencoder.h:
7773         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7774         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7775         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7776           libs: encoder: reimplement ROI using meta
7777           Check input buffers for ROI metas and pass them to VA. Also added a
7778           new "default-roi-delta-qp" property in order to tell the encoder what
7779           delta QP should be applied to ROI by default.
7780           Enabled it for H264 and H265 encoders.
7781           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7782
7783 2018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7784
7785         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7786         * gst-libs/gst/vaapi/gstvaapiencoder.h:
7787         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7788           Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
7789           This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
7790           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7791
7792 2018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7793
7794         * tests/simple-encoder.c:
7795           Revert "tests: simple-encoder: add an option to set ROI"
7796           This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
7797           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7798
7799 2018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7800
7801         * gst/vaapi/gstvaapiencode.c:
7802         * gst/vaapi/gstvaapiencode_h264.c:
7803           Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
7804           This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
7805           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7806
7807 2018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7808
7809         * gst/vaapi/gstvaapipluginbase.c:
7810           plugins: copy input buffer metas
7811           When importing buffers to a VA-base buffer, it is required to copy
7812           the metas in the original buffer, otherwise information will be
7813           lost, such as GstVideoRegionOfInterestMeta.
7814           https://bugzilla.gnome.org/show_bug.cgi?id=768248
7815
7816 2018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7817
7818         * gst-libs/gst/vaapi/gstvaapisurface.c:
7819           libs: surface: cast to uintptr_t pointer
7820           According to Debian package auto-building, uintptr_t is not an
7821           unsigned long in i386 arch, raising an "incompatible pointer type"
7822           error.
7823           This patch adds a casting for compiler's satisfaction in i386.
7824
7825 2018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
7826
7827         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7828           libs: encoder: add zero as valid value for periodic keyframe.
7829           Enabled zero as valid value for keyframe-period property.
7830           https://bugzilla.gnome.org/show_bug.cgi?id=793829
7831
7832 2018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7833
7834         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7835           libs: encoder: code-style fix
7836
7837 2018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7838
7839         * gst/vaapi/gstvaapidecode.c:
7840           vaapidecode: generate system allocated buffers
7841           Generate system allocated output buffers when downstream doesn't
7842           support GstVideoMeta.
7843           The VA buffer content is copied to the new output buffer, and it
7844           replaces the VA buffer.
7845           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7846
7847 2018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7848
7849         * gst/vaapi/gstvaapipostproc.c:
7850           vaapipostproc: handle system allocated buffers when required
7851           When downstream can't handle GstVideoMeta it is required to send
7852           system allocated buffers.
7853           The system allocated buffers are produced in prepare_output_buffer()
7854           vmethod if downstream can't handl GstVideoMeta.
7855           At transform() vmethod if the buffer is a system allocated buffer,
7856           a VA buffer is instanciated and replaces the out buffer. Later
7857           the VA buffer is copied to the system allocate buffer and it
7858           replaces the output buffer.
7859           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7860
7861 2018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7862
7863         * gst/vaapi/gstvaapipluginbase.c:
7864         * gst/vaapi/gstvaapipluginbase.h:
7865           plugins: add gst_vaapi_copy_va_buffer()
7866           This helper function aims to copy buffers with VA memory to dumb
7867           buffers, when GstVideoMeta is not available dowstream.
7868           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7869
7870 2018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7871
7872         * gst/vaapi/gstvaapipluginbase.c:
7873         * gst/vaapi/gstvaapipluginbase.h:
7874           plugins: add COPY_OUTPUT_FRAME flag
7875           This patch add the member copy_output_frame and set it TRUE when
7876           when downstream didn't request GstVideoMeta API, the caps are raw
7877           and the internal allocator is the VA-API one.
7878           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7879
7880 2018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7881
7882         * gst/vaapi/gstvaapipluginbase.c:
7883         * gst/vaapi/gstvaapipluginbase.h:
7884           plugins: store the first downstream allocator if available
7885           The allocator will be required if we need to allocate a buffer
7886           to store the frame with the expected strides.
7887           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7888
7889 2018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7890
7891         * gst/vaapi/gstvaapivideobufferpool.c:
7892         * gst/vaapi/gstvaapivideobufferpool.h:
7893           vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
7894           This function will inform the element if it shall copy the generated
7895           buffer by the pool to a system allocated buffer before pushing it
7896           to downstream.
7897           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7898
7899 2018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7900
7901         * gst/vaapi/gstvaapivideobufferpool.c:
7902           vaapibufferpool: don't change config when forcing video meta
7903           VA-API based buffer might need a video meta because of different
7904           strides. But when donwstream doesn't support video meta we need to
7905           force the usage of video meta.
7906           Before we changed the buffer pool configuration, but actually this
7907           is a hack and we cannot rely on that for downstream.
7908           This patch add a check fo raw video caps and allocator is VA-API,
7909           then the option is enabled without changing the pool configuration.
7910           In this case the element is responsible to copy the frame to a
7911           simple buffer with the expected strides.
7912           https://bugzilla.gnome.org/show_bug.cgi?id=785054
7913
7914 2018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7915
7916         * gst/vaapi/gstvaapipostproc.c:
7917           vaapipostproc: set discont flag at vpp deinterlacing
7918           When deinterlacing with VPP the discont flag was not forwarded to
7919           the new created buffer. This patch sets the discont flag if input
7920           buffer has it.
7921
7922 2018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7923
7924         * gst/vaapi/gstvaapivideobufferpool.h:
7925           vaapibufferpool: remove wrong gcc annotation
7926
7927 2018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
7928
7929         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7930         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7931         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
7932         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7933         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
7934         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
7935         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
7936           libs: encoder: h264,h265: extend max periodic keyframe.
7937           Increased max values of periodic key frame for h26x codecs.
7938           This allow more fine tunning of encoder that in certian scenario
7939           want higher periodic key frame.
7940           For example: it doesn't want a key frame each 10 seconds but
7941           each 120 seconds.
7942           https://bugzilla.gnome.org/show_bug.cgi?id=786320
7943
7944 2018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
7945
7946         * configure.ac:
7947         * meson.build:
7948           Back to development
7949
7950 === release 1.13.1 ===
7951
7952 2018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
7953
7954         * Makefile.am:
7955         * NEWS:
7956         * configure.ac:
7957         * gstreamer-vaapi.doap:
7958         * meson.build:
7959           Release 1.13.1
7960
7961 2018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
7962
7963         * gst/vaapi/Makefile.am:
7964           vaapi: dist new header
7965
7966 2018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7967
7968         * gst/vaapi/gstvaapi.c:
7969           vaapi: register vaapisink as marginal on wayland
7970           vaapsink, when used with the Intel VA-API driver, tries to display
7971           surfaces with format NV12, which are handled correctly by
7972           Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
7973           pipelines on mutter.
7974           This shall be solved either by COGL or by making the driver to paint
7975           RGB surfaces. In the meanwhile, let's just demote vaapisink as
7976           marginal when the Wayland environment is detected, no matter if it is
7977           Weston.
7978           https://bugzilla.gnome.org/show_bug.cgi?id=775698
7979
7980 2018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7981
7982         * gst/vaapi/gstvaapipluginutil.c:
7983           plugins: update mesa's vendor string in whitelist
7984           Mesa has updated its VA-API Gallium driver vendor string:
7985           https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
7986           This patch tries to cover both, the old and the new one.
7987           https://bugzilla.gnome.org/show_bug.cgi?id=793386
7988
7989 2018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
7990
7991         * meson.build:
7992           meson: make version numbers ints and fix int/string comparison
7993           WARNING: Trying to compare values of different types (str, int).
7994           The result of this is undefined and will become a hard error
7995           in a future Meson release.
7996
7997 2018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7998
7999         * gst/vaapi/gstvaapipluginbase.c:
8000           plugins: handle vaapi allocator in allocation query
8001           In propose_allocation() if the numer of allocation params is zero, the
8002           system's allocator is added first, and lastly the native VA-API
8003           allocator.
8004           In decide_allocation(), the allocations params in query are travered,
8005           looking for a native VA-API allocator. If it is found, it is reused as
8006           src pad allocator. Otherwise, a new allocator is instantiated and
8007           appended in the query.
8008           https://bugzilla.gnome.org/show_bug.cgi?id=789476
8009
8010 2018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8011
8012         * gst/vaapi/gstvaapivideomemory.h:
8013           vaapivideomemory: remove unused macro
8014           GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
8015           was never used, since the native VA-API allocator name has been
8016           GST_VAAPI_VIDEO_MEMORY_NAME.
8017           This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
8018           https://bugzilla.gnome.org/show_bug.cgi?id=789476
8019
8020 2018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
8021
8022         * gst/vaapi/gstvaapisink.c:
8023           vaapisink: don't mask button events for foreign windows
8024           Don't subscribe to button press events when using a foreing window,
8025           because the user created window would trap those events, preveting the
8026           show of frames.
8027           https://bugzilla.gnome.org/show_bug.cgi?id=791615
8028
8029 2018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
8030
8031         * configure.ac:
8032           autotools: use -fno-strict-aliasing where supported
8033           https://bugzilla.gnome.org/show_bug.cgi?id=769183
8034
8035 2018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
8036
8037         * meson.build:
8038           meson: use -fno-strict-aliasing where supported
8039           https://bugzilla.gnome.org/show_bug.cgi?id=769183
8040
8041 2018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
8042
8043         * gst/vaapi/gstvaapi.c:
8044           vaapi: add NULL-sentinel to kernel_names
8045           The array needs to be NULL-terminated according to the
8046           gst_plugin_add_dependency() documentation.
8047
8048 2018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8049
8050         * gst/vaapi/gstvaapipostprocutil.c:
8051           vaapipostproc: remove spurious code
8052           This assignation is dead code, since gst_video_info_from_caps() set
8053           to 1 by default.
8054           https://bugzilla.gnome.org/show_bug.cgi?id=790149
8055
8056 2018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8057
8058         * gst/vaapi/gstvaapipostprocutil.c:
8059           vaapipostproc: if no p-a-r in out caps define a range
8060           Instead of copying the pixel-aspect-ratio from the sink caps, define
8061           an open range for the src caps pixel-aspect-ratio. Later it will be
8062           defined.
8063           https://bugzilla.gnome.org/show_bug.cgi?id=790149
8064
8065 2018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8066
8067         * gst/vaapi/gstvaapisink.c:
8068           vaapisink: check for display's color-balance properties
8069           Check for display's color-balance properties, available by the VA-API
8070           driver, before setting them.
8071           Also logs an info message of those unavailable properties.
8072           https://bugzilla.gnome.org/show_bug.cgi?id=792638
8073
8074 2018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8075
8076         * gst/vaapi/gstvaapipluginbase.c:
8077           plugins: re-using buffer pool breaks renegotiation
8078           at propose_allocation() we should not reuse the proposed buffer,
8079           because it could break renegotiation.
8080           https://bugzilla.gnome.org/show_bug.cgi?id=792620
8081
8082 2018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8083
8084         * gst/vaapi/gstvaapipluginbase.c:
8085           plugins: use g_clear_object() to unref sinkpad_buffer_pool
8086           https://bugzilla.gnome.org/show_bug.cgi?id=792620
8087
8088 2018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8089
8090         * gst-libs/gst/vaapi/meson.build:
8091           build: meson: add missing GstGL dependency
8092
8093 2018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8094
8095         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
8096           libs: utils: egl: add missing guards for GstGL
8097
8098 2018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8099
8100         * gst/vaapi/gstvaapipluginbase.c:
8101           plugins: remove dmabuf-import hack
8102           Remove the hack to check if an upstream element has enabled the
8103           property io-mode enabled as dmabuf-import.
8104           https://bugzilla.gnome.org/show_bug.cgi?id=792034
8105
8106 2017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8107
8108         * gst-libs/gst/vaapi/Makefile.am:
8109         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
8110         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
8111         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
8112           libs: egl: utils: use eglGetPlatformDisplay()
8113           eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
8114           eglGetDisplay() is rather fragile, and it is recommended to use
8115           eglGetPlatformDisplay() when possible.
8116           In order to do that, this patch uses the helper in GstGL. If
8117           gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
8118           will be used.
8119           https://bugzilla.gnome.org/show_bug.cgi?id=790493
8120
8121 2017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
8122
8123         * gst/vaapi/gstvaapipostproc.c:
8124           vaapipostproc: lock ensure_filter with postproc_lock
8125           gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
8126           and allowed_sinkpad_caps. This can race with copying these caps in
8127           gst_vaapipostproc_transform_caps and lead to segfaults.
8128           The gst_vaapipostproc_transform_caps function already locks
8129           postproc_lock before copying the caps. Make sure that calls to
8130           gst_vaapipostproc_ensure_filter also acquire this lock.
8131           https://bugzilla.gnome.org/show_bug.cgi?id=791404
8132
8133 2018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8134
8135         * tests/test-filter.c:
8136           tests: test-filter: fix dereference before null check
8137           Null-checking op_info suggests that it may be null, but it has already
8138           been dereferenced on all paths leading to the check.
8139           There may be a null pointer dereference, or else the comparison
8140           against null is unnecessary.
8141
8142 2018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8143
8144         * tests/y4mreader.c:
8145           tests: y4mreader: fix string state checkup
8146           str cannot be null in that moment, but it may be the end of string.
8147
8148 2018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8149
8150         * tests/y4mreader.c:
8151           tests: y4mreader: use int for fgetc
8152           Assigning the return value of fgetc to char truncates its value.
8153           It will not be possible to distinguish between EOF and a valid
8154           character.
8155
8156 2018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8157
8158         * tests/y4mreader.c:
8159           tests: y4mreader: fix incompatible cast
8160           Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
8161           they are dereferenced as a wider long (64 bits, signed). This may lead
8162           to memory corruption.
8163
8164 2017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
8165
8166         * meson.build:
8167           meson: fix fallback for gstreamer-gl-1.0, it's now in -base
8168
8169 2017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
8170
8171         * common:
8172           Automatic update of common submodule
8173           From e8c7a71 to 3fa2c9e
8174
8175 2017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
8176
8177         * gst/vaapi/gstvaapivideocontext.c:
8178           videoconvert: gst_element_post_message() is transfer full on msg
8179           For this reson we need not to unref the message, even if it failed.
8180
8181 2017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
8182
8183         * gst/vaapi/gstvaapivideocontext.c:
8184           Revert "vaapivideocontext: possible memleak when no bus attached"
8185           This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
8186
8187 2017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8188
8189         * tests/elements/test-vaapicontext.c:
8190           test: vaapicontext: process have-context bus message
8191
8192 2017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8193
8194         * tests/elements/test-vaapicontext.c:
8195           test: vaapicontext: app context is not persistent
8196
8197 2017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8198
8199         * gst/vaapi/gstvaapipluginbase.c:
8200         * gst/vaapi/gstvaapivideocontext.c:
8201         * gst/vaapi/gstvaapivideocontext.h:
8202           vaapivideocontext: only vaapisink process app context
8203           gst.vaapi.app.Display context is made for applications that will
8204           provide the VA display and the native display to used by the
8205           pipeline, when are using vaapisink as overlay. There are no use
8206           case for encoders, decoders, neither for the postprocessor.
8207           In the case of the vaapisink, it shall query for gst.vaapi.Display
8208           upstream first, and then, if there is no reply,
8209           gst.vaapi.app.Display context will be posted in the bus for the
8210           application. If the application replies, a GstVaapiDisplay object
8211           is instantiated given the context info, otherwise a
8212           GstVaapiDisplay is created with the normal algorithm to guess the
8213           graphics platform. Either way, the instantiated GstVaapiDisplay
8214           is propagated among the pipeline and the have-message bus message.
8215           Also only vaapisink will process the gst.vaapi.app.Display, if
8216           and only if, it doesn't have a display already set. This is
8217           caused because if vaapisink is in a bin (playsink, for example)
8218           the need-context is posted twice, leading to an error state.
8219           https://bugzilla.gnome.org/show_bug.cgi?id=790999
8220
8221 2017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8222
8223         * gst/vaapi/gstvaapivideocontext.c:
8224           vaapivideocontext: log the name of GstVaapiDisplay
8225           https://bugzilla.gnome.org/show_bug.cgi?id=790999
8226
8227 2017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8228
8229         * gst/vaapi/gstvaapivideocontext.c:
8230           vaapivideocontext: possible memleak when no bus attached
8231           https://bugzilla.gnome.org/show_bug.cgi?id=790999
8232
8233 2017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8234
8235         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
8236           libs: window: wayland: remove unused header include
8237           Remove wayland-client.h include since there is no exposed symbols from
8238           it.
8239
8240 2017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8241
8242         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8243         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8244           libs: encoder: h264,h265: guard rate control's macroblock
8245           macroblock parameter appear on VA-API 1.0.0. It should be guarded.
8246
8247 2017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
8248
8249         * common:
8250           Automatic update of common submodule
8251           From 3f4aa96 to e8c7a71
8252
8253 2016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8254
8255         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8256           libs: encoder: h264: Add Hierarchical-B encode
8257           Frames are encoded as different layers. Frame in a particular
8258           layer will use pictures in lower or same layer as references.
8259           Which means decoder can drop the frames in upper layer but still
8260           decode lower layer frames.
8261           B-frames, except the one in top most layer, are reference frames.
8262           All the base layer frames are I or P.
8263           eg: with 3 temporal layers
8264           T3:             B1            B3              B5              B7
8265           T2:                   B2                              B6
8266           T1:   I0                                P4                        P8
8267           T1, T2, T3: Temporal Layers
8268           P1...Pn:   P-Frames:
8269           B1...Bn:   B-frames:
8270           T1: I0->P4 , P4->P8 etc..
8271           T2: I0--> B2 <-- P4
8272           T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
8273           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8274           https://bugzilla.gnome.org/show_bug.cgi?id=788918
8275
8276 2016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8277
8278         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8279           libs: encoder: h264: Add Hierarchical-P encode
8280           Frames are encoded as different layers. A frame in a particular
8281           layer will use pictures in lower or same layer as references.
8282           Which means decoder can drop the frames in upper layer but still
8283           decode lower layer frames.
8284           eg: with 3 temporal layers
8285           T3:             P1            P3              P5              P7
8286           T2:                   P2                              P6
8287           T1:   P0                                P4                        P8
8288           T1, T2, T3: Temporal Layers
8289           P1...pn:   P-Frames:
8290           P0->P1 , P0->P2, P2->P3, P0->P4......repeat
8291           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8292           https://bugzilla.gnome.org/show_bug.cgi?id=788918
8293
8294 2016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8295
8296         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8297           libs: encoder: h264: Fix frame_num generation
8298           The frame_num generation was not correctly implemented.
8299           According to h264 spec, frame_num should get incremented
8300           for each frame if previous frame is a referece frame.
8301           For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
8302           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8303           https://bugzilla.gnome.org/show_bug.cgi?id=788918
8304
8305 2016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8306
8307         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8308         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8309           libs: encoder: h264: Add new property "prediction-type"
8310           Adds new property "prediction-type" to select different reference
8311           picture selection modes like hierarchical-p, hierarchical-b etc.
8312           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8313           https://bugzilla.gnome.org/show_bug.cgi?id=788918
8314
8315 2016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
8316
8317         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8318         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
8319           libs: encoder: h264: Add machinery for implementing hierarchical-prediction
8320           Adds some basic building blocks to ease the implementation
8321           of hierarchical prediction modes.
8322           -- add an utility method to find temporal level of each frame
8323           -- define max_ref_frame count based on temporal level count
8324           -- add temporal_level_div[] for finding temporal level each frame
8325           to be encoded.
8326           -- find ip_period based on temporal level count
8327           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8328           https://bugzilla.gnome.org/show_bug.cgi?id=788918
8329
8330 2016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
8331
8332         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8333         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8334           libs: encoder: h264: Add property "temporal-levels"
8335           Adds new property "temporal-levels" to select the number of
8336           temporal levels to be included in the encoded stream.
8337           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8338           https://bugzilla.gnome.org/show_bug.cgi?id=788918
8339
8340 2016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
8341
8342         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
8343           libs: encoder: objects: Add a reference flag
8344           We can have p-frame as non-ref and also b-frame as ref
8345           which are not supported yet. Reference flag
8346           is the first machinery needed for more advanced
8347           reference picture selection modes.
8348           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8349           https://bugzilla.gnome.org/show_bug.cgi?id=788918
8350
8351 2017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
8352
8353         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
8354           libs: surface: egl: add comment
8355           Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
8356           where the creation of surfaces from GEM fd may fail.
8357           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8358
8359 2017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8360
8361         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
8362         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
8363         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
8364           libs: display: egl: add gst_vaapi_display_egl_set_current_display()
8365           Adds a new function that changes the internal EGL display to the
8366           current one (eglGetCurrentDisplay()) and sets the current context
8367           too (eglGetCurrentContext()).
8368           This new function is called by gst_vaapi_texture_egl_create() updating
8369           the GstVaapiDisplayEGL with the current EGL display.
8370           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8371
8372 2017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8373
8374         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
8375           libs: texture: egl: update EGL display and context
8376           It is required to use the context of the calling thread when wrapping
8377           a foreign texture. According the documentation of
8378           GstVideoGLTextureUploadMeta:
8379           "The caller of gst_video_gl_texture_upload_meta_upload() must
8380           have OpenGL set up and call this from a thread where it is valid
8381           to upload something to an OpenGL texture."
8382           This patch updates the EGL display and context in GstVaapiDisplay
8383           instance to the one used by te renderer that uploads the texture.
8384           Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
8385           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8386
8387 2017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8388
8389         * gst/vaapi/gstvaapipluginbase.c:
8390           plugins: centralize assignation of GL objects
8391           Add plugin_set_gst_gl() where the GstGL objects are assigned.
8392           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8393
8394 2017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8395
8396         * gst/vaapi/gstvaapipluginbase.c:
8397           plugins: set GL objects if ensured
8398           Only set the GL display and GL other context if they are ensured.
8399           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8400
8401 2017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8402
8403         * gst/vaapi/gstvaapipluginbase.c:
8404           plugins: set GL objects if context is handled
8405           Only set the GL display and GL other context if they are extracted
8406           correctly from the gstreamer's context.
8407           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8408
8409 2017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8410
8411         * gst/vaapi/gstvaapipluginbase.c:
8412           plugins: fix memory leak when GL context is created
8413           When the GL display and context are created inside an VAAPI element
8414           the created GL context is leaked.
8415           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8416
8417 2017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8418
8419         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
8420           libs: display: egl: free leaked memory
8421           The EGL VAAPI display forgot to release the egl display, context and
8422           proxied VAAPI display.
8423           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8424
8425 2017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8426
8427         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
8428           libs: texture: egl: code style
8429           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8430
8431 2017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8432
8433         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
8434           libs: surface: egl: error message if no extension
8435           Instead of silently fail to export the image if there is not available
8436           the EGL_MESA_drm_image, log an error message. Also a code refactoring
8437           was done.
8438           https://bugzilla.gnome.org/show_bug.cgi?id=773453
8439
8440 2017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8441
8442         * gst/vaapi/gstvaapipluginbase.c:
8443           plugins: direct rendering on memory:VASurface
8444           As buffers negotiated with memory:VASurface caps feature can also be
8445           mapped, they can also be configured to use VA derived images, in other
8446           words "direct rendering".
8447           Also, because of the changes in dmabuf allocator as default allocator,
8448           the code for configuring the direct rendering was not clear.
8449           This patch cleans up the code and enables direct rendering when the
8450           environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
8451           even then the memory:VASurface cap feature is negotiated.
8452           https://bugzilla.gnome.org/show_bug.cgi?id=786054
8453
8454 2017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8455
8456         * gst/vaapi/gstvaapipluginbase.c:
8457         * gst/vaapi/gstvaapipluginutil.c:
8458           plugins: only dmabuf on srcpad if downstream
8459           Set if source pad can handle dmabuf only if the GstGL context comes
8460           from downstream.
8461           It is possible to know that at two moments:
8462           1\ In the case of GstGLTextureUpload caps feature is negotiated and
8463           downstream pool reports back gst.gl.GstGLContext.
8464           2\ When GstGLContext is found as GstContext from dowstream.
8465           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8466
8467 2017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8468
8469         * gst/vaapi/gstvaapivideocontext.c:
8470           vaapivideocontext: add inline documentation
8471           Document function gst_vaapi_find_gl_local_context().
8472           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8473
8474 2017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8475
8476         * gst/vaapi/gstvaapipluginutil.c:
8477         * gst/vaapi/gstvaapivideocontext.c:
8478         * gst/vaapi/gstvaapivideocontext.h:
8479           vaapivideocontext: return the direction of gl context
8480           In function gst_vaapi_find_gl_context() add a direction parameter to
8481           return back the direction where the GstGL context was found.
8482           This is going to be useful when checking if downstream can import
8483           dmabuf-based buffers.
8484           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8485
8486 2017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8487
8488         * gst/vaapi/gstvaapipluginbase.c:
8489         * gst/vaapi/gstvaapipluginbase.h:
8490           plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
8491           This patch refactors the code by adding the function
8492           vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
8493           GstGLContext can handle dmabuf-based buffers.
8494           The function is exposed publicly since it is intended to be used later
8495           at GstVaapiDisplay instantiation.
8496           https://bugzilla.gnome.org/show_bug.cgi?id=788503
8497
8498 2017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
8499
8500         * gst/vaapi/gstvaapiencode.c:
8501           vaapiencode: allow to set property on runtime
8502           Tis patch, allows some properties that we want to be set on
8503           runtime. (eg. bitrate)
8504           Note that all properties are under control by num_codedbuf_queued.
8505           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8506
8507 2017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
8508
8509         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8510           libs: encoder: allow to set bitrate on runtime
8511           In case of streaming, controlling bitrate dynamically for encoder might be
8512           important to manage quality of the streaming.
8513           This patch is to support such a scenario.
8514           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8515
8516 2017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
8517
8518         * gst/vaapi/gstvaapi.c:
8519         * gst/vaapi/gstvaapi.h:
8520         * gst/vaapi/gstvaapidecodebin.c:
8521           vaapidecodebin: Register element if no VPP support is available too
8522           VPP support is only needed for advanced deinterlacing, which is not
8523           enabled by default either. Error out if it is selected but VPP is not
8524           supported, and otherwise just work without VPP support.
8525           https://bugzilla.gnome.org/show_bug.cgi?id=788758
8526
8527 2017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
8528
8529         * gst/vaapi/gstvaapipluginutil.c:
8530           Avoid infinite loop when vaapi_create_display fails
8531           Which might be the case when using, for example, xvfb.
8532
8533 2017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8534
8535         * gst-libs/gst/vaapi/gstvaapiutils.c:
8536           libs: utils: log warn if display fail
8537           gstreamer-vaapi initializes the display by trial-and-error, thus
8538           logging an error message if the display initialisation fails the user
8539           may be weary of the error message in the screen, if using VA-API 1.0
8540           This commit set the VA error log handler to GStreamer warning level
8541           while calling vaInitialize() and set it to error after that.
8542           https://bugzilla.gnome.org/show_bug.cgi?id=783169
8543
8544 2017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8545
8546         * gst/vaapi/gstvaapipluginutil.c:
8547           plugins: try to create test display in order
8548           When creating the test display for querying capabilites, it try in
8549           certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
8550           since they are either composited with X11 or Wayland.
8551           The reason for this is to reduce the posibility of failure that could
8552           blacklist the plugin.
8553           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8554
8555 2017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8556
8557         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8558         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8559           libs: display: delay getting screen resolution
8560           Instead of extracting the screen resolution at GstVaapiDisplay
8561           creation, this patch delay it until the screen size is requested for
8562           first time.
8563           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8564
8565 2017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8566
8567         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
8568           libs: display: egl: avoid two vaDisplay instantiates
8569           GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
8570           or Wayland. Nonetheless it created another vaDisplay for it, instead
8571           of using the wrapped one.
8572           This patch enables the reuse of the wrapped vaDisplay avoiding
8573           instantiating two.
8574           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8575
8576 2017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8577
8578         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8579         * gst-libs/gst/vaapi/gstvaapidisplay.h:
8580         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
8581         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
8582         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
8583           libs: display: remove display_type from display info
8584           Since it's no required to pass the display type in the display info,
8585           the structure member is removed.
8586           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8587
8588 2017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8589
8590         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8591         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8592           libs: display: remove display_type member
8593           It is not used any more since GstVaapiDisplay was ported as a
8594           GstObject-based. This information is part of the class information.
8595           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8596
8597 2017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8598
8599         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8600         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
8601           libs: display: remove parent member
8602           Parent was a crumb left from display cache.
8603           https://bugzilla.gnome.org/show_bug.cgi?id=782212
8604
8605 2017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
8606
8607         * gst/vaapi/gstvaapi.c:
8608           vaapi: Also register vaapipostproc without VPP support
8609           It can still do simple deinterlacing then.
8610
8611 2017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
8612
8613         * gst/vaapi/gstvaapipostproc.c:
8614           vaapipostproc: Allow running without VPP support
8615           We returned FALSE from ::start() if VPP support is not available, but it
8616           is only really needed for complex filters and during transform we check
8617           for that. For simple deinterlacing it is not needed.
8618
8619 2017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8620
8621         * gst/vaapi/gstvaapipostproc.c:
8622           vaapipostproc: use scoped variable for return value
8623           Instead of reusing a parameter variable for the return value of
8624           gst_vaapipostproc_transform_caps(), this patch uses the function
8625           scoped pointer. Thus, the code is cleaner.
8626           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8627
8628 2017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8629
8630         * gst/vaapi/gstvaapipostproc.c:
8631           vaapipostproc: removed unused parameter
8632           Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
8633           helper function since the it is not used.
8634           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8635
8636 2017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8637
8638         * gst/vaapi/gstvaapipostproc.c:
8639           vaapipostproc: use scoped variable for return value
8640           Instead of reusing a parameter variable for the return value of
8641           gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
8642           pointer. Thus, the code is cleaner.
8643           https://bugzilla.gnome.org/show_bug.cgi?id=785706
8644
8645 2017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8646
8647         * gst/vaapi/gstvaapipluginutil.h:
8648           plugins: memory:DMABuf only handles planar formats
8649           When glimagesink negotiates the caps feature memory:DMABuf the
8650           exported dmabufs buffers with NV12 format are not well rendered, thus
8651           setting only planar.
8652           https://bugzilla.gnome.org/show_bug.cgi?id=788229
8653
8654 2017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8655
8656         * gst/vaapi/gstvaapiencode.c:
8657           vaapiencode: flush pending frames before set format
8658           Flush pending frames, if any, in the internal encorder, before setting
8659           the new negotiated format.
8660           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8661
8662 2017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8663
8664         * gst/vaapi/gstvaapidecode.c:
8665           vaapidecode: drain pending frames before set format
8666           Drain pending frames, if any, in the internal decoder before setting
8667           the new negotiated format.
8668           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8669
8670 2017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8671
8672         * tests/test-display.c:
8673           tests: display: use GObject getter
8674           Instead of using the gst_vaapi_display_get_property(), this patch
8675           replaces it with g_object_get_property() to dump the available VA
8676           display properties.
8677           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8678
8679 2017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8680
8681         * gst/vaapi/gstvaapisink.c:
8682           vaapisink: use GObject setter and getter
8683           Instead of using gst_vaapi_display_set_property() or
8684           gst_vaapi_display_get_property(), this patch set replace it usage
8685           with g_object_set() or g_object_get().
8686           Also the internal helper cb_set_value() is removed since it is not
8687           used anymore.
8688           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8689
8690 2017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8691
8692         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8693           libs: display: initialize value if they are not yet
8694           This is a difference between the GObject API and the GstVaapi one: the
8695           GValue passed to get a property value, in GObject has to be
8696           initialized with g_value_init(), but in GstVaapi is has not.
8697           In order to overcome this mismatch, this patch call g_value_init()
8698           internally only in the passed one is not already initialized.
8699           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8700
8701 2017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8702
8703         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8704           libs: display: optimize properties setters and getters
8705           Shuffled some code to avoid to find the properties descriptor in the
8706           array twice, adding the internal functions _set_property() and
8707           _get_property().
8708           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8709
8710 2017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8711
8712         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8713           libs: display: install properties in class
8714           Install the properties in the class as a normal GObject. Implement
8715           set_property() and get_property() vmethods.
8716           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8717
8718 2017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8719
8720         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8721           libs: display: remove gst_vaapi_display_properties_init()
8722           Remove gst_vaapi_display_properties_init() since it can be unrolled in
8723           gst_vaapi_display_class_init()
8724           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8725
8726 2017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8727
8728         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8729           libs: display: remove libgstvaapi_init_once()
8730           It is not required since it can be unrolled in
8731           gst_vaapi_display_class_init()
8732           https://bugzilla.gnome.org/show_bug.cgi?id=788058
8733
8734 2017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8735
8736         * tests/test-display.c:
8737           tests: test-display: remove display cache tests
8738           Since commit ec3e10f6, display cache was removed. This patch removes
8739           this leftovers in the display test.
8740
8741 2017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
8742
8743         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8744         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8745           libs: decoder: h264/h265: decode codec data only if opened
8746           Fixes regression introduced by commit 2eb2b26a.
8747           There is a use case when the decoder set the src caps and immediatly
8748           tries to process the media codec_data, this happens before decoder is
8749           even opened, thus priv->parser is not instantiated yet.
8750           https://bugzilla.gnome.org/show_bug.cgi?id=787818
8751
8752 2017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8753
8754         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8755         * gst-libs/gst/vaapi/gstvaapiencoder.h:
8756         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8757         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8758         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8759           libs: encoder: change mbbrc from uint to enum
8760           Instead of handling the macroblock bitrate control as a integer, this
8761           patch changes it as a enum, which is more self documented in the
8762           GStreamer elements.
8763           https://bugzilla.gnome.org/show_bug.cgi?id=787855
8764
8765 2017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
8766
8767         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8768           Fix a typo in the prop string for compliance-mode
8769
8770 2017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8771
8772         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8773           libs: encoder: don't unref properties
8774           This patch fixes a regression introduced in commit 148f867c, since the
8775           props variable is set to object's member variable
8776           encoder->properties. And it is set in the instance initialization,
8777           thus it will not be leaked.
8778           https://bugzilla.gnome.org/show_bug.cgi?id=787733
8779
8780 2017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
8781
8782         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8783         * gst/vaapi/gstvaapiencode.c:
8784           vaapiencode/libs: encoder: fix leaks of properties
8785           https://bugzilla.gnome.org/show_bug.cgi?id=786321
8786
8787 2017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8788
8789         * gst-libs/gst/vaapi/gstvaapidecoder.c:
8790           libs: decoder: at update_caps() decode codec_data
8791           When updating the caps in decoder, if the caps has codec_data (avC
8792           format), it has to be parsed to update the state of the decoder.
8793           https://bugzilla.gnome.org/show_bug.cgi?id=786173
8794
8795 2017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
8796
8797         * gst-libs/gst/vaapi/gstvaapicontext.c:
8798           libs: context: fix wrong counter of the array of attributes
8799           The counter value passed to vaCreateConfig is always +1.
8800           This is a regression caused by commit e42ec3ad.
8801           The present patch fixes wrong counting of the array of attributes.
8802           https://bugzilla.gnome.org/show_bug.cgi?id=787613
8803
8804 2017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
8805
8806         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8807         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8808           libs: encoder: h265: support I/P/B QP setting seperatedly
8809           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
8810           frames
8811           and set slice_qp_delta for each frame according to the value provided.
8812           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8813
8814 2017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
8815
8816         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8817         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8818           libs: encoder: h264: support I/P/B QP setting seperatedly
8819           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
8820           frames
8821           and set slice_qp_delta for each frame according to the value provided.
8822           In addition, remove the limitation of (<= 4) when setting
8823           slice_qp_delta.
8824           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8825
8826 2017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
8827
8828         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8829         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8830           libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
8831           Creates new variable for QP for I frame and keep it at configuration and
8832           use this for pic_init_qp and slice_qp_delta setting.
8833           Since changing min qp doesn't make sense, keep min qp as is.
8834           https://bugzilla.gnome.org/show_bug.cgi?id=785923
8835
8836 2017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
8837
8838         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8839         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8840           libs: encoder: h265: Add mbbrc property
8841           This property supports Macroblock level Bitrate Control as the
8842           following (same as h264 encoder):
8843           0: auto
8844           1: on
8845           2: off
8846           https://bugzilla.gnome.org/show_bug.cgi?id=785917
8847
8848 2017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
8849
8850         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8851         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8852           libs: encoder: h264: Add mbbrc property
8853           This property supports Macroblock level Bitrate Control as the
8854           following:
8855           0: auto
8856           1: on
8857           2: off
8858           https://bugzilla.gnome.org/show_bug.cgi?id=785917
8859
8860 2017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
8861
8862         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8863           libs: encoder: h265: add multi reference support
8864           This is doing the same as h264 encoder as the following:
8865           Using num_ref_frames provided and the result of the Query
8866           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
8867           and perform encoding with multi reference frames as the following:
8868           1\ The num_ref_frames is being considered as the number of
8869           reference picture list0
8870           2\ Encoder adds 1 reference frame more to the reference picture list1
8871           internally if b-frame encoding.
8872           3\ If num_ref_frames is bigger than the number of refrence frames
8873           supported in the driver, it will be lowered.
8874           Also this patch includes:
8875           - Set num_negative_pics and num_positive_pics according to the number of
8876           refs.
8877           - Set delta_poc according to the number of refs.
8878           - Increase max_dec_pic_buffering according to the number of refs
8879           - Change max_num_reorder_pics according to num of bframes
8880           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8881
8882 2017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
8883
8884         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8885         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
8886           libs: encoder: h265: add refs property
8887           Users can provide the number of reference frame by this property,
8888           which is exaclty same as h264.
8889           The value of the property will be considered as the number of
8890           reference picture list0 and will add 1 reference frame more to the
8891           reference picture list1 internally if b-frame encoding.
8892           If the value provided is bigger than the number of refrence frames
8893           supported in the driver, it will be lowered.
8894           The maximum value is aligned to the value of the driver supported now.
8895           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8896
8897 2017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
8898
8899         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8900         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8901           libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
8902           Follows the specification as below:
8903           7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
8904           num_ref_idx_active_override_flag equal to 1 specifies that the syntax
8905           element num_ref_idx_l0_active_minus1 is present for P and B slices and
8906           that the syntax element num_ref_idx_l1_active_minus1 is present for B
8907           slices.
8908           num_ref_idx_active_override_flag equal to 0 specifies that the syntax
8909           elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
8910           are not present.
8911           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8912
8913 2017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
8914
8915         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8916           libs: encoder: h265: keep idr_period equal to keyframe period
8917           Remove FIXME code, which makes previous assignation spurious.
8918           This also means to make idr_period equal to keyframe period,
8919           which is same as h264 encoder.
8920           https://bugzilla.gnome.org/show_bug.cgi?id=783804
8921
8922 2017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
8923
8924         * gst/vaapi/gstvaapipluginbase.c:
8925           Request minimum buffer even if need_pool is FALSE
8926           When tee is used, it will not request a pool, but still it wants to
8927           know how many buffers are required.
8928           https://bugzilla.gnome.org/show_bug.cgi?id=730758
8929
8930 2017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
8931
8932         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
8933           libs: encoder: h264_fei: VA-API 1.0 compat
8934           Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
8935           compatibility.
8936           https://bugzilla.gnome.org/show_bug.cgi?id=787322
8937           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
8938
8939 2017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8940
8941         * gst/vaapi/gstvaapisink.c:
8942           vaapisink: Fix rendering in drm display
8943           Make sure vaapisink create a va surface backed buffer pool and all
8944           required attributes get assigned correctly for drm display type.
8945           This is needed to make the below pipeline working:
8946           gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
8947           width=320 height=240 framerate=30/1 ! vaapisink display=drm
8948           https://bugzilla.gnome.org/show_bug.cgi?id=786954
8949
8950 2017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8951
8952         * tests/Makefile.am:
8953         * tests/test-fei-enc-in.c:
8954         * tests/test-fei-enc-out.c:
8955           FEI: Add test applications to showcase fei use case
8956           test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
8957           eg:
8958           ./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
8959           test-fei-enc-in: A simple fei encoding application for testing input fei buffers
8960           eg:
8961           ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
8962           Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
8963           from saved files is still not working
8964           People contributed:
8965           Wang, Yi <yi.a.wang@intel.com>
8966           Leilei <leilei.shang@intel.com>
8967           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
8968           xiaominc <xiaomin.chen@intel.com>
8969           Li, Jing B <jing.b.li@intel.com>
8970           https://bugzilla.gnome.org/show_bug.cgi?id=785712
8971           https://bugzilla.gnome.org/show_bug.cgi?id=784667
8972
8973 2017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8974
8975         * gst/vaapi/Makefile.am:
8976         * gst/vaapi/gstvaapi.c:
8977         * gst/vaapi/gstvaapiencode_h264_fei.c:
8978         * gst/vaapi/gstvaapiencode_h264_fei.h:
8979           FEI: plugin: Add vaapih264feienc element
8980           A new FEI based encoder element for h264 is added: vaapih264feienc
8981           FEI is a an extension to VA-API which is providing low level
8982           advanced control over different stages of encoding.
8983           Extending vaapih264enc with fei support is possible, but it will
8984           make the code too much complicated and will be difficult
8985           to debug. So adding the new encoder element, but keeping
8986           the rank as 0 , vaapih264enc will stay as the primary
8987           encoder for normal use cases.
8988           The vaaih264feienc is mainly useful for customers who want to play
8989           with MotionVectors and Macroblock Predictions. Also user can
8990           do one stage of encoding(eg: only the Motion Vector Calculation)
8991           in software and offload trasformation/entroy-coding etc to
8992           Hardware (which is what PAK module is doing) using FEI element.
8993           vaapih264feienc can work in  different modes using fei-mode properoty
8994           eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
8995           Important Note: ENC only mode won't produce any encoded data which is expected.
8996           But ENC alwys requires the output of PAK in order to do the inter-prediction
8997           over reconstructed frames.
8998           Similary PAK mode alway requires MV and MBCode as input, so unless there is an
8999           upstream element providing those buffers, PAK only won't work as expected.
9000           In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
9001           with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
9002           that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
9003           separately in vaapih264feienc.
9004           People contributed:
9005           Wang, Yi <yi.a.wang@intel.com>
9006           Leilei <leilei.shang@intel.com>
9007           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
9008           xiaominc <xiaomin.chen@intel.com>
9009           Li, Jing B <jing.b.li@intel.com>
9010           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9011           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9012           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9013
9014 2017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
9015
9016         * gst/vaapi/gstvaapiencode.c:
9017         * gst/vaapi/gstvaapiencode.h:
9018           FEI: plugin: Add virtual methods to base encode
9019           Two new virtual methods are added to gstvaapiencode.
9020           load_control_data():  load the FEI input buffers set by the upstream elements
9021           save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
9022           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9023           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9024           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9025
9026 2017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
9027
9028         * gst/vaapi/Makefile.am:
9029         * gst/vaapi/gstvaapifeivideometa.c:
9030         * gst/vaapi/gstvaapifeivideometa.h:
9031           FEI: plugin: Add fei specific video meta
9032           GstVaapiFeiVideoMeta holds the below fei codec objects:
9033           GstVaapiEncFeiMbCode
9034           GstVaapiEncFeiMv
9035           GstVaapiEncFeiMvPredictor
9036           GstVaapiEncFeiMbControl
9037           GstVaapiEncFeiQp
9038           GstVaapiEncFeiDistortion
9039           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9040           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9041           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9042
9043 2017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9044
9045         * gst-libs/gst/vaapi/Makefile.am:
9046         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
9047         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
9048         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
9049         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
9050         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
9051         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
9052           FEI: libs: Add FEI encoder
9053           Adding FEI encoder to core lib.
9054           The code is splitted into three session:
9055           1: gstvaapiencoder_h264_fei.{h,c}
9056           This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
9057           All the modes ENC, PAK and ENC_PAK are running based
9058           the code in these files.
9059           2: gstvaapifeienc_h264.{h,c}
9060           Abstract implementation intended for ENC (only VME) operation.
9061           3: gstvaapifeipak_h264.{h,c}
9062           Abstrct implementation intended for PAK (only the PAK module)
9063           Right now ENC_PAK, ENC and PAK are running based on code
9064           in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
9065           in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
9066           needed if user request for ENC+PAK mode operation.
9067           ENC+PAK: Here we need to invoke two sequence of
9068           vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
9069           first for the ENC only and the second for PAK only.
9070           Each mode associated with separate context ,but same pool of surfaces are
9071           shared between the modes.
9072           This is more useful once we have custom BRC algorithms.
9073           Other Contributors:
9074           Wang, Yi <yi.a.wang@intel.com>
9075           Leilei <leilei.shang@intel.com>
9076           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
9077           xiaominc <xiaomin.chen@intel.com>
9078           Li, Jing B <jing.b.li@intel.com>
9079           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9080           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9081
9082 2017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9083
9084         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
9085         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
9086           FEI: libs: Add fei codec objects to GstVaapiEncPicture
9087           All the codec objects(vaapi buffers) supposed to be
9088           submited in vaRenderPicutre are associated with a GstVaapiEncPicture
9089           for each frame, follow the same design for FEI too.
9090           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9091           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9092
9093 2017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9094
9095         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
9096         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
9097         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
9098           FEI: libs: Add fei codec objects in codedbufferproxy
9099           MbCode, MV and Distortion buffers (fei codec objects)
9100           can be treated as output of different fei modes based user request.
9101           For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
9102           can be dumped as output in ENC_PAK mode for analysis purpose.
9103           So treating them as a part of CodedBufferProxy too.
9104           Here we avoided Qp, MbControl and MvPredictor codec objects since
9105           there is no practical use case of treating them as "output buffers".
9106           Other contributors:
9107           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
9108           xiaominc <xiaomin.chen@intel.com>
9109           Leilei <leilei.shang@intel.com>
9110           Li, Jing B <jing.b.li@intel.com>
9111           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9112           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9113
9114 2017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9115
9116         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
9117         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
9118         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
9119           FEI: libs: Add fei codec objects to surface proxy
9120           Add fei codec objects to surface proxy since handling the
9121           fei buffers(codec objects here) external to gstvaapisurfaceproxy
9122           will make the code complicated. Especially considering the behavior
9123           of encoder where the input frame order from upstream and output
9124           frame order to the downstream are not sequential.
9125           Other contributors:
9126           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
9127           xiaominc <xiaomin.chen@intel.com>
9128           Leilei <leilei.shang@intel.com>
9129           Li, Jing B <jing.b.li@intel.com>
9130           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9131           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9132
9133 2017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9134
9135         * gst-libs/gst/vaapi/Makefile.am:
9136         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
9137         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
9138         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
9139           FEI: Add codec objects for fei usecase
9140           There are 6 new va buffer types, each defined as a specific codec object.
9141           Borrowed the code from gstvaapicodecobject , but made a clear separation
9142           to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
9143           feicodecobjects can be shared between elements and also can be accessed
9144           from different thread.
9145           Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
9146           object is not shared between elements.So we utilize the already
9147           existing gst_vaapi_enc_misc_param_new(), but still keeping the code
9148           in gstvaapfei_objects_priv.h in order to have a better
9149           code readability.
9150           Fixme:
9151           -- Probably we need _locked_map() and _unlocked_map()
9152           -- Context can be associated with PreEnc(not just Enoder)
9153           once we have the proper support inplace, but for now we don't have
9154           PreEnc support, so should be safe enough to use GstVaapiEncoder.
9155           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9156           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9157
9158 2017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9159
9160         * gst-libs/gst/vaapi/Makefile.am:
9161         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
9162         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
9163           FEI: libs: add H264 fei specific utility functions
9164           Added enum/flag type definitions for a number of FEI
9165           input and output parameters.
9166           Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
9167           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9168           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9169           Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
9170           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9171
9172 2017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9173
9174         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9175         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
9176           FEI: libs: Add virtual method for secondary context creation.
9177           Add a new vitrual method ensure_secondary_context to the
9178           base encoder which is only required for the FEI entrypoint, that too
9179           only when user configures the ENC+PAK mode. ENC+PAK mode is not something
9180           supported directly by libva or driver, but this can be enabled
9181           from the middleware.
9182           Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
9183           Signed-off-by: Leilei Shang <leilei.shang@intel.com>
9184           Signed-off-by: xiaominc <xiaomin.chen@intel.com>
9185           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9186           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9187           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9188
9189 2017-08-09 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9190
9191         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9192           FEI: libs: make sure the default context creation works as expected.
9193           Current code always guess the entrypoint during init phase in case
9194           if there is no entrypoint already configured in GstVaapiContextInfo.
9195           Make sure FEI Entrypoint is not messing up with this logic.
9196           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9197           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9198
9199 2017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9200
9201         * gst-libs/gst/vaapi/gstvaapicontext.c:
9202         * gst-libs/gst/vaapi/gstvaapicontext.h:
9203         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9204           FEI: libs: Add FEI functional mode configuration
9205           FEI Entrypoint can work in either one of the 3 different modes:
9206           VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
9207           Add infrastructure in gstvaapicontext and gstvaapiencoder for this
9208           functioal mode configuration.
9209           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9210           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9211
9212 2017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9213
9214         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9215         * gst-libs/gst/vaapi/gstvaapiprofile.c:
9216         * gst-libs/gst/vaapi/gstvaapiprofile.h:
9217           FEI: libs: Add FEI Entrypoint mapping
9218           Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
9219           for VAEntrypointFEI.
9220           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9221           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9222
9223 2017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9224
9225         * configure.ac:
9226           FEI: Add support for FEI conditional build
9227           FEI(Flexible Encoding Infrastructure) is an extension
9228           to VA API. Define USE_H264_FEI_ENCODER based on
9229           fei header file and required structures availability.
9230           https://bugzilla.gnome.org/show_bug.cgi?id=785712
9231           https://bugzilla.gnome.org/show_bug.cgi?id=784667
9232
9233 2017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
9234
9235         * gst/vaapi/gstvaapidecode.c:
9236           vaapidecode: force add h264 SVC profiles in caps
9237           When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
9238           support in caps.
9239           https://bugzilla.gnome.org/show_bug.cgi?id=732266
9240           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9241
9242 2017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
9243
9244         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9245           libs: decoder: h264: decode SVC base layer only
9246           Drops non-base NALs when the base-only property is set to TRUE.
9247           This modifies the behavior for MVC streams with base-only too: All the
9248           non-base units are dropped before they are decoded instead of dropping
9249           the non-base frames.
9250           The relevant part from the H264 spec is:
9251           > Decoders that conform to one or more of the profiles specified in
9252           Annex A rather than the profiles specified in Annexes G or H shall
9253           ignore (remove from the bitstream and discard) the contents of all NAL
9254           units with nal_unit_type equal to 14, 15, or 20.
9255           To eliminate side effects from the offending units:
9256           - PPS's with a broken seq_parameter_set_id (referring to dropped subset
9257           SPS's) are ignored.
9258           - The NAL parsing is skipped and their flags are set to
9259           GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
9260           - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
9261           use them even if they are flagged to be skipped. Subset SPS's and slice
9262           extension units are not stored there either.
9263           https://bugzilla.gnome.org/show_bug.cgi?id=732266
9264           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9265
9266 2017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
9267
9268         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9269           libs: decoder: h264: check nalu validity in parser info finalize
9270           https://bugzilla.gnome.org/show_bug.cgi?id=732266
9271           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9272
9273 2017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9274
9275         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9276         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9277         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9278         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9279         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9280           libs: encoder: remove unused cast macro
9281           Remove internal macro to cast structure that are already declared
9282           in the header.
9283
9284 2017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9285
9286         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9287         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
9288         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
9289         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
9290         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
9291         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
9292           Revert "libs: encoders: remove unused cast macros"
9293           This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
9294
9295 2017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9296
9297         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9298         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
9299         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
9300         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
9301         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
9302         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
9303           libs: encoders: remove unused cast macros
9304           They are only used inside the code, where another macro is defined.
9305           Thus these exported macros have no use.
9306
9307 2017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9308
9309         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9310           libs: decoder: h264: improve code-style
9311           https://bugzilla.gnome.org/show_bug.cgi?id=786173
9312
9313 2017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9314
9315         * gst-libs/gst/vaapi/gstvaapicompat.h:
9316         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9317           libs: encoder: h264: handle deprecated enum
9318           In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
9319           instead VAEncPackedHeaderRawData should be used.
9320           This patch creates a compatibility symbol,
9321           VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
9322           VA-API version.
9323           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9324
9325 2017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9326
9327         * gst-libs/gst/vaapi/gstvaapiprofile.c:
9328         * gst-libs/gst/vaapi/gstvaapiutils.c:
9329           libs: guard deprecated symbols
9330           In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
9331           guards the H.264 baseline usage. Consider this commit as a
9332           continuation of commit e0e0a474
9333           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9334
9335 2017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9336
9337         * configure.ac:
9338         * meson.build:
9339         * meson_options.txt:
9340           Revert "build: check for libva-2.0"
9341           This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
9342           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9343
9344 2017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9345
9346         * gst-libs/gst/vaapi/gstvaapicompat.h:
9347         * gst-libs/gst/vaapi/gstvaapicontext.c:
9348         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9349           libs: macro to get a renamed value in VA-API 1.0
9350           In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
9351           renamed one member from roi_value_is_qp_delat to
9352           roi_value_is_qp_delta, which is the correct name.
9353           In order to keep back compatibility a macro has added to access this
9354           union member.
9355           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9356
9357 2017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9358
9359         * gst/vaapi/gstvaapipluginbase.h:
9360         * gst/vaapi/gstvaapipluginutil.c:
9361           plugins: include main gstgl header
9362           Instead including particular gstgl header files in a header file
9363           that doesn't export a gstgl symbol, the main gstgl header file is
9364           included in gstvaapipluginutil.c where the symbols are used.
9365           https://bugzilla.gnome.org/show_bug.cgi?id=786597
9366
9367 2017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9368
9369         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9370           libs: encoder: h264: fix enum namespace
9371
9372 2017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
9373
9374         * common:
9375           Automatic update of common submodule
9376           From 48a5d85 to 3f4aa96
9377
9378 2017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9379
9380         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9381           libs: encoder: h264: remove spurious assignation
9382           Coverity scan bug:
9383           An assigned value that is never used may represent unnecessary
9384           computation, an incorrect algorithm, or possibly the need for cleanup
9385           or refactoring.
9386           ip_period is assigned first to be rewritter inmediatly after. The
9387           first assignation is spurious.
9388
9389 2017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
9390
9391         * gst/vaapi/gstvaapidecode.c:
9392           vaapidecode: fix mismatch of the return type
9393           https://bugzilla.gnome.org/show_bug.cgi?id=786307
9394
9395 2017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9396
9397         * gst-libs/gst/vaapi/Makefile.am:
9398         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
9399         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
9400         * gst-libs/gst/vaapi/gstvaapiutils.h:
9401         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
9402         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
9403         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
9404         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
9405         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
9406         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
9407         * gst-libs/gst/vaapi/meson.build:
9408           libs: remove unused header
9409           Since libgstvaapi is not distributed, there is no need to check for
9410           private header inclusion. Thus removing it.
9411           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9412
9413 2017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9414
9415         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
9416         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
9417         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
9418         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
9419         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
9420         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
9421           libs: utils: move gstvaapisurface.h to private headers
9422           Since the utils don't expose API defined in gstvaapisource.h, it is
9423           moved to their private headers where they are used.
9424           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9425
9426 2017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9427
9428         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
9429         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
9430         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
9431         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
9432         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
9433         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
9434           libs: utils: remove va.h include in header
9435           And include gstvaapicompat.h in the C files, since the VA-API is not
9436           exposed in the headers.
9437           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9438
9439 2017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9440
9441         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9442         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9443         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9444         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9445         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9446         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9447           libs: encoder: remove va.h include
9448           Since it is already managed by gstvaapicompat.h
9449           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9450
9451 2017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9452
9453         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
9454         * gst-libs/gst/vaapi/gstvaapicompat.h:
9455         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
9456         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9457         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9458         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9459         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9460         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9461         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9462         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9463         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9464         * gst-libs/gst/vaapi/gstvaapifilter.c:
9465         * gst-libs/gst/vaapi/gstvaapiutils.c:
9466         * meson.build:
9467           build: consolidate the VA sub API includes
9468           Include all VA sub APIs headers in a single point (gstvaapicompat.h),
9469           since they are all already included in va.h after VA-API 0.38.
9470           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9471
9472 2017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9473
9474         * configure.ac:
9475         * meson.build:
9476           build: check for va_vpp.h
9477           Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
9478           allow us to handle the inclusion of the header better.
9479           https://bugzilla.gnome.org/show_bug.cgi?id=786119
9480
9481 2017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
9482
9483         * meson.build:
9484           meson: don't export symbols by default
9485           Only plugin entry points should be exported.
9486
9487 2017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9488
9489         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9490           libs: decoder: h265: remove spurious code
9491           Coverity scan:
9492           Logically dead code: The indicated dead code may have performed some
9493           action; that action will never occur.
9494           By using pointer arithmetic is impossible to get NULL.
9495
9496 2017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9497
9498         * gst-libs/gst/vaapi/gstvaapicontext.c:
9499           libs: context: use attribs index instead pointers
9500           Coverity scan bug:
9501           Out-of-bounds write. This could cause an immediate crash or incorrect
9502           computations.
9503           Coverity basically found that it is possible to assign more than 4
9504           attribs in the array.
9505           In my opinion this was produced because code pattern used pointer
9506           arithmetic, which is not readable nor maintainable.
9507           This patch refactors config_create() to use an array index rather than
9508           pointer arithmetic. Also a run-time check for index size was added.
9509
9510 2017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9511
9512         * gst/vaapi/gstvaapiencode_h264.c:
9513           vaapiencode: h264: remove spurious code
9514           Coverity scan bug:
9515           An unsigned value can never be negative, so this test will always
9516           evaluate the same way.
9517           As len is guint32, there is no need to check it if it is equal or
9518           bigger than zero.
9519
9520 2017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9521
9522         * gst/vaapi/gstvaapidecode.c:
9523           vaapidecode: initialize variable
9524           Coverity scan bug:
9525           The variable will contain an arbitrary value left from earlier
9526           computations.
9527           Variable base_only is fetched from base-only property, and it may be
9528           not assigned. It needs to be initialized.
9529
9530 2017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9531
9532         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9533           libs: windows: wayland: fail if cannot remove last frame
9534           Converity scan bug:
9535           If the function returns an error value, the error value may be
9536           mistaken for a normal value.
9537           If g_atomic_pointer_compare_and_exchange() fails because the frame is
9538           not the last one, the function fails. Thus, logging an info message.
9539
9540 2017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9541
9542         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
9543           libs: utils: glx: check return value
9544           Coverity scan bug:
9545           If the function returns an error value, the error value may be
9546           mistaken for a normal value.
9547           Function sscanf returns the number of assignations done. Validate this
9548           return value with the number of expected variables to match.
9549
9550 2017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9551
9552         * gst-libs/gst/vaapi/gstvaapiobject.c:
9553           libs: vaapi: object: remove unrequired NULL check
9554           Coverity scan bug:
9555           Dereference after null check: Either the check against null is
9556           unnecessary, or there may be a null pointer dereference.
9557           Variable klass has been validated as non-NULL several time before in
9558           gst_vaapi_object_new() function, so there is no need to check it
9559           again.
9560
9561 2017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9562
9563         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9564           libs: encoder: h265: remove spurious assignation
9565           Coverity scan bug:
9566           An assigned value that is never used may represent unnecessary
9567           computation, an incorrect algorithm, or possibly the need for cleanup
9568           or refactoring.
9569           ip_period is assigned first to be rewritter inmediatly after. The
9570           first assignation is spurious.
9571
9572 2017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9573
9574         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9575           libs: encoder: h264: fix copy & paste error
9576           Coverity scan bug:
9577           The copied code will not have its intended effect.
9578           This is a bug from commit cdaf15b2, where the intention is to
9579           initialize RefPicList1 while setting RefPicList0.
9580
9581 2017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9582
9583         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9584         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9585           libs: encoder: h265: fix possible integer overflow
9586           Coverity scan bug:
9587           Unintentional integer overflow. The expression's value may not be what
9588           the programmer intended, because the expression is evaluated using a
9589           narrow (i.e. few bits) integer type.
9590           Cast operator to guint64 before computation to avoid narrowing.
9591           merge with 3c5a6add
9592
9593 2017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9594
9595         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9596           libs: decoder: mpeg4: fail if return value is not OK
9597           Coverity scan bug:
9598           An assigned value that is never used may represent unnecessary
9599           computation, an incorrect algorithm, or possibly the need for cleanup
9600           or refactoring.
9601           In the return value of decode_slice() or
9602           gst_mpeg4_parse_video_packet_header() are not success, thus fail
9603           decode_packet() function.
9604
9605 2017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9606
9607         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9608           libs: decoder: h265: check for null
9609           Coverity scan bug:
9610           Dereference after null check: Either the check against null is
9611           unnecessary, or there may be a null pointer dereference.
9612           While looking for hte lowest poc, according to rest of the code, the
9613           picture in the dbp (decoded picture buffer) might be NULL, thus we
9614           could check for a NULL picture before assigned as found.
9615           Also, split a comma operator because it is considered as a bad
9616           practice because it possible side effects.
9617
9618 2017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9619
9620         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9621           libs: decoder: h265: untaint loop control variable
9622           Coverity scan bug:
9623           Scalars (for example, integers) are not properly
9624           bounds-checked (sanitized) before being used as array or pointer
9625           indexes, loop boundaries, or function arguments are considered as
9626           tainted.
9627           In this case, num_nals were not checked before used as loop control.
9628
9629 2017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9630
9631         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9632           libs: decoder: h264: remove unrequired NULL check
9633           Coverity scan bug:
9634           Dereference after null check: Either the check against null is
9635           unnecessary, or there may be a null pointer dereference.
9636           In the original commit for fill_picture_gaps() (commit 5abd2b90) the
9637           prev_picture could be NULL, that's why the code did a null check. But,
9638           since commit 52adebe7, the previous reference frames are tracked, thus
9639           there is no need to check null anymore.
9640
9641 2017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
9642
9643         * gst/vaapi/gstvaapidecode.c:
9644           vaapidecode: fix gst_caps_new_simple call
9645           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9646
9647 2017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
9648
9649         * gst/vaapi/gstvaapidecode.c:
9650           vaapidecode: force add h264 MVC profiles in caps
9651           When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
9652           support in caps.
9653           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9654
9655 2017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
9656
9657         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9658           libs: decoder: h264: decode MVC base view only
9659           If processed SPS has mvc profile and the configuration is set to
9660           base-only, the frame is drop.
9661           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9662
9663 2017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
9664
9665         * gst/vaapi/gstvaapidecode.c:
9666         * gst/vaapi/gstvaapidecode_props.c:
9667           vaapidecode: set h264 base-only to decoder
9668           Set the base-only value when property is set and the internal
9669           decoder is already instantiated or when the internal decoder
9670           is created.
9671           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9672
9673 2017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
9674
9675         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9676         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
9677           libs: decoder: h264: add setter for base-only mode
9678           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9679
9680 2017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
9681
9682         * gst/vaapi/gstvaapidecode_props.c:
9683         * gst/vaapi/gstvaapidecode_props.h:
9684           vaapidecode_props: h264: add base-only property
9685           https://bugzilla.gnome.org/show_bug.cgi?id=732265
9686
9687 2017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9688
9689         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9690           libs: encoder: h264: missing property enum documentation
9691
9692 2017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
9693
9694         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9695           libs: encoder: h264: add multi reference support
9696           Using num_ref_frames provided and the result of the Query
9697           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
9698           and perform encoding with multi reference frames as the following:
9699           1\ The num_ref_frames is being considered as the number of
9700           reference picture list0
9701           2\ Encoder adds 1 reference frame more to the reference picture list1
9702           internally if b-frame encoding.
9703           3\ If num_ref_frames is bigger than the number of refrence frames
9704           supported in the driver, it will be lowered.
9705           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9706
9707 2017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
9708
9709         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9710         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9711           libs: encoder: h264: add refs property
9712           Users can provide the number of reference frame by this property.
9713           The value of the property will be considered as the number of
9714           reference picture list0 and will add 1 reference frame more to the
9715           reference picture list1 internally if b-frame encoding.
9716           If the value provided is bigger than the number of refrence frames
9717           supported in the driver, it will be lowered.
9718           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9719
9720 2017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
9721
9722         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9723         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
9724           libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
9725           This function will query VAConfigAttribEncMaxRefFrames to get the
9726           maximum number of reference frames supported in the driver.
9727           This will be used for h264/h265 encoding.
9728           https://bugzilla.gnome.org/show_bug.cgi?id=783803
9729
9730 2017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9731
9732         * gst/vaapi/gstvaapiencode_h265.c:
9733           vaapiencode: h265: compare an unsigned int if not zero
9734           An unsigned value can never be negative, so this test (greater than
9735           zero) will always evaluate the same way. Thus change it to just if
9736           it's not zero.
9737
9738 2017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9739
9740         * gst/vaapi/gstvaapipluginbase.c:
9741           plugins: check gst_gl_ensure_element_data() return value
9742           Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
9743           the return value of gst_gl_ensure_element_data(). The result is a code
9744           bit cleaner.
9745
9746 2017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9747
9748         * gst/vaapi/gstvaapipluginutil.c:
9749           plugins: avoid dead code detection
9750           By using #elif macro, the static code analysis would stop to detect
9751           these lines as dead code. Also it is inforced the mutually exclusive
9752           environments.
9753
9754 2017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9755
9756         * gst/vaapi/gstvaapivideobufferpool.c:
9757           vaapivideobufferpool: don't shift by negative since it's undefined
9758           The function g_bit_nth_lsf() may return -1 if the request bit position
9759           is not avaible. Thus, this patch check if the return value is not -1
9760           in order to continue.
9761
9762 2017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9763
9764         * gst/vaapi/gstvaapisink.c:
9765           vaapisink: fix memory leak
9766
9767 2017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9768
9769         * gst/vaapi/gstvaapipostprocutil.c:
9770           vaapipostproc: fix memory leaks
9771
9772 2017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
9773
9774         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9775           libs: display: when appending formats change pointers to indexes
9776           Thus, it fixes an invalid read when YV12 or I420 are not supported by
9777           the driver.
9778           https://bugzilla.gnome.org/show_bug.cgi?id=785085
9779
9780 2017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9781
9782         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9783         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
9784           libs: encoder: h264: Add uncompliant mode reducing coded buffer size
9785           Added a new property "compliance-mode", which default is the normal
9786           strict compliant mode.
9787           The second mode, "restrict-buf-alloc", is to limit the coded buffer
9788           allocation size to improve performance in some specific Intel
9789           platforms (there is asignificant performance improvement in parallel
9790           encodings). Under this new mode, we use the MinCR field in A.3.1 for
9791           pre-calculating the coded-buffer size.
9792           https://bugzilla.gnome.org/show_bug.cgi?id=784590
9793
9794 2017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9795
9796         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
9797         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
9798           libs: utils_h264: Extend LevelLimit table with MinCR field
9799           Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
9800           based on Annex A.3
9801           https://bugzilla.gnome.org/show_bug.cgi?id=784590
9802
9803 2017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9804
9805         * gst-libs/gst/vaapi/gstvaapiutils.c:
9806           libs: utils: libva 1.0 changed the logging
9807           The logging mechanism in libva has changed it's functions
9808           signatures. This patch updates that for libva versions >= 1.0
9809           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9810
9811 2017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9812
9813         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9814           libs: decoder: h264: libva 1.0 deprecated baseline
9815           libva 1.0 deprecated H.264 baseline profile and FMO support
9816           (commit b4f332b3).
9817           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9818
9819 2017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9820
9821         * configure.ac:
9822         * meson.build:
9823         * meson_options.txt:
9824           build: check for libva-2.0
9825           Check for libva-2.0 since libva's developers decided to increase the
9826           library's version number.
9827           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9828
9829 2017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9830
9831         * configure.ac:
9832         * meson.build:
9833           build: blacklist only libva 0.99.0
9834           Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
9835           its API version to 1.0.0. Thus we have to blacklist only the MSDK's
9836           libva (0.99.0)
9837           https://bugzilla.gnome.org/show_bug.cgi?id=784398
9838
9839 2017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9840
9841         * gst-libs/gst/vaapi/meson.build:
9842           build: meson: remove gstvaapidisplaycache.c
9843           This is a missing bit of commit ec3e10f6
9844
9845 2017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
9846
9847         * configure.ac:
9848           configure: do not break configure if gtk+-3.0 devel missing
9849           Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
9850           set USE_GTK=0 if gtk+-3.0 is not available.
9851           Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
9852           Author: Hyunjun Ko <zzoon@igalia.com>
9853           Date:   Wed Jul 5 15:59:43 2017 +0900
9854           tests: elements: add testsuite of vaapi context
9855           ...configure fails if gtk+-3.0 development files are missing.
9856           The "with_gtk" option defaults to "check" in configure.ac
9857           which implies that if it is not explicitly requested then
9858           configure will only enable it if it's available on the system.
9859           However, the PKG_CHECK_MODULES rule that get's activated on
9860           "check" condition did not provide default when gtk+-3.0 devel
9861           packages are not found on the system.  Thus, it resulted in
9862           configure failure.
9863           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
9864           https://bugzilla.gnome.org/show_bug.cgi?id=785452
9865
9866 2017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
9867
9868         * configure.ac:
9869         * tests/elements/Makefile.am:
9870         * tests/elements/test-vaapicontext.c:
9871           tests: elements: add testsuite of vaapi context
9872           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9873           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9874
9875 2017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
9876
9877         * gst/vaapi/gstvaapisink.c:
9878           vaapisink: fail if surface display is different
9879           Replacing GstVaapiDisplay during rendering might be hiding problems
9880           at some cases, even though it's safe currently since we use cache
9881           of GstVaapidisplay.
9882           Play safe by failing if this happens.
9883           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9884
9885 2017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
9886
9887         * gst/vaapi/gstvaapivideocontext.c:
9888         * gst/vaapi/gstvaapivideocontext.h:
9889           videocontext: support "gst.vaapi.app.Display" context
9890           Through "gst.vaapi.app.Display" context, users can set their own VADisplay
9891           and native display of their backend.
9892           Attributes:
9893           - display : pointer of VADisplay
9894           - x11-display : pointer of X11 display (Display *), if they're using.
9895           This patch creates GstVaapidisplayX11 if information provided through
9896           "gst.vaapi.app.Display"
9897           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9898
9899 2017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
9900
9901         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
9902         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
9903           libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
9904           Implements new API function so that users could create GstVaapiDisplay
9905           with their own VADisplay within a native display as backend.
9906           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9907
9908 2017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
9909
9910         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9911           libs: display: pass display info when foreign display
9912           When creating a GstVaapiDisplay using a foreign VADisplay, and render
9913           with that display, it also requires native display of the backend.
9914           https://bugzilla.gnome.org/show_bug.cgi?id=766704
9915
9916 2017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9917
9918         * gst-libs/gst/vaapi/Makefile.am:
9919         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9920         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
9921         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
9922         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
9923         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
9924         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
9925         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
9926           libs: display: remove cache
9927           Remove a bunch of code that handles the VADisplay cache, since the
9928           context sharing should be doing this correctly.
9929           https://bugzilla.gnome.org/show_bug.cgi?id=747946
9930
9931 2017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
9932
9933         * tests/elements/Makefile.am:
9934         * tests/elements/test-vaapipostproc.c:
9935           tests: elements: add test for vaapipostproc
9936           https://bugzilla.gnome.org/show_bug.cgi?id=754885
9937
9938 2017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
9939
9940         * gst/vaapi/gstvaapipostproc.c:
9941           postproc: reconfigure when width or height changes
9942           https://bugzilla.gnome.org/show_bug.cgi?id=754885
9943
9944 2017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9945
9946         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9947           libs: encoder: vp9: array terminated in zeros
9948           There is a crash when setting ref-pic-mode since the #GEnumValue
9949           array is not terminated with a structured with all memvers being
9950           zero.
9951           https://bugzilla.gnome.org/show_bug.cgi?id=785032
9952
9953 2017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9954
9955         * gst/vaapi/gstvaapiencode_h264.c:
9956           vaapiencode: h264: add plugin documentation
9957           Comment how the profile is set and other parameters.
9958
9959 2017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
9960
9961         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9962           libs: decoder: h264: push frames as soon as possible
9963           Push frames downstream as soon as possible instead of waiting until
9964           they are ejected from the DPB.
9965           This patch makes the decoder not comply with the H.264 specification,
9966           but it is required for some video cameras.
9967           https://bugzilla.gnome.org/show_bug.cgi?id=762509
9968           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9969
9970 2017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9971
9972         * gst/vaapi/gstvaapidecode_props.c:
9973           vaapidecode_props: h264: set low-latency in decoder
9974           Set the low-latency property if the H264 decoder is already
9975           instantiated, thus you could change the behavior in run-time.
9976           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9977
9978 2017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9979
9980         * gst/vaapi/gstvaapidecode.c:
9981           vaapidecode: set h264 low latency to decoder
9982           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9983
9984 2017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9985
9986         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9987         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
9988           libs: decoder: h264: add getter/setter for low latency mode
9989           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9990
9991 2017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9992
9993         * gst/vaapi/gstvaapidecode_props.c:
9994         * gst/vaapi/gstvaapidecode_props.h:
9995           vaapidecode_props: h264: add low latency property
9996           Adding support for private data.
9997           https://bugzilla.gnome.org/show_bug.cgi?id=783588
9998
9999 2017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10000
10001         * gst/vaapi/Makefile.am:
10002         * gst/vaapi/gstvaapidecode.c:
10003         * gst/vaapi/gstvaapidecode_props.c:
10004         * gst/vaapi/gstvaapidecode_props.h:
10005         * gst/vaapi/meson.build:
10006           vaapidecode_props: add skeleton for h264 decoder properties
10007           https://bugzilla.gnome.org/show_bug.cgi?id=783588
10008
10009 2017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10010
10011         * gst/vaapi/gstvaapidecode.c:
10012           vaapidecode: properties callback in decoders map
10013           https://bugzilla.gnome.org/show_bug.cgi?id=783588
10014
10015 2017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
10016
10017         * meson.build:
10018           meson: find python3 via python3 module
10019           https://bugzilla.gnome.org/show_bug.cgi?id=783198
10020
10021 2017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
10022
10023         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10024           libs: encoder: h264: submit sps in case of IDR picture
10025           If the picture is IDR, also submit a SPS header.
10026           This means when frame number reaches to keyframe-period or an force
10027           key unit event arrives, we insert SPS/PPS again.
10028           https://bugzilla.gnome.org/show_bug.cgi?id=776712
10029
10030 2017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
10031
10032         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10033           libs: encoder: h264: set the frame as IDR if forced key unit
10034           GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
10035           the `frame-lost` event in the case of streaming, such as RTP.
10036           In case of this event, it is needed to start new GOP rather than just
10037           produce an I-frame.
10038           https://bugzilla.gnome.org/show_bug.cgi?id=776712
10039
10040 2017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10041
10042         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10043         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
10044           libs: encoder: h264: insert AU delimiter
10045           Insert an AUD as the first NAL of each encoded frame.
10046           Some applications require Access Unit Delimiter for decoding the
10047           stream.
10048           The AU delimeter insertion is done only when the aud parameter is
10049           TRUE (by default is disabled). The reason of this it is because this
10050           header is only available from Intel Gen9 and the VA intel driver
10051           should be 1.8 or superior. Otherwise, the output will be corrupted.
10052           https://bugzilla.gnome.org/show_bug.cgi?id=776712
10053           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
10054
10055 2017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
10056
10057         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10058           libs: encoder: h264: initialize all elements of view_ids
10059           Currently when num_views is changed by multiview-mode on sink caps, it produces
10060           wrong MVC encoded stream since the array view_ids is not set properly according
10061           to changed num_views.
10062           So this patch initializes all of the array sequentially to handle this case.
10063           Side effect is not going to happen by this patch since this array is being
10064           handled by num_views.
10065           https://bugzilla.gnome.org/show_bug.cgi?id=784321
10066
10067 2017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
10068
10069         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10070           Revert "encoder: h264: Use high profile by default"
10071           This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
10072           https://bugzilla.gnome.org/show_bug.cgi?id=757941
10073
10074 2017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
10075
10076         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10077           libs: encoder: h264: set profile via capsfilter
10078           Until now, the encoder ignored the profile in src caps and chose one
10079           according with the given parameters. But the encoder must honor the
10080           profile specifed in src caps.
10081           This patch do that, and if the encoder needs to choose the profile,
10082           it will do it by following these rules:
10083           1\ If given parameters are not compatible with given profile, the
10084           encoder will bail out with an error.
10085           2\ The encoder will choose the higher profile indicated in the
10086           src caps.
10087           https://bugzilla.gnome.org/show_bug.cgi?id=757941
10088
10089 2017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
10090
10091         * gst/vaapi/gstvaapiencode_h264.c:
10092           vaapiencode: h264: set profile to src caps
10093           So far vaapi encoder does not set profile to src caps. This patch makes it
10094           setting profile to src caps, which is determined by itself.
10095           In addition, if encoder chose different profile, which is not negotiated with
10096           downstream, we should set compatible profile to make negotiation working.
10097           https://bugzilla.gnome.org/show_bug.cgi?id=757941
10098
10099 2017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10100
10101         * gst/vaapi/gstvaapiencode_h264.c:
10102         * gst/vaapi/gstvaapiencode_h264.h:
10103           vaapiencode: h264: verify if requested profile is supported
10104           Check if the requested profile in source caps, is supported by the
10105           VA driver. If it is not, an info log message is send saying that
10106           another (compatible?) profile will be used.
10107           https://bugzilla.gnome.org/show_bug.cgi?id=757941
10108
10109 2017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10110
10111         * gst/vaapi/gstvaapiencode_h264.c:
10112           vaapiencode: h264: improve set_config() vmethod
10113           First check if downstream requests ANY caps. If so, byte-stream is
10114           used and the profile will be choose by the encoder. If dowstream
10115           requests EMPTY caps, the negotiation will fail.
10116           Lately, byte-stream and profile are looked in the allowed caps.
10117           https://bugzilla.gnome.org/show_bug.cgi?id=757941
10118
10119 2017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10120
10121         * gst/vaapi/gstvaapiencode_h264.c:
10122           vaapiencode: h264: check for avc in set_config()
10123           The check for avc stream format was done in the vaapi encoder's
10124           vmethod get_caps(), but that is wrong since it has to be check
10125           when encoder set_format().
10126           https://bugzilla.gnome.org/show_bug.cgi?id=757941
10127
10128 2017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
10129
10130         * gst/vaapi/gstvaapipostprocutil.c:
10131           vaapipostproc: set multivew-mode flags to src caps
10132           vaapipostproc didn't negotiate the proper multiview caps losing
10133           downstream information.
10134           This patch enables the playing of MVC encoded stream by setting
10135           the proper multiview mode/flags and views to src caps, according
10136           to sink caps.
10137           https://bugzilla.gnome.org/show_bug.cgi?id=784320
10138
10139 2016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
10140
10141         * gst/vaapi/gstvaapipostproc.c:
10142           vaapipostproc: add support for DMABuf caps feature
10143           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10144           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
10145
10146 2017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10147
10148         * gst/vaapi/gstvaapidecode.c:
10149           vaapidecode: add support for DMABuf caps feature
10150           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10151           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
10152
10153 2017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10154
10155         * gst/vaapi/gstvaapipluginbase.c:
10156           vaapipluginbase: force dmabuf allocator if DMABuf caps feature
10157           Instantiate all dmabuf allocator for src pad buffer pool if the
10158           src caps ask for memory:DMABuf feature.
10159           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10160
10161 2016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
10162
10163         * gst/vaapi/gstvaapipluginutil.c:
10164         * gst/vaapi/gstvaapipluginutil.h:
10165           vaapipluginutil: add support for DMABuf caps feature
10166           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10167           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
10168           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
10169           vaapipluginutil: add support for DMABuf caps feature
10170
10171 2017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10172
10173         * gst/vaapi/gstvaapipluginbase.c:
10174           vaapipluginbase: dmabuf memory map trial for raw caps
10175           Only push dmabuf-based buffers with raw caps if gst_memory_map()
10176           succeeds. Otherwise, use the the vaapi surfaces allocator.
10177           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10178           https://bugzilla.gnome.org/show_bug.cgi?id=774649
10179           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
10180
10181 2016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10182
10183         * gst/vaapi/gstvaapivideomemory.c:
10184         * gst/vaapi/gstvaapivideomemory.h:
10185           vaapivideomemory: add gst_vaapi_dmabuf_can_map()
10186           This new method checks the specified allocator can create GstMemory that can
10187           be mapped.
10188           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10189
10190 2017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10191
10192         * gst/vaapi/gstvaapivideobufferpool.c:
10193           vaapivideobufferpool: fix regression with video metas
10194           There is another regression with 7a206923 when setting the video
10195           info for the video meta, it should be the one from the image's
10196           allocator rather from the allocation caps.
10197           Test pipeline:
10198           gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
10199           ! tee ! videoconvert ! videoscale                     \
10200           ! video/x-raw, width=1920, height=1080 ! xvimagesink
10201
10202 2017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10203
10204         * gst/vaapi/gstvaapipluginbase.c:
10205         * gst/vaapi/gstvaapivideobufferpool.c:
10206           plugins: update buffer size with the one reported by allocator
10207           There is a regression in 7a206923, since the buffer pool ditches all
10208           the buffers generated by them because the pool config size is
10209           different of the buffer's size.
10210           Test pipeline:
10211           gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
10212           ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
10213           --gst-debug=GST_PERFORMANCE:5
10214           The allocator may update the buffer size according to the VA surface
10215           properties. In order to do this, the video info is modified when the
10216           allocator is created, which reports through the allocation info the
10217           updated size, and set it to the pool config.
10218
10219 2017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
10220
10221         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10222           libs: decoder: h264: initialize active_sps/pps in reset
10223           Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
10224           they introduced regression in seek.
10225           Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
10226           But since the commits landed, it doesn't drop P-frame and does try to
10227           decode it continuously because active_sps is still alive. See ensure_sps function.
10228           But there are prev_frames and prev_ref_frames reset already, then it
10229           causes assertion.
10230           So it's necessary to reset active_sps/pps also in reset method.
10231           https://bugzilla.gnome.org/show_bug.cgi?id=783726
10232
10233 2017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10234
10235         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10236         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10237           libs: encoder: fix compilation with old versions of libva
10238           There are some symbols that are not used when compiling with old
10239           version of libva and those generates a compilation error.
10240           Original-patch-by: Matt Staples <staples255@gmail.com>
10241
10242 2017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10243
10244         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10245           libs: encoder: Fix the quality level clamping
10246           Change the hard-coded range of quality-level from {1-8} to {1-7},
10247           since it is the range Intel Open source driver supports.
10248           Also perform the range clamping only if the user provided
10249           quality-level is greater than the max-range suppored by the driver,
10250           because there could be non-intel drivers giving lower value than
10251           the hard-coded max value 7.
10252           https://bugzilla.gnome.org/show_bug.cgi?id=783567
10253
10254 2017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10255
10256         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10257         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10258         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
10259         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10260         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10261         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10262           libs: encoder: log out the name of the profile
10263           Instead of printing a number, it is more readable to log out, in
10264           case of error, the name of the failing profile.
10265
10266 2017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
10267
10268         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10269           libs: encoder: h264: changes raw number of profile to macro name of its
10270           Changes raw number of profile to macro name of its to improve readability.
10271           https://bugzilla.gnome.org/show_bug.cgi?id=757941
10272
10273 2017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10274
10275         * gst/vaapi/gstvaapivideobufferpool.c:
10276           vaapivideobufferpool: remove allocation_vinfo private attribute
10277           There is no need to keep this attribute internally since it is
10278           already managed by the allocator.
10279           https://bugzilla.gnome.org/show_bug.cgi?id=783599
10280
10281 2017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10282
10283         * gst/vaapi/gstvaapivideobufferpool.c:
10284           vaapivideobufferpool: refactor set_config()
10285           Refactor the set_config() virtual method considering a cleaner
10286           approach to allocator instanciation, if it it not set or if it is
10287           not valid for the pool.
10288           https://bugzilla.gnome.org/show_bug.cgi?id=783599
10289
10290 2017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10291
10292         * gst/vaapi/gstvaapipluginbase.c:
10293         * gst/vaapi/gstvaapivideobufferpool.c:
10294         * gst/vaapi/gstvaapivideomemory.c:
10295         * gst/vaapi/gstvaapivideomemory.h:
10296           plugins: distinguish allocation and negotiation caps
10297           The vaapi video decoders might have different allocation caps from
10298           the negotiation caps, thus the GstVideoMeta shall use the negotiation
10299           caps, not the allocation caps.
10300           This was done before reusing gst_allocator_get_vaapi_video_info(),
10301           storing there the negotiation caps if they differ from the allocation
10302           ones, but this strategy felt short when the allocator had to be reset
10303           in the vaapi buffer pool, since we need both.
10304           This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
10305           gst_allocator_get_vaapi_negotiated_video_info() to store the
10306           negotiated video info in the allocator, and distinguish it from
10307           the allocation video info.
10308           https://bugzilla.gnome.org/show_bug.cgi?id=783599
10309
10310 2017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10311
10312         * gst/vaapi/gstvaapivideomemory.c:
10313         * gst/vaapi/gstvaapivideomemory.h:
10314           vaapivideomemory: rename qdata quarks and ids
10315           Also the parameter names were renamed to reflect their origin
10316           and purpose.
10317           https://bugzilla.gnome.org/show_bug.cgi?id=783599
10318
10319 2017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10320
10321         * gst/vaapi/gstvaapivideobufferpool.c:
10322           vaapivideobufferpool: rename local variables
10323           Renamed local video info structure names in set_config() vitual
10324           method. The purpose of their renaming is to clarify the origin
10325           of those structures, whether come from passed caps parameter
10326           (new_allocation_vinfo) or from the configured allocator
10327           (allocator_vinfo).
10328           https://bugzilla.gnome.org/show_bug.cgi?id=783599
10329
10330 2017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10331
10332         * gst/vaapi/gstvaapivideobufferpool.c:
10333           vaapivideobufferpool: rename video info structures
10334           Renamed private GstVideoInfo structure video_info to allocation_vinfo
10335           and alloc_info to negotiated_vinfo.
10336           The purpose of these renaming is to clarify the origin and purpose of
10337           these private variables:
10338           video_info (now allocation_vinfo) comes from the bufferpool
10339           configuration. It describes the physical video resolution to be
10340           allocated by the allocator, which may be different from the
10341           negotiated one.
10342           alloc_info (now vmeta_vinfo) comes from the negotiated caps in
10343           the pipeline. It represents how the frame is going to be mapped
10344           using the video meta.
10345           In Intel's VA-API backend, the allocation_vinfo resolution is
10346           bigger than the negotiated_info.
10347           https://bugzilla.gnome.org/show_bug.cgi?id=783599
10348
10349 2017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10350
10351         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10352           libs: encoder: set framerate if bigger than 0/1
10353           Just set the framerate parameter if the framerate numerator and
10354           denominator are bigger than zero.
10355           Otherwise, in Intel Gen6 driver, a warning is raised disabling the
10356           bitrate control.
10357           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
10358           https://bugzilla.gnome.org/show_bug.cgi?id=783532
10359
10360 2017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10361
10362         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10363           libs: encoder: bitrate target percentage calculation
10364           If the rate control is set to Constant Bit Rate (CBR) the target
10365           percentage is 100%, otherwise is 70%
10366
10367 2017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10368
10369         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10370         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10371         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10372         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10373         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10374         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10375           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
10376           Centralize the common configuration for the Rate Control parameter,
10377           thus can be overloaded per each specific encoder.
10378
10379 2017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10380
10381         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10382         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10383         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10384         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10385         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10386         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10387           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
10388           Since the framerate VA parameter is calculated equally among all the
10389           encoders, it is better to handle it in the base encoder class.
10390
10391 2016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10392
10393         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10394         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
10395           libs: encoder: vp9: Adds CBR and VBR Encoding support
10396           https://bugzilla.gnome.org/show_bug.cgi?id=766832
10397           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
10398           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10399
10400 2017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
10401
10402         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10403           libs: encoder: vp8: Adds VBR Encoding support
10404           https://bugzilla.gnome.org/show_bug.cgi?id=778732
10405
10406 2017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
10407
10408         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10409           libs: encoder: h265: Adds VBR Encoding support
10410           Enables Variable BitRate mode, which does set FrameRate and RateControl
10411           parameters.
10412           https://bugzilla.gnome.org/show_bug.cgi?id=778732
10413
10414 2017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
10415
10416         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10417           libs: encoder: Describes more detail about the bitrate property
10418           https://bugzilla.gnome.org/show_bug.cgi?id=778732
10419
10420 2017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10421
10422         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10423           libs: encoder: h265: add rate control parameter
10424           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10425
10426 2017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10427
10428         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10429         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10430         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10431           libs: encoder: h264,h265,mpeg2: add framerate parameter
10432           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10433
10434 2017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10435
10436         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10437         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10438         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10439         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10440           libs: encoder: vp8,h264,h265,mpeg2: set misc param once
10441           Instead of recalculating the miscellaneous buffer parameters for
10442           every buffer, it is only done once, when the encoder is configured.
10443           And for every buffer, the same structures are just copied.
10444           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10445
10446 2017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10447
10448         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10449         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10450         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10451         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10452         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10453         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10454           libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
10455           This is patch pretends to decouple the assignation of the values
10456           in the parameter structures and the VA buffer's parameters setting.
10457           It may lead to some issues since HRD, framerate or controlrate may
10458           not be handled by the specific encoder, but they are set in
10459           the VA buffer's parameters.
10460           I leave as it because this patch is just a transitional patch.
10461           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10462
10463 2017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10464
10465         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10466           libs: encoder: vp8: fix frame rate calculation
10467           According to the VA documentation:
10468           The framerate is specified as a number of frames per second,
10469           as a fraction.  The denominator of the fraction is given in
10470           the top half (the high two bytes) of the framerate field, and
10471           the numerator is given in the bottom half (the low two bytes).
10472           For example, if framerate is set to (100 << 16 | 750), this is
10473           750 / 100, hence 7.5fps.
10474           If the denominator is zero (the high two bytes are both zero)
10475           then it takes the value one instead, so the framerate is just
10476           the integer in the low 2 bytes.
10477           This patch fixes the the framerate calculation in vp8 encoder
10478           according to this.
10479           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10480
10481 2017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10482
10483         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10484           libs: encoder: vp8: refactor FrameRate parameter
10485           Move frame-rate parameter from ensure_misc_params() to
10486           ensure_contro_rate_param() since it only has meaning when the
10487           control rate is either VBR or CBR.
10488           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10489
10490 2017-06-02 19:33:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10491
10492         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10493         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10494         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10495         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10496           libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
10497           Move the Hypothetical Reference Decoder (HRD) parameter, from
10498           ensure_misc_params() to ensure_control_rate_params(), since it
10499           only shall be defined when the control rate is either VBR or CBR.
10500           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10501
10502 2017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10503
10504         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10505         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10506         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10507           libs: encoder: h264,vp8,mpeg2: refactor control rate
10508           Instead of filling the control rate param in ensure_misc_params(),
10509           this patch refactor it out, as a first step to merge the same code
10510           for all the encoders.
10511           https://bugzilla.gnome.org/show_bug.cgi?id=783449
10512
10513 2017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10514
10515         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10516         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10517         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10518           libs: encoder: h264, h265, mpeg2: remove assert
10519           Remove spurious asserts for misc parameters. If they cannot be
10520           allocated, FALSE is already returned.
10521
10522 2017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10523
10524         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10525         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10526           libs: encoder: use VA quality level structure
10527           Instead of using a proxy to story the buffer quality level, the
10528           encoder now uses the native VA structure, which is copied to the
10529           dynamically allocated VAEncMiscParameterBuffer.
10530           This approach is computationally less expensive.
10531
10532 2017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10533
10534         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10535         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
10536         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10537         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10538           libs: standardize the FIXME comment
10539           This is a trivial patch that makes homogeneous the FIXME tag in
10540           comments.
10541           For more info about these comment style:
10542           http://wiki.c2.com/?FixmeComment
10543
10544 2017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
10545
10546         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10547           libs: encoder: vp8: set quality level regardless of rate control mode
10548           https://bugzilla.gnome.org/show_bug.cgi?id=782957
10549
10550 2017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10551
10552         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10553         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10554         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10555         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10556           libs: encoder: check for maximum number of slices
10557           Right now, H264 and HEVC can set as a property the number of slices to
10558           process. But each driver can set a maximum number of slices, depending
10559           on the supported profile & entry point.
10560           This patch verifies the current num_slices to process against the maximum
10561           permitted by the driver and the media size.
10562           https://bugzilla.gnome.org/show_bug.cgi?id=780955
10563
10564 2017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10565
10566         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
10567           libs: utils: mark functions as internals
10568           The functions in this header are internal to the library.
10569
10570 2017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10571
10572         * gst-libs/gst/vaapi/gstvaapicontext.h:
10573           libs: context: add missing documentation
10574           Document the region-of-interest configuration variables.
10575
10576 2017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10577
10578         * tests/elements/test-vaapisink.c:
10579           tests: elements: vaapisink: handle nav events
10580           The test app can now handle navigation events to rotate the
10581           display.
10582
10583 2017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10584
10585         * tests/elements/test-vaapisink.c:
10586           tests: elements: clean up vaapisink test
10587           - Use gst_element_send_event() instead of gst_pad_push_event()
10588           - don't zero App structure
10589           - check for pipeline parsing error
10590           - only get vaapisink for property set
10591
10592 2017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
10593
10594         * gst/vaapi/gstvaapisink.c:
10595           vaapisink: keep handle_events flag except that if user want to set
10596           When state of vaapisink is changed from PLAYING to NULL, the handle_events
10597           flag is set to FALSE, and never recovered, and then event thread is never
10598           going to run.
10599           So we should allow to set the flag only when users try it.
10600           https://bugzilla.gnome.org/show_bug.cgi?id=782543
10601
10602 2017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
10603
10604         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
10605           libs: window: x11: fix src rect info when using vpp
10606           Since we started using VPP in VaapiWindowX11, we need to care about
10607           the case that src rect and window's size are different.
10608           So, once VPP has converted to other format, we should honor the
10609           size of the VPP's surface as source rect. Otherwise, it is cropped
10610           according the previous size of the source rect.
10611           https://bugzilla.gnome.org/show_bug.cgi?id=782542
10612
10613 2017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10614
10615         * gst/vaapi/gstvaapipluginutil.c:
10616           plugins: remove par from caps negotiation
10617           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10618
10619 2017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
10620
10621         * tests/elements/Makefile.am:
10622         * tests/elements/test-roi.c:
10623           tests: elements: add an example for ROI
10624           This implements a pipleint to recognize difference between ROI and non-ROI.
10625           See comments in this code in detail.
10626           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10627           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10628
10629 2017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
10630
10631         * gst/vaapi/gstvaapiencode.c:
10632         * gst/vaapi/gstvaapiencode_h264.c:
10633           vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
10634           Handles new custom event GstVaapiEncoderRegionOfInterest
10635           to enable/disable a ROI region.
10636           Writes a way to use new event to document.
10637           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10638           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10639
10640 2017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
10641
10642         * tests/simple-encoder.c:
10643           tests: simple-encoder: add an option to set ROI
10644           $ simple-encoder -r inputfile.y4m
10645           And you'll got an output file in H264 with two regions of interest.
10646           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10647           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10648
10649 2017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
10650
10651         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10652           libs: encoder: h264: set ROI params during encoding
10653           Set ROI params during encoding each frame, which are set via
10654           gst_vaapi_encoder_add_roi ()
10655           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10656           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10657
10658 2017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
10659
10660         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10661         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10662         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10663           libs: encoder: add api gst_vaapi_encoder_add/del_roi
10664           Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
10665           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10666
10667 2017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
10668
10669         * gst-libs/gst/vaapi/gstvaapicontext.c:
10670         * gst-libs/gst/vaapi/gstvaapicontext.h:
10671         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10672           libs: encoder/context: query region of interest support
10673           Queries if the driver supports "Region of Interest" (ROI) during the config
10674           creation.
10675           This attribute conveys whether the driver supports region-of-interest (ROI)
10676           encoding, based on user provided ROI rectangles.  The attribute value is
10677           partitioned into fields as defined in the VAConfigAttribValEncROI union.
10678           If ROI encoding is supported, the ROI information is passed to the driver
10679           using VAEncMiscParameterTypeROI.
10680           https://bugzilla.gnome.org/show_bug.cgi?id=768248
10681           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10682
10683 2017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10684
10685         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10686           libs: encoder: fix a comment
10687
10688 2017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10689
10690         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10691           libs: encoder: guard quality level configuration
10692           The quality level appeared in VA-API 0.36. So let's guard its
10693           usage.
10694
10695 2017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10696
10697         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10698         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10699         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10700         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10701         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10702         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10703         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
10704         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10705         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10706           encoders: add quality level tuning
10707           This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
10708           in gstreamer-vaapi encoders:
10709           The encoding quality could be set through this structure, if the
10710           implementation supports multiple quality levels. The quality level set
10711           through this structure is persistent over the entire coded sequence, or
10712           until a new structure is being sent. The quality level range can be queried
10713           through the VAConfigAttribEncQualityRange attribute. A lower value means
10714           higher quality, and a value of 1 represents the highest quality. The quality
10715           level setting is used as a trade-off between quality and speed/power
10716           consumption, with higher quality corresponds to lower speed and higher power
10717           consumption.
10718           The quality level is set by the element's parameter "quality-level" with a
10719           hard-coded range of 1 to 8.
10720           Later, when the encoder is configured in run time, just before start
10721           processing, the quality level is scaled to the codec range. If
10722           VAConfigAttribEncQualityRange is not available in the used VA backend, then
10723           the quality level is set to zero, which means "disabled".
10724           All the available codecs now process this parameter if it is available.
10725           https://bugzilla.gnome.org/show_bug.cgi?id=778733
10726           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10727
10728 2017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
10729
10730         * configure.ac:
10731         * meson.build:
10732           Back to development
10733
10734 === release 1.12.0 ===
10735
10736 2017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
10737
10738         * ChangeLog:
10739         * NEWS:
10740         * configure.ac:
10741         * gstreamer-vaapi.doap:
10742         * meson.build:
10743           Release 1.12.0
10744
10745 2017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10746
10747         * gst/vaapi/gstvaapidecodebin.c:
10748           Revert "vaapidecodebin: fix element's classification"
10749           This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
10750
10751 2017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
10752
10753         * configure.ac:
10754         * meson.build:
10755           build: Require libva < 0.99.0
10756           libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
10757           fail to configure instead of failing late in the build.
10758           This libva is bundled in msdk[1] and it is ahead in time with
10759           respect the official and open source libva[2]. GStreamer-VAAPI
10760           only supports the latter for now.
10761           1. https://software.intel.com/en-us/media-sdk/download
10762           2. https://github.com/01org/libva/
10763           https://bugzilla.gnome.org/show_bug.cgi?id=781866
10764
10765 2017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
10766
10767         * gst/vaapi/gstvaapidecodebin.c:
10768           vaapidecodebin: fix element's classification
10769           This bin should have similar classification as decodebin which is
10770           "Generic/Bin/Decoder" otherwise it will appear wrongly as video
10771           decoder.
10772           Signed-off-by: Victor Toso <victortoso@redhat.com>
10773           https://bugzilla.gnome.org/show_bug.cgi?id=782063
10774
10775 === release 1.11.91 ===
10776
10777 2017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
10778
10779         * ChangeLog:
10780         * NEWS:
10781         * configure.ac:
10782         * gstreamer-vaapi.doap:
10783         * meson.build:
10784           Release 1.11.91
10785
10786 2017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10787
10788         * gst/vaapi/gstvaapipluginutil.c:
10789           Revert "plugins: reject pixel-aspect-ratio with value 0/1"
10790           This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
10791
10792 2017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10793
10794         * gst/vaapi/gstvaapipluginutil.c:
10795           plugins: reject pixel-aspect-ratio with value 0/1
10796           Do not negotiate a pixel-aspect-ratio of 0/1.
10797           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10798
10799 2017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10800
10801         * gst/vaapi/gstvaapipostprocutil.c:
10802         * gst/vaapi/gstvaapisink.c:
10803           plugins: handle pixel-aspect-ratio with value 0/1
10804           When downstream negotiates a pixel-aspect-ratio of 0/1, the
10805           calculations for resizing and formatting in vaapipostproc and
10806           vaapisink, respectively, failed, and thus the pipeline.
10807           This patch handles this situation by converting p-a-r of 0/1 to
10808           1/1. This is how other sinks, such as glimagesink, work.
10809           https://bugzilla.gnome.org/show_bug.cgi?id=781759
10810
10811 2017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
10812
10813         * gst/vaapi/gstvaapivideobufferpool.c:
10814           vaapivideobufferpool: fix leak of created allocator
10815           Since it's created by itself, it should be unref-counted
10816           after gst_buffer_pool_config_set_allocator call. Afterwards,
10817           this allocator will be ref-counted again when assigning to priv->allocator.
10818           https://bugzilla.gnome.org/show_bug.cgi?id=781577
10819
10820 2017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10821
10822         * gst/vaapi/gstvaapivideobufferpool.c:
10823           vaapivideobufferpool: create or reconfig allocator
10824           Sometimes a video decoder could set different buffer pool
10825           configurations, because their frame size changes. In this case we
10826           did not reconfigure the allocator.
10827           This patch enables this use case, creating a new allocator inside
10828           the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
10829           If so, it is just reconfigured, since it doesn't have a surface pool.
10830           https://bugzilla.gnome.org/show_bug.cgi?id=781577
10831
10832 2017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10833
10834         * tests/elements/Makefile.am:
10835           test: elements: fix compilation flags
10836           This issue was spotten on bug #766704
10837           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
10838
10839 2017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
10840
10841         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10842           libs: windows: wayland: fix leak if failure of sync
10843           Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
10844           during destruction.
10845           In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
10846           This surface is not attached to anything at this moment, so we should release
10847           it manually.
10848           https://bugzilla.gnome.org/show_bug.cgi?id=781695
10849
10850 2017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
10851
10852         * common:
10853           Automatic update of common submodule
10854           From 60aeef6 to 48a5d85
10855
10856 2017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
10857
10858         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10859           libs: window: wayland: mark frames as done
10860           When the frame listener callbacks 'done', the number of pending
10861           frames are decreased. Nonetheless, there might be occasions where
10862           the buffer listener callbacks 'release', without calling previously
10863           frame's 'done'. This leads to problem with
10864           gst_vaapi_window_wayland_sync() operation.
10865           This patch marks as done those frames which were callbacked, but if
10866           the buffer callbacks 'release' and associated frame is not marked
10867           as 'done' it is so, thus the number of pending frames keeps correct.
10868           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10869           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10870
10871 2017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10872
10873         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10874           libs: window: wayland: don't sync at destroy()
10875           Don't call gst_vaapi_window_wayland_sync() when destroying the
10876           wayland window instance, since it might lead to a lock at
10877           gst_poll_wait() when more than one instances of vaapisink are
10878           rendering in the same pipeline, this is because they share the
10879           same window.
10880           Since now all the frames are freed we don't need to freed the
10881           private last_frame, since its address is invalid now.
10882           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10883           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
10884
10885 2017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
10886
10887         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10888           libs: window: wayland: null buffer at destroy()
10889           Fix leakage of the last wl buffer.
10890           VAAPI wayland sink needs to send a null buffer while destruction,
10891           it assures that all the wl buffers are released. Otherwise, the last
10892           buffer's callback might be not called, which leads to leak of
10893           GstVaapiDisplay.
10894           This was inspired by gstwaylandsink.
10895           https://bugzilla.gnome.org/show_bug.cgi?id=774029
10896           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10897
10898 2016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
10899
10900         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10901           libs: window: wayland: rt event queue at destroy()
10902           The proxy object of wl_buffer for the last frame remains in the
10903           wl_map. Even though we call wl_buffer_destroy() in
10904           frame_release_callback(), the proxy object remains without being
10905           removed, since proxy object is deleted when wayland server sees the
10906           delete request and sends 'delete_id' event.
10907           We need to call roundtrip before destroying event_queue so that the
10908           proxy object is removed. Otherwise, it would be mess up as receiving
10909           'delete_id' event from previous play, when playing in the next
10910           va/wayland window with the same wl_display connection.
10911           https://bugzilla.gnome.org/show_bug.cgi?id=773689
10912           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10913
10914 2017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10915
10916         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10917           libs: window: wayland: cancel read at poll message
10918           Always call wl_display_cancel_read() when an errno is set, but
10919           different to EAGAIN or EINTR.
10920           https://bugzilla.gnome.org/show_bug.cgi?id=780442
10921
10922 2017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
10923
10924         * gst/vaapi/gstvaapidecodebin.c:
10925         * gst/vaapi/gstvaapidecodebin.h:
10926           vaapidecodebin: skips configuration once it's done
10927           Skips configuration of creation of vpp/capsfilter and link them once it's done.
10928           Otherwise, it always fails when it's trying to re-start playback.
10929           https://bugzilla.gnome.org/show_bug.cgi?id=781573
10930
10931 2017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10932
10933         * gst/vaapi/gstvaapipostprocutil.c:
10934           vaapipostproc: fixes for memory leaks
10935           The use of gst_vaapi_value_set_format() and gst_structure_*_value()
10936           requires to clear the used GValue to avoid a memory leak.
10937
10938 2016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10939
10940         * gst/vaapi/gstvaapipluginbase.c:
10941         * gst/vaapi/gstvaapipluginbase.h:
10942           plugins: enable direct rendering with envvar
10943           Direct rendering (use vaDeriveImage rather than vaPutImage) has better
10944           performance in some Intel platforms (Haswell, for example) but in others
10945           (Skylake) is the opposite.
10946           In order to have some control, the patch enables the direct rendering
10947           through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
10948           Also it seems to generating some problems with gallium/radeon backend.
10949           See bug #779642.
10950           https://bugzilla.gnome.org/show_bug.cgi?id=775848
10951
10952 2017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
10953
10954         * gst/vaapi/gstvaapidecode.c:
10955           vaapidecode: Don't renegotiate on every flush
10956           If caps don't actually change, don't update the
10957           decoder and don't set the do_renego flag forcing
10958           downstream renegotiation
10959           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10960
10961 2017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
10962
10963         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10964           h264 decoder: Implement reset() for faster flush
10965           Implement a custom reset() function for faster flushes
10966           that just clear the reference pictures but don't reallocate
10967           the DPB or clear out SPS/PPS
10968           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10969
10970 2017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
10971
10972         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10973         * gst-libs/gst/vaapi/gstvaapidecoder.h:
10974         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10975         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10976         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10977         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
10978         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
10979         * gst/vaapi/gstvaapidecode.c:
10980           Implement decoder reset on flush, rather than recreating
10981           Clear decoders out on a flush but keep the same instance,
10982           rather than completely recreating them. That avoids
10983           unecessarily freeing and recreating surface pools
10984           and contexts, which can be quite expensive
10985           https://bugzilla.gnome.org/show_bug.cgi?id=781142
10986
10987 2017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10988
10989         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10990           libs: window: don't add an unused function
10991           The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
10992           a function that is never used, thus when compiling we might see
10993           this warning (clang):
10994           gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
10995           GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
10996           ^
10997           https://bugzilla.gnome.org/show_bug.cgi?id=759533
10998
10999 2017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11000
11001         * gst-libs/gst/vaapi/gstvaapiwindow.c:
11002         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
11003           libs: window: remove surface_format member
11004           Since we always convert to NV12, there is no need to keep a
11005           variable for that. Let us hard code it.
11006           https://bugzilla.gnome.org/show_bug.cgi?id=759533
11007
11008 2017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
11009
11010         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11011         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
11012         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
11013           libs: window: x11/wayland: use new api for conversion
11014           Since gst_vaapi_window_vpp_convert_internal is created,
11015           GstVaapiWindowX11/Wayland can use it for conversion.
11016           Note that once it chooses to use vpp, it's going to use vpp
11017           until the session is finished.
11018           https://bugzilla.gnome.org/show_bug.cgi?id=759533
11019
11020 2017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
11021
11022         * gst-libs/gst/vaapi/gstvaapiwindow.c:
11023         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
11024           libs: window: add gst_vaapi_window_vpp_convert_internal()
11025           If a backend doesn't support specific format, we can use vpp for conversion
11026           and make it playing.
11027           This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
11028           so that GstVaapiWindowX11 could use it.
11029           https://bugzilla.gnome.org/show_bug.cgi?id=759533
11030
11031 2017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
11032
11033         * gst-libs/gst/vaapi/gstvaapiwindow.c:
11034         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
11035         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11036         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
11037         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
11038           libs: window: x11/wayland: chaining up to GstVaapiWindow
11039           Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
11040           This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
11041           https://bugzilla.gnome.org/show_bug.cgi?id=759533
11042
11043 2017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11044
11045         * gst/vaapi/gstvaapipluginutil.c:
11046           plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
11047           When these definitions are false, they are undef in the
11048           preprocessor, not a defined value of 0. When they are unset the
11049           compile fails with:
11050           'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
11051           https://bugzilla.gnome.org/show_bug.cgi?id=780948
11052
11053 2017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
11054
11055         * common:
11056           Automatic update of common submodule
11057           From 39ac2f5 to 60aeef6
11058
11059 === release 1.11.90 ===
11060
11061 2017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
11062
11063         * ChangeLog:
11064         * NEWS:
11065         * configure.ac:
11066         * gstreamer-vaapi.doap:
11067         * meson.build:
11068           Release 1.11.90
11069
11070 2017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11071
11072         * gst/vaapi/gstvaapiencode_h265.c:
11073           vaapiencode: h265: add main-10 in caps template
11074           This patch adds h265's main-10 profile in encoder src caps template.
11075           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11076
11077 2017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11078
11079         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11080           libs: encoder: h265: chroma and luma with format
11081           If the profile is main-10 the bit_depth_luma_minus8, in the sequence
11082           parameter buffer, shall be the color format bit depth minus 8, 10-8
11083           which is 2. Also for bit_depth_chroma_minus8.
11084           This patch gets the negotiated sink caps format and queries its
11085           luma's depth and uses that value to fill the mentioned parameters.
11086           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11087
11088 2017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11089
11090         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11091           libs: encoder: admit YUV420_10BPP as valid chroma
11092           Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
11093           type.
11094           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11095
11096 2017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11097
11098         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11099           libs: encoder: h265: ensures profile given format
11100           Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
11101           configured color format is P010_10LE.
11102           Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
11103           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11104
11105 2017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11106
11107         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11108           libs: encode: merge all possible surface formats
11109           When the function gst_vaapi_encoder_get_surface_formats() was added
11110           it was under the assumption that any VA profile of the specific codec
11111           supported the same format colors. But it is not, for example the
11112           profiles that support 10bit formats.
11113           In other words, different VA profiles of a same codec may support
11114           different color formats in their upload surfaces.
11115           In order to expose all the possible color formats, if no profile is
11116           specified via source caps, or if the encoder doesn't have yet a
11117           context, all the possible VA profiles for the specific codec are
11118           iterated and their color formats are merged.
11119           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11120
11121 2017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11122
11123         * gst/vaapi/gstvaapiencode.c:
11124         * gst/vaapi/gstvaapiencode.h:
11125         * gst/vaapi/gstvaapiencode_h264.c:
11126         * gst/vaapi/gstvaapiencode_h265.c:
11127           vaapiencode: add get_profile() vmethod
11128           This new virtual method, get_profile(), if implemented by specific
11129           encoders, will return the VA profile potentially determined by the
11130           source caps.
11131           Also it is implemented by h264 and h265 encoders, which are the main
11132           users of this vmethod.
11133           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11134
11135 2017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11136
11137         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11138         * gst-libs/gst/vaapi/gstvaapiencoder.h:
11139         * gst/vaapi/gstvaapiencode.c:
11140           libs: encoder: pass profile to get_surface_formats()
11141           In order to get the supported surface formats within a specific
11142           profile this patch adds the GstVaapiProfile as property to
11143           gst_vaapi_encoder_get_surface_formats().
11144           Currently the extracted formats are only those related with the
11145           default profile of the element's codec.
11146           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11147
11148 2017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11149
11150         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11151           libs: encoder: dummy context for get_surface_formats()
11152           Instead of creating (if it doesn't exist, yet) the encoder's context
11153           the method gst_vaapi_encoder_get_surface_formats() now it creates
11154           dummy contexts, unless the encoder has it already created.
11155           The purpose of this is to avoid setting a encoder's context with a
11156           wrong profile.
11157           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11158
11159 2017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11160
11161         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11162           libs: encoder: refactor init_context_info()
11163           In order to generate vaapi contexts iterative, the function
11164           init_context_info() is refactored to pass, as parameters the
11165           GstVaapiContextInfo and the GstVaapiProfile.
11166           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11167
11168 2017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11169
11170         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11171         * gst-libs/gst/vaapi/gstvaapiutils.c:
11172         * gst-libs/gst/vaapi/gstvaapiutils.h:
11173           libs: encoder: initialize chroma_type
11174           Instead of initialize the chroma_type with a undefined value, which
11175           will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
11176           this patch queries the VA config, given the received
11177           GstVaapiContextInfo's parameters, and gets the first response.
11178           In order to get the GstVaapiChromaType value, also it was needed to
11179           add a new utility function: to_GstVaapiChromaType(), which, given a
11180           VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
11181           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11182
11183 2017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11184
11185         * gst/vaapi/gstvaapiencode.c:
11186           vaapiencode: enhance logs of negotiated caps
11187           https://bugzilla.gnome.org/show_bug.cgi?id=771291
11188
11189 2017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11190
11191         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
11192           libs: encoder: vp9: Fix initialization of ref_list
11193           gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
11194           'memset' used with length equal to number of elements without
11195           multiplication by element size [-Werror=memset-elt-size]
11196           https://bugzilla.gnome.org/show_bug.cgi?id=780947
11197
11198 2017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11199
11200         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11201           encoder: h264: Fix Backward ReferencePicture flag setting
11202           This is a regression introduced by e829b62 which
11203           override the reference flags and caused issues with
11204           latest intel-vaapi-driver.
11205
11206 2017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11207
11208         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11209           libs: encoder: h265: fix code style
11210           Trivial patch to remove a double ';' as end of instruction.
11211
11212 2017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11213
11214         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11215           encoder: h264: Fix B frame encoding artifacts
11216           The current implementation is updating the POC values only
11217           in Slice parameter Buffer.But we are not filling the
11218           picture order count and reference flags in VAPictureH264
11219           while populating VA Picture/Slice structures.The latest
11220           intel-vaapi-driver is directly accessing the above fields
11221           from VAPicutreH264 provided as RefPicLists, which resulted
11222           some wrong maths and prediction errors in driver.
11223           https://bugzilla.gnome.org/show_bug.cgi?id=780620
11224
11225 2017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11226
11227         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11228           libs: encoder: h265: remove unused macro definition
11229           Since the h265 encoder doesn't use GValueArray, there is no need to
11230           disable the Glib deprecation warnings, thus removing the macro
11231           definition.
11232
11233 2017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11234
11235         * gst/vaapi/gstvaapidecode.c:
11236         * gst/vaapi/gstvaapiencode.c:
11237         * gst/vaapi/gstvaapipostproc.c:
11238         * gst/vaapi/gstvaapisink.c:
11239           plugins: when debug disabled, default category is NULL
11240           As in gstreamer-vaapi a common base class is used, the specific
11241           default category is passed to the base-plugin initializator, thus
11242           the log messages are categorized with the used plugin.
11243           Nonetheless, when the gst-debug is disabled in compilation time,
11244           it is needed to pass NULL to the base-plugin initializator. This
11245           patch does that.
11246           https://bugzilla.gnome.org/show_bug.cgi?id=780302
11247
11248 2017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
11249
11250         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11251         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11252         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
11253         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
11254           libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
11255           Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
11256           unit length and data to a bitwriter.
11257           Note that this helper function applies EPB (Emulation Prevention
11258           Bytes), since otherwise produced codec_data might be broken when
11259           decoder/parser considering EPB, starts parsing.
11260           See sections 7.3 and 7.4 of the H264 and H264 specifications, which
11261           describes the emulation_prevention_three_byte.
11262           https://bugzilla.gnome.org/show_bug.cgi?id=778750
11263           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11264
11265 2017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
11266
11267         * gst-libs/gst/vaapi/Makefile.am:
11268         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11269         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11270         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
11271         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
11272         * gst-libs/gst/vaapi/meson.build:
11273           libs: utils: h26x: create vaapiutils_h26x
11274           Since there is duplicated code in h264/265 encoder, we could
11275           refactor it to avoid duplicated code.
11276           https://bugzilla.gnome.org/show_bug.cgi?id=778750
11277           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11278
11279 2017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
11280
11281         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11282         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11283           libs: encoder: h264/5: fix wrong return value
11284           https://bugzilla.gnome.org/show_bug.cgi?id=778750
11285
11286 2017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
11287
11288         * gst/vaapi/gstvaapiencode_h264.c:
11289         * gst/vaapi/gstvaapiencode_h265.c:
11290           docs: h264/h265: put parser to the example pipeline
11291           https://bugzilla.gnome.org/show_bug.cgi?id=778749
11292
11293 2017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
11294
11295         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11296           libs: encoder: h265: fix reserved length of bits
11297           Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
11298           https://bugzilla.gnome.org/show_bug.cgi?id=778749
11299
11300 2017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11301
11302         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
11303         * tests/test-display.c:
11304           O_CLOEXEC needs _GNU_SOURCE defined
11305           From man open(2):
11306           The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
11307           in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
11308           2.12, one can obtain their definitions by defining either
11309           _POSIX_C_SOURCE with a value greater than or equal to 200809L or
11310           _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
11311           2.11 and earlier, one obtains the definitions by defining
11312           _GNU_SOURCE.
11313           And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
11314           _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
11315           gstreamer-vaapi with the uClibc C library.
11316           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11317           https://bugzilla.gnome.org/show_bug.cgi?id=779953
11318
11319 2017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11320
11321         * README:
11322           README: fix "Sources" section
11323           Update the URL where the release source tarballs can be downloaded.
11324
11325 2017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11326
11327         * README:
11328           README: fix "Reporting bugs" section
11329           The "Reporting bugs" section gives
11330           https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
11331           link to report a bug, but this link says "Sorry, entering a bug into the
11332           product gstreamer-vaapi has been disabled.".
11333           This commit fixes the URL to point to the proper location, and also
11334           removes the following paragraph that is no longer correct.
11335           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11336           https://bugzilla.gnome.org/show_bug.cgi?id=779954
11337
11338 2017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11339
11340         * gst/vaapi/gstvaapipluginutil.c:
11341           plugins: retry to create the VA display
11342           Particularly in GNOME Wayland, the negotiated or created GL context
11343           defines a GLX environment, but VAAPI fails to create a GLX VA
11344           display because there is no a DRI2 connection.
11345           This patch retries to create the VA display if VA cannot create one
11346           with the GL context parameters. Now using the old list of display
11347           types.
11348           This should also work in the case of systems with two GPU, when the
11349           non-VAAPI has the graphics environment, and the VAAPI-enabled one
11350           shall work headless.
11351           https://bugzilla.gnome.org/show_bug.cgi?id=772838
11352
11353 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
11354
11355         * gst/vaapi/gstvaapipostproc.c:
11356           vaapipostproc: texture upload if driver supports GL
11357           Removes GstVideoGLTextureUploadMeta caps feature if the driver
11358           doesn't support opengl.
11359           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11360           https://bugzilla.gnome.org/show_bug.cgi?id=772838
11361
11362 2016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11363
11364         * gst/vaapi/gstvaapidecode.c:
11365           vaapidecode: texture upload if driver supports GL
11366           When the allowed source pad caps are generated, the GLTextureUpload caps are
11367           only inserted if the driver support OpenGL.
11368           https://bugzilla.gnome.org/show_bug.cgi?id=772838
11369
11370 2017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11371
11372         * configure.ac:
11373           configure: Add missing compiler flags
11374           The AC_CHECK_HEADERS macro was failing to locate some headers, in
11375           particular the va_enc_* headers due to missing compiler flags.
11376           https://bugzilla.gnome.org/show_bug.cgi?id=779101
11377           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11378
11379 2017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
11380
11381         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11382           libs: window: wayland: handle more VAStatus to use vpp
11383           Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
11384           we should consider more returned VAStatus to use vpp.
11385           https://bugzilla.gnome.org/show_bug.cgi?id=779400
11386
11387 2017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
11388
11389         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11390           libs: encoder: ensure profile when context initialization
11391           We can't be sure that encoder's profile is assgined already or not
11392           at context initialization.
11393           https://bugzilla.gnome.org/show_bug.cgi?id=779120
11394
11395 2017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
11396
11397         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11398           libs: encoder: set rate control info only when query succeed
11399           Currently, it set rate control information even when query fails.
11400           In addition, it doesn't update any more since the flag
11401           got_rate_control_mask is set to TRUE.
11402           https://bugzilla.gnome.org/show_bug.cgi?id=779120
11403
11404 2017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
11405
11406         * meson.build:
11407           meson: Update version
11408
11409 2017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
11410
11411         * configure.ac:
11412           Back to development
11413
11414 === release 1.11.2 ===
11415
11416 2017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
11417
11418         * ChangeLog:
11419         * NEWS:
11420         * configure.ac:
11421         * gstreamer-vaapi.doap:
11422           Release 1.11.2
11423
11424 2017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11425
11426         * gst/vaapi/gstvaapiencode.c:
11427           vaapiencode: merge tags for downstream's info
11428           Add encoder and codec name and the bitrate into the output for
11429           informational purposes. Some muxers or application use it as
11430           media metadata.
11431           https://bugzilla.gnome.org/show_bug.cgi?id=778781
11432
11433 2017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11434
11435         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11436           libs: encoder: caps can change at any time
11437           The encoder should be able to change its caps even it is already
11438           processing a stream.
11439           This is suppose to happen after a flush so the codedbuf_queue should
11440           be empty.
11441           https://bugzilla.gnome.org/show_bug.cgi?id=775490
11442
11443 2017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11444
11445         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11446           libs: encoder: h265: bail if nal unit type fails
11447           Bail out if the NAL unit type is not recognized.
11448           https://bugzilla.gnome.org/show_bug.cgi?id=778782
11449
11450 2017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11451
11452         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11453         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11454           libs: decoder: h264,h265 avoid uninitialized variable
11455           Configuring GCC to verify possible usage of uninitialized variables,
11456           shows that found_index might be used without previous assignation.
11457           This patch assigns a initial value to found_index, also avoid a
11458           branching when returning the result value.
11459           https://bugzilla.gnome.org/show_bug.cgi?id=778782
11460
11461 2017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11462
11463         * configure.ac:
11464         * gst-libs/gst/vaapi/Makefile.am:
11465         * gst/vaapi/gstvaapidecode.c:
11466         * gst/vaapi/gstvaapidecodebin.c:
11467           build: rename USE_HEVC_DECODER to USE_H265_DECODER
11468           Rename to be consistent with H.264 and also H.265 encoder. The
11469           meson build assumed this was already consistently named, and so
11470           previously was not able to actually build the H.265 decoder.
11471           https://bugzilla.gnome.org/show_bug.cgi?id=778576
11472
11473 2017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
11474
11475         * meson.build:
11476           meson: gstreamer-codecparsers is a required dep
11477           Just like in configure.ac.
11478
11479 2017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
11480
11481         * Makefile.am:
11482           meson: dist meson build files
11483           Ship meson build files in tarballs, so people who use tarballs
11484           in their builds can start playing with meson already.
11485
11486 2017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
11487
11488         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11489           libs: encoder: vp8: add CBR encoding mode
11490           This patch enables the Constant BitRate encoding mode in VP8 encoder.
11491           Basically it adds the configuration parameters required by libva to
11492           CBR enconding.
11493           Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11494           https://bugzilla.gnome.org/show_bug.cgi?id=749950
11495
11496 2017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
11497
11498         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11499           libs: encoder: vp8: fix bitrate calculation
11500           Base encoder's unit of bitrate is in Kbps. We should honor it so
11501           we use the value of bitrate in VA, in which is expressed in bps.
11502           https://bugzilla.gnome.org/show_bug.cgi?id=749950
11503
11504 2017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11505
11506         * gst/vaapi/gstvaapipluginbase.c:
11507           plugins: fix build when gcc
11508           In commit a8e482f9 we added a function without parameters, but gcc
11509           doesn't like that.
11510
11511 2017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11512
11513         * gst-libs/gst/base/meson.build:
11514         * gst-libs/gst/meson.build:
11515         * gst-libs/gst/vaapi/meson.build:
11516         * gst-libs/meson.build:
11517         * gst/meson.build:
11518         * gst/vaapi/meson.build:
11519         * meson.build:
11520         * meson_options.txt:
11521           vaapi: add meson build
11522           https://bugzilla.gnome.org/show_bug.cgi?id=778250
11523
11524 2017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
11525
11526         * configure.ac:
11527         * gst-libs/gst/vaapi/Makefile.am:
11528         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11529         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
11530           make: remove gstvaapiversion.h generation
11531           https://bugzilla.gnome.org/show_bug.cgi?id=778250
11532
11533 2016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
11534
11535         * gst/vaapi/gstvaapipluginbase.c:
11536           plugins: use linear storage if not the same device
11537           When dmabuf is negotiated downstream and decoding and rendering are
11538           not done on the same device, the layout has to be linear in order for
11539           the memory to be shared accross devices, since each device has its
11540           own way to do tiling.
11541           Right now this code is rather just a to-do comment, since we are not
11542           fetching the device ids.
11543           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11544
11545 2017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
11546
11547         * gst-libs/gst/vaapi/gstvaapiutils.c:
11548           libs: utils: add HEVC profiles representation
11549           https://bugzilla.gnome.org/show_bug.cgi?id=778318
11550
11551 2017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
11552
11553         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11554           libs: decoder: h264: reduce frame number of gaps
11555           Reduce frame num gaps so that we don't have to create unnecessary
11556           dummy pictures, just throw them away.
11557           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11558           https://bugzilla.gnome.org/show_bug.cgi?id=777506
11559
11560 2016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11561
11562         * gst/vaapi/gstvaapidecode.c:
11563           vaapidecode: don't GLTextureUpload if dmabuf
11564           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
11565           element can handle dmabuf-based buffers, avoiding its negotiation.
11566
11567 2016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
11568
11569         * gst/vaapi/gstvaapidecode.c:
11570           vaapidecode: make pool to export decoder's surface
11571           Use new -base API gst_video_decoder_allocate_output_frame_full() to
11572           pass the current proxy/surface to the pool.
11573           The pool will will export thins given surface instead of exporting a
11574           brand new surface that will never be filled in with meaningfull data.
11575           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11576
11577 2017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11578
11579         * gst/vaapi/gstvaapipluginbase.c:
11580           plugins: decoder can negotiate dmabuf downstream
11581
11582 2016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
11583
11584         * gst/vaapi/gstvaapivideobufferpool.c:
11585           vaapivideobufferpool: override acquire_buffer()
11586           Overriding the vmethod acquire_buffer() it is possible to attach the
11587           right GstMemory to the current acquired buffer.
11588           As a matter of fact, this acquired buffer may contain any instantiated
11589           GstFdmemory, since this buffer have been popped out from the buffer
11590           pool, which is a FIFO queue. So there is no garantee that this buffer
11591           matches with the current processed surface. Evenmore, the VA driver
11592           might not use a FIFO queue. Therefore, it is no way to guess on the
11593           ordering.
11594           In short, acquire_buffer on the VA driver and on the buffer pool return
11595           none matching data, we have to manually attach the right GstFdMemory to
11596           the acquired GstBuffer. The right GstMemory is the one associated with
11597           the current surface.
11598           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11599
11600 2016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
11601
11602         * gst/vaapi/gstvaapivideobufferpool.c:
11603         * gst/vaapi/gstvaapivideomemory.c:
11604           vaapivideomemory: export surface if it is provided
11605           gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
11606           had to create that surface. Now it can also export an already provided
11607           surface. It is useful to export decoder's surfaces (from VA context).
11608           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11609
11610 2016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
11611
11612         * gst/vaapi/gstvaapivideobufferpool.h:
11613           vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
11614           Useful to let the pool know the current surface proxy when calling
11615           gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
11616           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11617
11618 2016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
11619
11620         * gst-libs/gst/vaapi/gstvaapisurface.c:
11621         * gst-libs/gst/vaapi/gstvaapisurface.h:
11622           libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
11623           These functions are useful when a dmabuf-based memory is instantiated in
11624           order to relate the generated buffer @proxy with the processed @surface.
11625           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11626
11627 2016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
11628
11629         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11630         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11631         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
11632           libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
11633           This patch adds a GstMemory as a variable member of the buffer proxy,
11634           because we will need to associate the buffer proxy with the memory
11635           which exposes it. Later, we will know which memory, in the video buffer
11636           pool, is attached to the processed surface.
11637           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11638
11639 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
11640
11641         * gst/vaapi/gstvaapipostproc.c:
11642           vaapipostproc: don't GLTextureUpload if dmabuf
11643           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
11644           element can handle dmabuf-based buffers, avoiding its negotiation.
11645           Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
11646           feature if can dmabuf"
11647           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11648
11649 2016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11650
11651         * gst/vaapi/gstvaapipluginbase.c:
11652           plugins: enable DMAbuf allocator to downstream
11653           If the negotiated caps are raw caps and downstream supports the
11654           EGL_EXT_image_dma_buf_import extension, then the created allocator
11655           is the DMAbuf, configured to downstream.
11656           At this moment, the only element which can push dmabuf-based buffers
11657           to downstream, is vaapipostproc.
11658
11659 2016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11660
11661         * gst/vaapi/gstvaapipluginbase.c:
11662         * gst/vaapi/gstvaapipluginbase.h:
11663           plugins: check if negotiate dmabuf with downstream
11664           In order to enable, in the future, dmabuf-based buffers, the vaapi base
11665           plugin needs to check if downstream can import dmabuf buffers.
11666           This patch checks if downstream can handle dmabuf, by introspecting the
11667           shared GL context. If the GL context is EGL/GLES2 and have the extension
11668           EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
11669           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
11670
11671 2016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
11672
11673         * gst/vaapi/gstvaapivideomemory.c:
11674           vaapivideomemory: release proxy's data if downstream
11675           The surface created for downstream is going to be filled by VAAPI
11676           elements. So, the driver needs write access on that surface.
11677           This patch releases the derived image held by the proxy, thus the
11678           surface is unmarked as busy.
11679           This is how it has to be done as discussed on libva mailing list.
11680           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11681
11682 2016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
11683
11684         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11685         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11686           libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
11687           Adds an API to request the user's data release in the buffer proxy.
11688           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11689
11690 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
11691
11692         * gst/vaapi/gstvaapipluginbase.c:
11693         * gst/vaapi/gstvaapivideomemory.c:
11694         * gst/vaapi/gstvaapivideomemory.h:
11695           vaapivideomemory: add direction to dmabuf allocator
11696           Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
11697           we later could do different thing when the allocated memory is for
11698           upstream or dowstream, as required by VA-API.
11699           https://bugzilla.gnome.org/show_bug.cgi?id=755072
11700
11701 2016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
11702
11703         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
11704           libs: utils: return NULL if failed to get surface formats
11705           Thus, when generating the allowed caps, the element will throw a
11706           warning and it will use its caps template.
11707           This behavior might be a bug in the VA driver.
11708           https://bugzilla.gnome.org/show_bug.cgi?id=775490
11709
11710 2015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11711
11712         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11713           Revert "vaapidisplay: mark X11 display as compatible with EGL"
11714           This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
11715
11716 2017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
11717
11718         * gst/vaapi/gstvaapipostproc.c:
11719           vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
11720           A value of width/height property should be set to out caps,
11721           if negotiation had been going properly.
11722           So we can use srcpad_info when making decision of scaling.
11723           https://bugzilla.gnome.org/show_bug.cgi?id=778010
11724
11725 2017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11726
11727         * gst/vaapi/gstvaapidecode.c:
11728         * gst/vaapi/gstvaapiencode.c:
11729         * gst/vaapi/gstvaapipluginutil.c:
11730         * gst/vaapi/gstvaapipluginutil.h:
11731         * gst/vaapi/gstvaapipostproc.c:
11732         * gst/vaapi/gstvaapisink.c:
11733           plugins: handle GL params through context query
11734           If the element instantiated the GL display and context, they should
11735           handle them too through the context query.
11736           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11737
11738 2017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11739
11740         * gst/vaapi/gstvaapipluginbase.c:
11741         * gst/vaapi/gstvaapipluginbase.h:
11742         * gst/vaapi/gstvaapipluginutil.c:
11743           plugins: create a GL context on certain conditions
11744           If a GstVaapiDisplay is not found in the GStreamer context sharing,
11745           then VAAPI elements look for a local GstGLContext in gst context
11746           sharing mechanism ('gst.gl.local.context').
11747           If this GstGLContext not found either then, only the VAAPI decoders
11748           and the VAAPI post-processor, will try to instantiate a new
11749           GstGLContext.
11750           If a valid GstGLContext is received, then a new GstVaapiDisplay will
11751           be instantiated with the platform, API and windowing specified by the
11752           instantiated GstGLContext.
11753           Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
11754           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11755
11756 2016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11757
11758         * gst/vaapi/gstvaapivideocontext.c:
11759           vaapivideocontext: context type can be rejected
11760           Instead of calling g_return_val_if_fail() to check the context type, we
11761           should use a normal conditional, since it is possible that other context types
11762           can arrive and try to be assigned. Otherwise a critical log message is
11763           printed.
11764           This happens when we use playbin3 with vaapipostproc as video-filter.
11765           https://bugzilla.gnome.org/show_bug.cgi?id=777409
11766
11767 2017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11768
11769         * gst/vaapi/gstvaapipostprocutil.c:
11770           vaapipostproc: use sink caps par if not requested
11771           Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
11772           is not already set.
11773           https://bugzilla.gnome.org/show_bug.cgi?id=777395
11774
11775 2017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11776
11777         * gst/vaapi/gstvaapipostproc.c:
11778         * gst/vaapi/gstvaapipostprocutil.c:
11779           vaapipostproc: set interlace mode
11780           if the vaapipostproc is configured to not do deinterlacing, the
11781           interlace-mode in the src caps should be the same as the input caps.
11782           https://bugzilla.gnome.org/show_bug.cgi?id=777395
11783
11784 2017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11785
11786         * gst/vaapi/gstvaapisink.c:
11787           vaapisink: fix gcc compiler warning
11788           warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
11789
11790 2017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11791
11792         * gst/vaapi/gstvaapisink.c:
11793           vaapisink: don't use member variable outside lock
11794           Thus a race condition segfault is avoided.
11795           Original-patch-by: Matt Staples <staples255@gmail.com>
11796           https://bugzilla.gnome.org/show_bug.cgi?id=777146
11797
11798 2017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11799
11800         * gst/vaapi/gstvaapipluginbase.c:
11801         * gst/vaapi/gstvaapipostproc.c:
11802           plugins: avoid log flood when activating pool
11803           Every time a new buffer is allocated, the pool is activated. This
11804           doesn't impact in performance since gst_buffer_pool_set_active()
11805           checks the current state of the pool. Nonetheless it logs out a
11806           message if the state is the same, and it floods the logging subsystem
11807           if it is enabled.
11808           To avoid this log flooding first the pool state is checked before
11809           changing it.
11810
11811 2017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11812
11813         * gst-libs/gst/vaapi/gstvaapidecoder.c:
11814         * gst-libs/gst/vaapi/gstvaapidecoder.h:
11815         * gst/vaapi/gstvaapidecode.c:
11816         * gst/vaapi/gstvaapidecode.h:
11817           vaapidecode: update internal decoder sink caps
11818           When a new sink caps arrive the internal decoder state is updated
11819           and, if it is, request a downstream renegotiation.
11820           Previously, when new caps arrived the whole decoder where destroyed
11821           and recreated. Now, if the caps are compatible or has the same codec,
11822           the internal decoder is kept, but a downstream renegotiation is
11823           requested.
11824           https://bugzilla.gnome.org/show_bug.cgi?id=776979
11825
11826 2017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
11827
11828         * configure.ac:
11829           Back to development
11830
11831 === release 1.11.1 ===
11832
11833 2017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
11834
11835         * ChangeLog:
11836         * NEWS:
11837         * configure.ac:
11838         * gstreamer-vaapi.doap:
11839           Release 1.11.1
11840
11841 2017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11842
11843         * gst-libs/gst/vaapi/gstvaapiutils.c:
11844           vaapi: bump ifdef to API 0.40.0 for log redirect
11845           vaSetInfoCallback() is not released yet. It is going to appear in
11846           VA-API 0.40.0
11847
11848 2017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
11849
11850         * gst-libs/gst/vaapi/gstvaapiutils.c:
11851           vaapiutils: Fix compilation with latest and previous libva releases
11852           vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
11853           0.39.5 instead.
11854
11855 2017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11856
11857         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11858         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
11859         * gst-libs/gst/vaapi/gstvaapiutils.c:
11860         * gst-libs/gst/vaapi/gstvaapiutils.h:
11861           libs: display: redirect logging at initialize
11862           Redirect libva's logs to GStreamer logging mechanism. This is
11863           particularly useful when VA is initialized, because it always logs
11864           out the drivers details.
11865           In order to achieve this a new helper function was added as a wrapper
11866           for the vaInitialize() function.
11867           https://bugzilla.gnome.org/show_bug.cgi?id=777115
11868
11869 2017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
11870
11871         * gst/vaapi/gstvaapipluginbase.c:
11872           plugins: provide at least two buffers in sink pool
11873           Adds two buffers as the default value of minimum buffer.
11874           This would be used when creating and proposing vaapi bufferpool for
11875           sink pad, hence the upstream element will keep, at least, these two
11876           buffers.
11877           https://bugzilla.gnome.org/show_bug.cgi?id=775203
11878           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11879
11880 2017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
11881
11882         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11883           libs: decoder: h264: don't update cloned attributes
11884           If the frame is a cloned picture, its PTS comes from its parent
11885           picture.  In addition, the base decoder doesn't set a valid PTS to
11886           the frame corresponding to the cloned picture.
11887           https://bugzilla.gnome.org/show_bug.cgi?id=774254
11888
11889 2017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11890
11891         * gst/vaapi/gstvaapivideomemory.c:
11892           vaapivideomemory: check for display
11893           This patch fixes the check of display, rather than check for the
11894           meta, which it is known it exists.
11895
11896 2017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11897
11898         * gst/vaapi/gstvaapivideomemory.c:
11899         * gst/vaapi/gstvaapivideomemory.h:
11900           vaapivideomemory: rename dmabuf allocator parameters
11901           Rename the parameters 'vip' and 'flags' to 'alloc_info' and
11902           'surface_alloc_flags' respectively. The purpose of this change is
11903           to auto-document those parameters.
11904           Also, aligned to this patch, the local 'alloc_info' variable was
11905           renamed as 'surface_info', because it stores the possible surface's
11906           video info, not the allocate one.
11907
11908 2017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11909
11910         * gst/vaapi/gstvaapivideomemory.c:
11911         * gst/vaapi/gstvaapivideomemory.h:
11912           vaapivideomemory: rename vip to alloc_info parameter
11913           In order to auto-document the code, this patch renames the 'vip'
11914           parameter in the functions related to gst_vaapi_video_allocator_new ()
11915           to 'alloc_info', since it declares the allocation video info from
11916           the vaapi buffer pool.
11917
11918 2017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11919
11920         * gst/vaapi/gstvaapivideomemory.c:
11921           vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
11922           Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
11923           the video format string.
11924
11925 2017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11926
11927         * gst/vaapi/gstvaapivideomemory.c:
11928           vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
11929           gst_vaapi_surface_new_with_format() is a wrapper for
11930           gst_vaapi_surface_new_full (). In this case, the former is simpler
11931           than the first. This patch changes that.
11932
11933 2017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
11934
11935         * gst/vaapi/gstvaapipostproc.c:
11936           vaapipostproc: notify if src pad caps changed
11937           If src pad caps have changed, it needs to notify it downstream. In
11938           addition, do not set passthrough if they have changed.
11939           Otherwise, transform sometimes starts processing before caps change.
11940           The passthrough value will be set in fixate later in this case.
11941           https://bugzilla.gnome.org/show_bug.cgi?id=775204
11942
11943 2016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11944
11945         * gst/vaapi/gstvaapidecodebin.c:
11946           vaapidecodebin: capsfilter to optimize negotiation
11947           Add a capsfilter forcing the caps
11948           "video/x-raw(memory:VASurface), format=(string)NV12" between the
11949           queue and the vaapipostproc so no renegotiation is required.
11950           https://bugzilla.gnome.org/show_bug.cgi?id=776175
11951
11952 2016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
11953
11954         * gst/vaapi/gstvaapivideomemory.c:
11955           vaapivideomemory: fail surface/image configuration
11956           To detect and handle errors during allocator_configure_surface_info()
11957           and allocator_conigure_image_info().
11958           https://bugzilla.gnome.org/show_bug.cgi?id=776084
11959           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11960
11961 2016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
11962
11963         * gst/vaapi/gstvaapisink.c:
11964           vaapisink: ensures raw caps at start()
11965           Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
11966           race conditions at get_caps(), especially with multiple src elements.
11967           https://bugzilla.gnome.org/show_bug.cgi?id=776303
11968
11969 2016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11970
11971         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11972           libs: surface: fix error handling code style
11973
11974 2016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11975
11976         * gst/vaapi/gstvaapivideomemory.c:
11977           vaapivideomemory: add gst_video_info_update_from_surface()
11978           With this function is possible to refactor and remove duplicated code
11979           between dmabuf configuration and direct rendering/uploading
11980           configuration.
11981
11982 2016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11983
11984         * gst/vaapi/gstvaapivideomemory.c:
11985           vaapivideomemory: no log object at initialization
11986           When an instance of GstVaapiVideoAllocator fails at initializing, the
11987           log message should not include the allocator's object, because it is
11988           going to be unrefed.
11989
11990 2016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11991
11992         * gst/vaapi/gstvaapidecode.c:
11993           vaapidecode: lock stream when setting caps
11994
11995 2016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11996
11997         * gst/vaapi/gstvaapidecode.c:
11998           Revert "vaapidecode: implement negotiate() vmethod"
11999           This reverts commit 3285121181295c544480fc6ba756845b16285d30.
12000           videodecode's negotiate() vmethod is also called when events arrive,
12001           but this would mean that the proper configuration of sink pad might
12002           not be complete, thus we should not update the src pad.
12003           Let's keep the old non-vmethod negotitate().
12004
12005 2016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12006
12007         * gst/vaapi/gstvaapi.c:
12008           Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
12009           This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
12010
12011 2016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
12012
12013         * gst/vaapi/gstvaapiencode.c:
12014         * gst/vaapi/gstvaapiencode.h:
12015           vaapiencode: get surface formats in get_caps()
12016           Query for the supported surface formats in config at get_caps() vmethod.
12017           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12018           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12019
12020 2016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
12021
12022         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12023         * gst-libs/gst/vaapi/gstvaapiencoder.h:
12024           libs: encoder: add gst_vaapi_encoder_get_surface_formats()
12025           This method will return the valid surface formats in the current
12026           config. If the are no VAConfig it is created with the information
12027           available.
12028           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12029           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12030
12031 2016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
12032
12033         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12034           libs: encoder: split set_context_info()
12035           Split set_context_info() adding init_context_info() which only
12036           initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
12037           required for VAConfig.
12038           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12039           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12040
12041 2016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
12042
12043         * gst-libs/gst/vaapi/gstvaapicontext.c:
12044           libs: context: skip VAContext if no frame size
12045           If GstVaapiContextInfo has just initial information, without frame's
12046           width and height, skip the creation of the VAContext, just keep the
12047           VAConfig.
12048           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12049           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12050
12051 2016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
12052
12053         * gst-libs/gst/vaapi/gstvaapicontext.c:
12054           libs: context: split context_create()
12055           Split the funcion context_create() into context_create() and
12056           config_create().
12057           Decoupling VAConfig and VAContext during context creation, we could
12058           query the VAConfig for the supported surface's formats without creating
12059           a VAContext.
12060           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12061
12062 2016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12063
12064         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12065           libs: drm: find render node in hybrid system
12066           Originally the drm backend only tried to open the first render node
12067           found. But in hybrid system this first render node might not support
12068           VA-API (propietary Nvidia driver, for example).
12069           This patch tries all the available nodes until a finding one with a
12070           VA-API supported driver.
12071           https://bugzilla.gnome.org/show_bug.cgi?id=774811
12072           Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
12073           Reza Razavi <reza@userful.com>
12074
12075 2016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12076
12077         * gst/vaapi/gstvaapivideomemory.c:
12078           vaapivideomemory: refactor code for readability
12079           Added the inlined function allocator_configure_pools() moving out code
12080           from gst_vaapi_video_allocator_new() to make clear that it is a
12081           post-initalization of the object.
12082
12083 2016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12084
12085         * gst/vaapi/gstvaapivideomemory.c:
12086           vaapivideomemory: log error if not VA image
12087           Log an error message if the test image for surface downloading
12088           cannot be allocated or mapped.
12089
12090 2016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12091
12092         * gst/vaapi/gstvaapivideomemory.c:
12093           vaapivideomemory: remove unused macros
12094           These macros are not used. Let us remove them.
12095
12096 2016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12097
12098         * gst/vaapi/gstvaapivideomemory.c:
12099         * gst/vaapi/gstvaapivideomemory.h:
12100           vaapivideomemory: rename video for allocation_info
12101           Since video_info stores the GstVideoInfo of the allocation caps,
12102           it is clear if we rename it as allocation_info, to distinguish it
12103           later from negotiation_info.
12104
12105 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
12106
12107         * gst/vaapi/gstvaapivideomemory.c:
12108         * gst/vaapi/gstvaapivideomemory.h:
12109           vaapivideomemory: add real GstVaapiDmaBufAllocator
12110           Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
12111           GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
12112           GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
12113           from GstDmaBufAllocator.
12114           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12115           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12116
12117 2016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
12118
12119         * gst/vaapi/gstvaapivideomemory.c:
12120           vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
12121           Add a helper function to initialize the gst_debug_vaapivideomemory,
12122           to use it either by the GstVaapiVideoAllocatorClass or
12123           GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
12124           Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
12125           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12126
12127 2016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
12128
12129         * gst/vaapi/gstvaapiencode.c:
12130           vaapiencode: release internal encoder at stop()
12131           As the internal encoder is created at start(), let's release it at
12132           stop() vmethod, to be consistent.
12133           gst_vaapiencode_destroy() is called since it also resets the input and
12134           output states, which is something that the base class does internally
12135           after calling stop() vmethod.
12136           https://bugzilla.gnome.org/show_bug.cgi?id=769266
12137           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12138
12139 2016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
12140
12141         * common:
12142           Automatic update of common submodule
12143           From f49c55e to 39ac2f5
12144
12145 2016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
12146
12147         * gst/vaapi/gstvaapiencode.c:
12148           vaapiencode: call ensure_encoder() at start()
12149           Currently, specific encoder is created during set_format(). This might
12150           lead to race condition when creating profiles with multiple encoders.
12151           This patch moves ensure_encoder() call to start() vmethod to ensure
12152           avoiding the race condition.
12153           https://bugzilla.gnome.org/show_bug.cgi?id=773546
12154
12155 2016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12156
12157         * gst/vaapi/gstvaapidecodebin.c:
12158           vaapidecodebin: bring back dynamic configuration
12159           In commit ca0c3fd6 we remove the dynamic configuration if the bin
12160           because we assumed that the bin will be always static as it is
12161           registered.
12162           Nonetheless we were wrong, because it is possible to request, with a
12163           property, to avoid the use of the post-processor.
12164           Since we want to add a way to disable the post-processor through
12165           environment variables, this remove feature is required again.
12166           If the environment variable GST_VAAPI_DISABLE_VPP is defined the
12167           postprocessor inside of the vaapidecodebin is disabled, then
12168           vaapidecodebin is an alias of the old vaapidecode.
12169           https://bugzilla.gnome.org/show_bug.cgi?id=775041
12170
12171 2016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12172
12173         * gst/vaapi/gstvaapidecode.c:
12174           vaapidecode: implement negotiate() vmethod
12175           Instead of decorating the negotiate() method, let us override it,
12176           so the stream is locked while called.
12177           https://bugzilla.gnome.org/show_bug.cgi?id=775040
12178
12179 2016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
12180
12181         * .gitmodules:
12182           common: use https protocol for common submodule
12183           https://bugzilla.gnome.org/show_bug.cgi?id=775110
12184
12185 2016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
12186
12187         * gst-libs/gst/vaapi/Makefile.am:
12188           build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
12189           In case libva-wayland has its headers not installed in default
12190           locations (like /usr/include), the build fails to include "wayland-client.h":
12191           CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
12192           In file included from gstvaapidisplay_wayland.h:27:0,
12193           from gstvaapidisplay_egl.c:35:
12194           /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
12195           #include <wayland-client.h>
12196           As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
12197           our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
12198           for libva-wayland.pc in configure and use this in other places as well. It is thus only
12199           correct and consequent, to do it also at this spot.
12200           https://bugzilla.gnome.org/show_bug.cgi?id=773946
12201
12202 2015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12203
12204         * gst/vaapi/gstvaapivideocontext.c:
12205           vaapivideocontext: log a message if no bus
12206           Raise a warning if there is no bus when the element tries to post a
12207           message.
12208
12209 2015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12210
12211         * gst/vaapi/gstvaapisink.c:
12212           vaapisink: create display at open()
12213           Instead of creating the VA display before setting the bus to the
12214           element, it is created when the element is opened.
12215           Basically, this commit is a revert of
12216           5e5d62cac79754ba60057fc2516135aad8d7de35
12217           That was done when the GStreamer's context sharing was not mature
12218           enough as now. There is no reason to keep this hack.
12219
12220 2016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12221
12222         * gst/vaapi/gstvaapidecode.c:
12223           vaapidecode: don't add video crop meta
12224           Since the differentiation of negotiation caps and allocation caps,
12225           there is no need to add a video crop meta with the negotiation caps.
12226           Hence, removing it.
12227           https://bugzilla.gnome.org/show_bug.cgi?id=773948
12228
12229 2015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12230
12231         * gst/vaapi/gstvaapivideobuffer.c:
12232         * gst/vaapi/gstvaapivideometa.c:
12233         * gst/vaapi/gstvaapivideometa.h:
12234           remove the video converter from vaapi buffer meta
12235           Since all the video converter were deprecated in gstreamer-1.2, we don't need
12236           to handle them anymore in the vaapi's buffer meta.
12237           This patch removes its usage and the buffer meta's API for that.
12238           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12239
12240 2016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12241
12242         * gst/vaapi/gstvaapipluginbase.c:
12243           plugins: destroy source pad allocator and pool
12244           First, deactivate source pad pool when the out caps change, and if so,
12245           destroy texture map, the source pad allocator and pool only if the
12246           new caps are different from the ones already set.
12247
12248 2016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12249
12250         * gst/vaapi/gstvaapipluginbase.c:
12251           plugins: don't destroy sink pad allocator
12252           Don't destroy sink pad allocator at _set_caps() because it will be done at
12253           ensure_sinkpad_buffer_pool() if it is required.
12254
12255 2016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12256
12257         * gst/vaapi/gstvaapipluginbase.c:
12258           plugins: first validate the out caps
12259           When calling _set_caps() first validate the out caps before doing
12260           anything else.
12261
12262 2016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12263
12264         * gst/vaapi/gstvaapidecode.c:
12265           vaapidecode: negotiate after destroying allocator
12266           This is related with bug 758907 when no vaapipostproc is used (no
12267           vaapidecodebin). In order to negotiate downstream we need to destroy
12268           the source pad allocator, otherwise the same allocated buffers are
12269           used, failing the mapping.
12270
12271 2016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12272
12273         * gst/vaapi/gstvaapivideomemory.c:
12274           vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
12275           Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
12276           GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
12277           was created.
12278           https://bugzilla.gnome.org/show_bug.cgi?id=774782
12279
12280 2016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12281
12282         * gst/vaapi/gstvaapipluginbase.c:
12283           plugins: update the src pad allocator video info
12284           Update the size, stride and offset of the source pad allocator video
12285           info, so the pool could set the correct GstVideoMeta
12286           https://bugzilla.gnome.org/show_bug.cgi?id=774782
12287
12288 2016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12289
12290         * gst/vaapi/gstvaapivideomemory.c:
12291           vaapivideomemory: add missing documentation
12292           https://bugzilla.gnome.org/show_bug.cgi?id=774782
12293
12294 2016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12295
12296         * gst/vaapi/gstvaapipluginbase.c:
12297           plugins: use early return without goto
12298           https://bugzilla.gnome.org/show_bug.cgi?id=774782
12299
12300 2016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12301
12302         * gst/vaapi/gstvaapipluginbase.c:
12303         * gst/vaapi/gstvaapivideomemory.c:
12304         * gst/vaapi/gstvaapivideomemory.h:
12305           plugins: add allocator to allocation query
12306           This patch adds the created allocator to the allocation query either
12307           in decide_allocation() and propose_allocation() vmehtods.
12308           With it, there's no need to set the modified allocator's size in the
12309           pool configuration.
12310           https://bugzilla.gnome.org/show_bug.cgi?id=774782
12311
12312 2016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
12313
12314         * gst/vaapi/gstvaapivideobufferpool.c:
12315           vaapivideobufferpool: set correct buffer size
12316           We should set the correct buffer size when we are configuring the pool,
12317           otherwise the buffer will be discarded when it returns to the pool.
12318           Indeed when the ref-count of a buffer reaches zero, its pool will queue
12319           it back (and ref it) if, and only if, the buffer size matches the
12320           configured buffer size on the pool.
12321           This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
12322           https://bugzilla.gnome.org/show_bug.cgi?id=774782
12323
12324 2016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12325
12326         * gst/vaapi/gstvaapivideomemory.c:
12327           vaapivideomemory: check for memory allocator
12328           When calling gst_vaapi_video_memory_copy() the allocator of the memory
12329           to copy should be allocated by the vaapi allocator.
12330           This patch does this verification.
12331
12332 2016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12333
12334         * gst/vaapi/gstvaapivideomemory.c:
12335           vaapivideomemory: code style fixes
12336           A cosmetic commit for enhance readability of the casts and method
12337           preconditions.
12338
12339 2016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12340
12341         * gst/vaapi/gstvaapivideomemory.c:
12342           vaapivideomemory: unroll gst_vaapi_video_allocator_free()
12343           Instead of having a gst_vaapi_video_memory_free() that is only going to
12344           be called by gst_vaapi_video_allocator_free(), let's just remove the first
12345           and merged into the second.
12346
12347 2016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12348
12349         * gst/vaapi/gstvaapivideomemory.c:
12350           vaapivideomemory: avoid virtual methods casting
12351           Use the expected virtual method signatures for readability.
12352
12353 2016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12354
12355         * gst/vaapi/gstvaapivideomemory.c:
12356           vaapivideomemory: remove unimplemented methods
12357           Remove unimplemented method for allocator mem_share() and mem_is_span().
12358
12359 2016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12360
12361         * gst/vaapi/gstvaapivideomemory.c:
12362           vaapivideomemory: fail if frame map can't get plane
12363           If map() vmethod in GstVideMeta cannot get the plane data, return false,
12364           thus the caller will not try to read invalid memory.
12365           https://bugzilla.gnome.org/show_bug.cgi?id=774213
12366
12367 2016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12368
12369         * gst/vaapi/gstvaapivideomemory.c:
12370         * gst/vaapi/gstvaapivideomemory.h:
12371           vaapivideomemory: lock map and unmap operations
12372           In order to avoid race condition when two threads call map/unmap the same
12373           VA surface, this patch mutex these operations.
12374           https://bugzilla.gnome.org/show_bug.cgi?id=774213
12375
12376 2016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12377
12378         * gst/vaapi/gstvaapivideomemory.c:
12379           vaapivideomemory: refactor vaapi memory unmapping
12380           There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
12381           gst_vaapi_video_memory_unmap() when unmapping.
12382           This patch refactors both methods adding the common function
12383           unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
12384           is correctly reset.
12385           Additionally, only when mapping flag has the WRITE bit, it set the image as
12386           current, which was done in gst_video_meta_map_vaapi_memory() but no in
12387           gst_vaapi_video_memory_map().
12388           In order to make this, the mapping flags were required, so instead of
12389           overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
12390           https://bugzilla.gnome.org/show_bug.cgi?id=774213
12391
12392 2016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12393
12394         * gst/vaapi/gstvaapivideomemory.c:
12395           vaapivideomemory: refactor vaapi memory mapping
12396           There were duplicated code in gst_video_meta_map_vaapi_memory() and
12397           gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
12398           This patch refactors both methods adding the common function
12399           map_vaapi_memory().
12400           Additionally, only when flag has the READ bit it calls
12401           ensure_images_is_current(), which was done in
12402           gst_video_meta_map_vaapi_memory() but no in
12403           gst_vaapi_video_memory_map().
12404           https://bugzilla.gnome.org/show_bug.cgi?id=772151
12405
12406 2016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12407
12408         * gst/vaapi/gstvaapidecode.c:
12409           vaapidecode: unref allowed_sinkpad_caps at close()
12410           The variable member allowed_sinkpad_caps is constructed querying the
12411           current VA display. Bearing that in mind, the variable shall be freed
12412           when the VA display changes or is removed.
12413           This patch moves the freeing of allowed_sinkpad_caps to close(), when
12414           the VA display is freed.
12415
12416 2016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
12417
12418         * gst/vaapi/gstvaapisink.c:
12419           vaapisink: finish event thread at stop()
12420           The thread that handles window's events should be finished during
12421           pipeline's shutdown, otherwise it will remain alive during pipeline
12422           re-activation, leading to unexpected problems.
12423           This patch fixes failures of intensive_state_change scenario of
12424           gst-validate
12425           https://bugzilla.gnome.org/show_bug.cgi?id=774241
12426
12427 2016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12428
12429         * gst/vaapi/gstvaapipostproc.c:
12430           vaapipostproc: enhance debug message
12431           "gst_pad_push" is not a good description of the event.
12432
12433 2016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
12434
12435         * gst/vaapi/gstvaapipostproc.c:
12436           postproc: honor gst_pad_push() return value
12437           Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
12438           deadlock during seek.
12439           This patch returns the same error of gst_pad_push() and log out the
12440           return value.
12441           https://bugzilla.gnome.org/show_bug.cgi?id=774030
12442
12443 2016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12444
12445         * gst/vaapi/gstvaapidecode.c:
12446           vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
12447           In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
12448           compiled with out EGL/GLX support: it shall not support
12449           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
12450           This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
12451           allowed src caps for vaapedecode if EGL/GLX.
12452
12453 2016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12454
12455         * gst/vaapi/gstvaapivideomemory.c:
12456           vaapivideomemory: increment map counter only if succeeded
12457           Previously the frame map counter increased independently if the map succeeded
12458           or not. This leaded to critical messages and crashes if the frame was unable
12459           to be mapped, but the counter increased.
12460           This patch increases the map counter only if the map operation occurred.
12461           https://bugzilla.gnome.org/show_bug.cgi?id=773939
12462
12463 2016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12464
12465         * gst/vaapi/gstvaapipluginbase.c:
12466           plugins: set negotiation caps in src allocator
12467           When the allocator is created, it stores the allocation caps. But sometimes
12468           the "allocation caps" may be different from the "negotiation caps".
12469           In this case, the allocator should store the negotiation caps since they
12470           are the ones used for frame mapping with GstVideoMeta.
12471           When vaapispostproc is used, this is not a problem since the element is assume
12472           to resize. But when using a vaapi decoder only, with a software renderer, it
12473           fails in this case.
12474           https://bugzilla.gnome.org/show_bug.cgi?id=773323
12475
12476 2016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12477
12478         * gst/vaapi/gstvaapidecode.c:
12479         * gst/vaapi/gstvaapidecode.h:
12480           vaapidecode: generate source pad caps
12481           Just as vaapipostproc, VA decoder's context can be queried to get the possible
12482           raw formats, so, the src caps can negotiate the exact caps that the context
12483           supports.
12484
12485 2016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12486
12487         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12488         * gst-libs/gst/vaapi/gstvaapidecoder.h:
12489           libs: decoder: add _get_surface_formats()
12490           This function exposes the available formats of the surfaces in the the current
12491           context to the plugins.
12492
12493 2016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12494
12495         * gst-libs/gst/vaapi/gstvaapicontext.c:
12496         * gst-libs/gst/vaapi/gstvaapicontext.h:
12497           libs: context: ensure context formats
12498           This patch ensures to get the formats, as filter does, available in the
12499           decoder / encoder context.
12500           The context fills up the array as soon it is created, otherwise the pipeline
12501           could get stalled (perhaps this is a bug in my HSW backend).
12502           https://bugzilla.gnome.org/show_bug.cgi?id=752958
12503
12504 2016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12505
12506         * gst-libs/gst/vaapi/gstvaapifilter.c:
12507         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
12508         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
12509           libs: move get_surface_formats to utils_core
12510           The query of all the supported formats for a VA config were only used by the
12511           postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
12512           negotiate a suitable raw format with downstream, we need to query these
12513           formats against the decoder's config.
12514           This patch is the first step: moves the code in filter's ensure_image() to a
12515           generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
12516           shared later by the decoder.
12517           https://bugzilla.gnome.org/show_bug.cgi?id=752958
12518
12519 2016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12520
12521         * gst/vaapi/gstvaapipluginbase.c:
12522           plugins: remove set_sinkpad_dmabuf_allocator()
12523           Since when the sink pad allocator is created, it is decided if the required
12524           one is vaapi allocator or dmabuf allocator, there is no need to force its set
12525           again.
12526
12527 2016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12528
12529         * gst/vaapi/gstvaapipluginbase.c:
12530           plugins: ensure display when getting raw caps
12531           When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
12532           meanwhile it is transforming caps. The problem is that stop() calls
12533           gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
12534           the va display is used in tranform_caps() when it is extracting the possible
12535           format conversions. This display disappearing generates warning messages.
12536           This patch holds a local reference of va display at ensure_allowed_raw_caps()
12537           hence it doesn't go away meanwhile it is used, even if the
12538           gst_vaapi_plugin_base_close() is called in other thread.
12539           https://bugzilla.gnome.org/show_bug.cgi?id=773593
12540
12541 2016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12542
12543         * gst/vaapi/gstvaapiencode_h264.c:
12544         * gst/vaapi/gstvaapiencode_h265.c:
12545           plugins: fix code style for errors
12546
12547 2016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12548
12549         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
12550         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
12551         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
12552         * gst-libs/gst/vaapi/gstvaapicontext.c:
12553         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
12554         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12555         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
12556         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12557         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12558         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
12559         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12560         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12561         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
12562         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
12563         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12564         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
12565         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12566         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12567         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12568         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
12569         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
12570         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12571         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
12572         * gst-libs/gst/vaapi/gstvaapifilter.c:
12573         * gst-libs/gst/vaapi/gstvaapiimage.c:
12574         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
12575         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
12576         * gst-libs/gst/vaapi/gstvaapipixmap.c:
12577         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
12578         * gst-libs/gst/vaapi/gstvaapisurface.c:
12579         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
12580         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12581         * gst-libs/gst/vaapi/gstvaapitexture.c:
12582         * gst-libs/gst/vaapi/gstvaapiutils.c:
12583         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
12584         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
12585         * gst-libs/gst/vaapi/gstvaapiwindow.c:
12586         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12587         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12588           libs: fix code style for errors
12589
12590 2016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12591
12592         * gst/vaapi/gstvaapipluginbase.c:
12593         * gst/vaapi/gstvaapivideocontext.c:
12594           plugins: update GstGL deprecated symbol
12595           GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
12596
12597 2016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12598
12599         * gst/vaapi/gstvaapipluginbase.c:
12600           plugins: direct render when raw video
12601           Enable the direct rendering with linear surfaces if the negotiated src caps
12602           are video/x-raw without features.
12603           Pass also the caps, since they are needed to know the requested caps features.
12604
12605 2016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12606
12607         * gst/vaapi/gstvaapipluginbase.c:
12608           plugins: move src allocator error to instantiator
12609           Just as we did in ensure_sinkpad_allocator(), let's move the error message
12610           into the ensure_srcpad_allocator() from the caller,
12611           gst_vaapi_plugin_base_decide_allocation()
12612
12613 2016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12614
12615         * gst/vaapi/gstvaapipluginbase.c:
12616           plugins: enable direct upload if raw video
12617           Enable the direct upload with linear surfaces if the negotiated sink caps are
12618           video/x-raw without features.
12619
12620 2016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12621
12622         * gst/vaapi/gstvaapipluginutil.c:
12623         * gst/vaapi/gstvaapipluginutil.h:
12624           pluginutil: add gst_caps_is_video_raw()
12625
12626 2016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12627
12628         * gst/vaapi/gstvaapipluginbase.c:
12629           plugins: receive caps in ensure_sinkpad_allocator()
12630           Instead of receiving the GstVideoInfo structure as parameter, get the original
12631           GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
12632           which allocator instantiate.
12633
12634 2016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12635
12636         * gst/vaapi/gstvaapivideomemory.c:
12637           vaapivideomemory: destroy derived image at unmap
12638           If the allocator was configured to use direct upload or rendering, the
12639           generated derived image created at mapping needs to be destroyed after
12640           unmapping, because, in order to process the surface, it should not be marked
12641           as "busy" by the driver.
12642
12643 2016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12644
12645         * gst/vaapi/gstvaapivideomemory.c:
12646           vaapivideomemory: enhance logs for direct modes
12647           Print, conditionally, only the enabled direct mode.
12648
12649 2016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12650
12651         * gst/vaapi/gstvaapivideomemory.c:
12652         * gst/vaapi/gstvaapivideomemory.h:
12653           vaapivideomemory: add direct upload flag
12654           Adds the direct-upload flag in the GstVaapiVideoAllocator and
12655           GstVaapiVideoMemory.
12656           It still doesn't apply any functional change.
12657
12658 2016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12659
12660         * gst/vaapi/gstvaapipluginbase.c:
12661         * gst/vaapi/gstvaapivideomemory.c:
12662         * gst/vaapi/gstvaapivideomemory.h:
12663           vaapivideomemory: set direct rendering at run-time
12664           The way to experiment with the direct rendering is through and internal
12665           compiler pre-processor flag.
12666           The current change set enables a way to specified at run-time, as a flag
12667           passed to the allocator at instanciation time.
12668
12669 2016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12670
12671         * gst/vaapi/gstvaapivideomemory.c:
12672           vaapivideomemory: log in perf category when copy
12673           Log in performance category when the derive image handling fails, falling back
12674           to memory copy.
12675
12676 2016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12677
12678         * gst/vaapi/gstvaapivideomemory.c:
12679           vaapivideomemory: error log is derive image fails
12680           Instead of a silently failure of the derive image, this patch log an error
12681           message according to the failure.
12682
12683 2016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12684
12685         * gst/vaapi/gstvaapivideomemory.c:
12686           vaapivideomemory: store surface alloc flags in qdata
12687           For sake of consistency, we should add the requested surface allocation flags
12688           to the object's qdata structure.
12689
12690 2016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12691
12692         * gst/vaapi/gstvaapivideomemory.c:
12693           vaapivideomemory: category init when object define
12694           Move the Gstreamer debug category initialize to the GObject definition.
12695
12696 2016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12697
12698         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
12699           libs: vaapitexturemap: trivial code-style fix
12700
12701 2016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12702
12703         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12704           libs: display: egl: avoid recreate native display
12705           Instead of passing the native descriptor of the display, just pass the received
12706           GstVaapiDisplay and reuse it.
12707
12708 2016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12709
12710         * gst/vaapi/gstvaapipluginbase.c:
12711           plugins: log the GstVaapiDisplay name
12712           Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
12713           name. Log it instead of the memory address.
12714
12715 2016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
12716
12717         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
12718           libs: window: egl: pass native va display
12719           When creating a GstVaapiWindowEGL, it also creates native window by its own
12720           native display. It should pass the native display, either X11 or Wayland.
12721           https://bugzilla.gnome.org/show_bug.cgi?id=768266
12722
12723 2016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
12724
12725         * gst-libs/gst/vaapi/gstvaapidebug.h:
12726         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12727         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12728         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12729         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
12730         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
12731         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12732         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
12733         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
12734         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12735         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
12736         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12737         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12738         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12739         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
12740         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
12741         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12742         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
12743         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
12744         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
12745         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
12746         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
12747         * gst/vaapi/gstvaapivideocontext.c:
12748           libs: display: GstVaapiDisplay as GstObject descendant
12749           This patch is to change the inheritance of GstVaapiDisplay to GstObject,
12750           instead of GstVaapiMiniObject. In this way we can use all the available
12751           infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
12752           In addition, a new debug category for GstVaapiDisplay is created to make it
12753           easier to trace debug messages. It is named "vaapidisplay" and it transverse
12754           all the VA display backends (DRM, GLX, EGL, Wayland, ...)
12755           This patch is a step forward to expose GstVaapiDisplay for users in a future
12756           library.
12757           https://bugzilla.gnome.org/show_bug.cgi?id=768266
12758           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12759
12760 === release 1.11.0 ===
12761
12762 2016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
12763
12764         * configure.ac:
12765           Back to development
12766
12767 === release 1.10.0 ===
12768
12769 2016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
12770
12771         * ChangeLog:
12772         * NEWS:
12773         * configure.ac:
12774         * gstreamer-vaapi.doap:
12775           Release 1.10.0
12776
12777 2016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12778
12779         * gst/vaapi/gstvaapidecodebin.c:
12780           vaapidecodebin: resurrect disable-vpp property
12781           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12782
12783 2016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12784
12785         * gst/vaapi/gstvaapidecodebin.c:
12786           vaapidecodebin: name the internal queue
12787           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12788
12789 2016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12790
12791         * gst/vaapi/gstvaapidecodebin.c:
12792         * gst/vaapi/gstvaapidecodebin.h:
12793           vaapidecodebin: remove unused variables
12794           Since vaapipostproc is only registered if the driver supports it, all the
12795           support for dynamic loading were removed. Though some leftovers remained.
12796           https://bugzilla.gnome.org/show_bug.cgi?id=773589
12797
12798 2016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12799
12800         * docs/plugins/Makefile.am:
12801         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
12802         * docs/plugins/running.xml:
12803           docs: document environment variables
12804           https://bugzilla.gnome.org/show_bug.cgi?id=773544
12805
12806 2016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12807
12808         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
12809         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
12810         * gst/vaapi/Makefile.am:
12811         * gst/vaapi/gstvaapidecode.c:
12812         * gst/vaapi/gstvaapidecodebin.c:
12813         * gst/vaapi/gstvaapidecodedoc.c:
12814           docs: replace vaapidecode with each codec
12815           In the spirit of the codec split, this patch removes the documentation of
12816           vaapidecode and adds a page per each possible decoder.
12817           Nonetheless, only those available in the compilation system are going to be
12818           instrospected, because the rest are not registered.
12819
12820 2016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12821
12822         * gst/vaapi/gstvaapipluginutil.c:
12823         * gst/vaapi/gstvaapivideobuffer.c:
12824         * gst/vaapi/gstvaapivideometa.c:
12825           docs: add missing long descriptions
12826
12827 2016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12828
12829         * gst/vaapi/gstvaapipostproc.c:
12830           vaapipostproc: use GST_*_OBJECT when possible
12831           Since we can have several vaapipostproc operating in a pipeline, it is useful
12832           to know which one is generating the logging message.
12833           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12834
12835 2016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12836
12837         * gst/vaapi/gstvaapidecode.c:
12838         * gst/vaapi/gstvaapidecode.h:
12839           vaapidecode: rename member to allowed_sinkpad_caps
12840           vaapidecode has a member named allowed_caps, but this name is not enough
12841           explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
12842           No functional changes were included.
12843           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12844
12845 2016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12846
12847         * gst/vaapi/gstvaapiencode_h264.c:
12848         * gst/vaapi/gstvaapiencode_h265.c:
12849         * gst/vaapi/gstvaapisink.c:
12850         * gst/vaapi/gstvaapivideomemory.c:
12851         * gst/vaapi/gstvaapivideometa.c:
12852         * gst/vaapi/gstvaapivideometa_texture.c:
12853           plugins: fix code style for errors
12854           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12855
12856 2016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12857
12858         * gst/vaapi/gstvaapivideomemory.c:
12859           vaapivideomemory: comment style
12860           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12861
12862 2016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12863
12864         * gst/vaapi/gstvaapivideomemory.c:
12865         * gst/vaapi/gstvaapivideomemory.h:
12866           vaapivideomemory: rename input parameter
12867           In order to clarify the use of flag as input parameter, it is renamed to
12868           surface_alloc_flag, since it is used when creating a VA surface with certain
12869           properties.
12870           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12871
12872 2016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12873
12874         * gst/vaapi/gstvaapidecode.c:
12875           vaapidecode: rename element description
12876           So encoders and decoders have similar descriptions.
12877           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12878
12879 2016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12880
12881         * gst/vaapi/gstvaapiencode_h264.c:
12882         * gst/vaapi/gstvaapiencode_h265.c:
12883           vaapiencode: h264, h265: rename codec name
12884           So encoder and decoders have the same codec name.
12885           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12886
12887 2016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12888
12889         * gst/vaapi/gstvaapipluginbase.c:
12890           plugins: simplify code
12891           Merge two lines of variable declarations.
12892           https://bugzilla.gnome.org/show_bug.cgi?id=773497
12893
12894 2016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
12895
12896         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12897         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
12898         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
12899         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12900           libs: minor correction for logical consistency
12901           GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
12902           use its methods, even though it doesn't change functionality.
12903           GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
12904           GstVaapiObject, hence its methods shall be used.
12905           https://bugzilla.gnome.org/show_bug.cgi?id=772554
12906
12907 2016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
12908
12909         * gst/vaapi/gstvaapivideomemory.c:
12910           vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
12911           In short GstFdMemory is configured to call close when using
12912           GstDmabufMemory.
12913           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12914
12915 2016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12916
12917         * configure.ac:
12918         * gst-libs/gst/vaapi/Makefile.am:
12919           build: clean up the dlopen usage
12920
12921 2016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12922
12923         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12924         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12925           encoder: h264,h265: fix regression in offset count
12926           In commit dc35dafa a bug was introduced because I assumed that
12927           GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
12928           https://bugzilla.gnome.org/show_bug.cgi?id=772259
12929
12930 2016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12931
12932         * README:
12933           docs: update README
12934
12935 2016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12936
12937         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12938           libs: display: egl: remove unused header include
12939           The header gmodule.h is not used since the library dynamic loading for EGL
12940           display was removed.
12941           https://bugzilla.gnome.org/show_bug.cgi?id=772599
12942
12943 === release 1.9.90 ===
12944
12945 2016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
12946
12947         * ChangeLog:
12948         * NEWS:
12949         * common:
12950         * configure.ac:
12951         * gstreamer-vaapi.doap:
12952           Release 1.9.90
12953
12954 2016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
12955
12956         * gst/vaapi/gstvaapidecode.c:
12957         * gst/vaapi/gstvaapidecodebin.c:
12958         * gst/vaapi/gstvaapiencode_h264.c:
12959         * gst/vaapi/gstvaapiencode_h265.c:
12960         * gst/vaapi/gstvaapiencode_jpeg.c:
12961         * gst/vaapi/gstvaapiencode_mpeg2.c:
12962         * gst/vaapi/gstvaapiencode_vp8.c:
12963         * gst/vaapi/gstvaapipostproc.c:
12964         * gst/vaapi/gstvaapisink.c:
12965           vaapi: use new gst_element_class_add_static_pad_template()
12966           https://bugzilla.gnome.org/show_bug.cgi?id=763083
12967           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12968
12969 2016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
12970
12971         * gst/vaapi/gstvaapipluginbase.c:
12972           plugins: reset textures at negotiation/shutdown
12973           When caps reconfiguration is called, the new downstream frame size might be
12974           different. Thus, if the downstream caps change,the display's texture map is
12975           reset.
12976           In addition, during pipeline shutdown, textures in texture map have to be
12977           released, since each one have a reference to the GstVaapiDisplay object, which
12978           is a dangerous circular reference.
12979           https://bugzilla.gnome.org/show_bug.cgi?id=769293
12980           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12981
12982 2016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
12983
12984         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12985         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12986         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12987         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
12988         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12989         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12990         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12991         * gst/vaapi/gstvaapivideometa_texture.c:
12992           libs: display{egl,glx}: cache GstVaapiTextures
12993           instances when created and reuse
12994           This patch improves performance when glimagesink uploads a GL texture.
12995           It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
12996           instance of GstVaapiTextureMap, so our internal texture structure can be found
12997           by matching the GL texture id for each frame upload process, avoiding the
12998           internal texture structure creation and its following destruction.
12999           https://bugzilla.gnome.org/show_bug.cgi?id=769293
13000           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13001
13002 2016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
13003
13004         * gst-libs/gst/vaapi/Makefile.am:
13005         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
13006         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
13007           libs: vaapitexturemap: implement GstVaapiTextureMap
13008           Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
13009           reused. Internally it is a hash table.
13010           Note that it is GstObject based rather than GstVaapiObject, as part of the future
13011           converstion to GstObject of most of the code.
13012           https://bugzilla.gnome.org/show_bug.cgi?id=769293
13013           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13014
13015 2016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13016
13017         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
13018           encoder: vp8: Increase the allocation size for coded buffer
13019           We are not getting enough compression for some streams and
13020           encoded frame end up with more size than allocated.
13021           Assuming a compression ratio of 4, which should be good enough
13022           for holding the frames.
13023           https://bugzilla.gnome.org/show_bug.cgi?id=771528
13024
13025 2016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13026
13027         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13028           encoder: vp9: Fix refresh frame flag setting
13029           While doing the mode-1 referece picture selection,
13030           the circular buffer logic was not correctly setting the
13031           refresh frame flags as per VP9 spec.
13032           Make sure refresh_flag[0] get updated correclty after
13033           each cycle of GST_VP9_REF_FRAMES.
13034           https://bugzilla.gnome.org/show_bug.cgi?id=771507
13035
13036 2016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13037
13038         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13039           vaapidecode: codec_data minimal size is 7
13040           When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
13041           stream, not in the codec_data, so the size of codec_data might be 7.
13042           This patch reduces the minimal size of the codec_data buffer from 8 to 7.
13043           https://bugzilla.gnome.org/show_bug.cgi?id=771441
13044
13045 2016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13046
13047         * gst/vaapi/gstvaapidecode.c:
13048           vaapidecode: reset decoder hard when set_format()
13049           set_format() is called by upstream when the stream capabilites has changed.
13050           Before, if the new stream is compatible with the old one the VA decoder was
13051           not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
13052           when the upstreamer parsers gets more details of the stream, such as the
13053           framerate. Hence, when the src caps are negotiates, the further sink caps
13054           updates are ignored.
13055           This patch forces the VA decoder destroying and recreation when set_format()
13056           is called.
13057           https://bugzilla.gnome.org/show_bug.cgi?id=770921
13058
13059 2016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
13060
13061         * configure.ac:
13062           configure: Depend on gstreamer 1.9.2.1
13063
13064 2016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13065
13066         * gst/vaapi/gstvaapivideomemory.c:
13067           Revert "vaapivideomemory: load VA Image when mapping to write"
13068           This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
13069
13070 2016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
13071
13072         * common:
13073           Automatic update of common submodule
13074           From b18d820 to f980fd9
13075
13076 2016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
13077
13078         * common:
13079           Automatic update of common submodule
13080           From f49c55e to b18d820
13081
13082 2016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
13083
13084         * gst/vaapi/gstvaapipluginbase.c:
13085           plugins: set allocator's image size to sinkpad bufferpool
13086           Otherwise the buffer is always ditched by the bufferpool, losing performance.
13087           https://bugzilla.gnome.org/show_bug.cgi?id=771035
13088
13089 2016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13090
13091         * gst-libs/gst/vaapi/gstvaapisurface.c:
13092           libs: surface: ensure composite overlay is not bigger
13093           Ensure the composition overlay rectangle (subtitles) is not bigger than
13094           the surface where it is going to be composited and rendered.
13095           https://bugzilla.gnome.org/show_bug.cgi?id=766978
13096
13097 2016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
13098
13099         * gst/vaapi/gstvaapivideomemory.c:
13100           vaapivideomemory: load VA Image when mapping to write
13101           When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
13102           ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
13103           in this case.
13104           https://bugzilla.gnome.org/show_bug.cgi?id=766978
13105
13106 2016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13107
13108         * gst/vaapi/gstvaapidecode.c:
13109           vaapidecode: merge vc1 and wmv3 elements
13110           This patch merges vaapivc1dec and vaapiwmv3dec into a single
13111           vaapivc1dec. Also, removed the WMVA format, since it is not
13112           supported by libva.
13113           https://bugzilla.gnome.org/show_bug.cgi?id=734093
13114
13115 2016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13116
13117         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13118           decoder: vc1: fails only on advanced profile
13119           In commit 2eb4394 the frame coding mode was verified for progressive
13120           regardless the profile. But the FCM is only valid in the advanced
13121           profile. This patch checks for the advanced profile before verifying FCM for
13122           progressive.
13123           https://bugzilla.gnome.org/show_bug.cgi?id=769250
13124
13125 2016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13126
13127         * gst/vaapi/gstvaapi.c:
13128           vaapi: DISPLAY envvar as dependency
13129           In a multiple video cards system, a X11 environment may have different VA
13130           capabilities. This patch tracks the DISPLAY environment variable to
13131           invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
13132           https://bugzilla.gnome.org/show_bug.cgi?id=770357
13133
13134 2016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13135
13136         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13137           decoder: vc1: Fail only on actual interlaced frames
13138           In the earlier patch:
13139           f31d9f3 decoder: vc1: Print error on interlaced content
13140           Decoding would error out if the interlace flag was set in the
13141           sequence bdu. This isn't quite right because a video can have this
13142           flag set and yet not have any interlaced pictures.
13143           Here instead we error out when either parsing a field bdu or
13144           decoding a frame bdu which has fcm set to anything other than
13145           progressive.
13146           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13147           https://bugzilla.gnome.org/show_bug.cgi?id=769250
13148
13149 2016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
13150
13151         * configure.ac:
13152           Back to development
13153
13154 === release 1.9.2 ===
13155
13156 2016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
13157
13158         * ChangeLog:
13159         * NEWS:
13160         * configure.ac:
13161         * gstreamer-vaapi.doap:
13162           Release 1.9.2
13163
13164 2016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
13165
13166         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13167           decoder: vc1: Print error on interlaced content
13168           Interlaced video is as yet unsupported in the vc1 element. Print
13169           an error to make that more obvious.
13170           https://bugzilla.gnome.org/show_bug.cgi?id=769250
13171
13172 2016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13173
13174         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13175           encoder: h264: fix C90 mixed declarations and code
13176           Commit 4259d1a introduced this compilation error. This patch fixes it.
13177
13178 2016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13179
13180         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13181         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13182         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
13183         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
13184           encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
13185           Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
13186           to avoid overflows, underflows and loss of precision.
13187           https://bugzilla.gnome.org/show_bug.cgi?id=768458
13188
13189 2016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13190
13191         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13192         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13193           vaapiencode: h264,h265: validate fps numerator
13194           Validate that fps numerator is non-zero so it can be used to calculate
13195           the duration of the B frame.
13196           Also it gst_util_uint64_scale() is used instead of normal arithmetic in
13197           order to aviod overflows, underflows and loss of precision.
13198           https://bugzilla.gnome.org/show_bug.cgi?id=768458
13199
13200 2016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
13201
13202         * gst/vaapi/gstvaapi.c:
13203           encoders: demote to RANK_NONE since not fit for autoplugging yet
13204           Encoders claim to support a whole bunch of input formats but then
13205           just error out if the format is not actually supported, even if
13206           there's a converter in front. This means they're not fit for
13207           autoplugging in encodebin or camerabin yet and therefore should
13208           not have a rank. People can still use them in custom pipelines.
13209           https://bugzilla.gnome.org/show_bug.cgi?id=769266
13210
13211 2016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13212
13213         * gst/vaapi/gstvaapipluginbase.c:
13214           plugins: check dmabuf-import for sink pad allocator
13215           Check earlier if upstream video source has activated the dmabuf-import
13216           io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
13217           new allocator.
13218
13219 2016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13220
13221         * gst/vaapi/gstvaapipluginbase.c:
13222           plugins: reset allocators if video info changed
13223           If the frame size or format, change, the allocators are reset, so a new ones
13224           can be created with the new video info.
13225
13226 2016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13227
13228         * gst/vaapi/gstvaapipluginbase.c:
13229           plugins: remove sink pad allocator if caps change
13230           If the negotiated sinkpad caps change, destroy the assignated allocator,
13231           because it is not valid anymore.
13232
13233 2016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13234
13235         * gst/vaapi/gstvaapipluginutil.c:
13236         * gst/vaapi/gstvaapipluginutil.h:
13237           pluginutil: const params to gst_video_info_changed()
13238           Since they are not modified, we should mark them as const.
13239
13240 2016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13241
13242         * gst/vaapi/gstvaapipluginbase.c:
13243         * gst/vaapi/gstvaapivideomemory.c:
13244         * gst/vaapi/gstvaapivideomemory.h:
13245           gstvaapivideomemory: allocator's image size getter
13246           Add the method gst_allocator_get_vaapi_image_size() for the
13247           GstVaapiVideoAllocator, which gets the size of the allocated images with the
13248           current video info.
13249           This method replaces the direct call to the allocator's image info when the
13250           pool is configured.
13251
13252 2016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
13253
13254         * gst/vaapi/gstvaapipluginbase.c:
13255           plugins: update buffer pool size with new allocator's image size
13256           Depends on media, video size is sometimes updated with new allocator.
13257           It leads to dismatch between bufferpool's set size and real allocated buffer size.
13258           In this case, it causes every buffer is freed during release in bufferpool,
13259           which should be reused. This affects performance.
13260           https://bugzilla.gnome.org/show_bug.cgi?id=769248
13261
13262 2016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13263
13264         * configure.ac:
13265           configure: remove gmodule-2.0 EGL dependency
13266           Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
13267           thus the dependency to gmodule-2.0 is not mandatory anymore.
13268
13269 2016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13270
13271         * configure.ac:
13272           configure: Fix non-fatal PKG_CHECK_MODULES invocations
13273           Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
13274           the package is missing, but action-if-not-found was given as an empty
13275           string which still causes the default action to run, which halts
13276           execution.
13277           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13278           https://bugzilla.gnome.org/show_bug.cgi?id=769237
13279
13280 2016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13281
13282         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13283           libs: egl: remove dynamic library loading code
13284           Since the upstream of gstreamer-vaapi, the library is not a public shared
13285           object anymore. But the EGL support depended on this dynamic library, so the
13286           EGL support was broken.
13287           This patch removes the dynamic library loading code and instantiates the
13288           EGL display using either X11 or Wayland if available.
13289           https://bugzilla.gnome.org/show_bug.cgi?id=767203
13290
13291 2016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13292
13293         * gst/vaapi/gstvaapi.c:
13294         * gst/vaapi/gstvaapidecode.c:
13295         * gst/vaapi/gstvaapidecode.h:
13296           vaapidecode: register only the available decoders
13297           In order to register only the available decoders, this patch queries the
13298           created test VA display, which uses the currently used back-end (X11, Wayland,
13299           DRM, …) on the used display device.
13300           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13301
13302 2016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13303
13304         * gst/vaapi/gstvaapi.c:
13305         * gst/vaapi/gstvaapipluginutil.c:
13306         * gst/vaapi/gstvaapipluginutil.h:
13307           vaapi: register only the available encoders
13308           In order to register only the available encoders, this patch queries the
13309           created test VA display, which uses the currently used back-end (X11,
13310           Wayland, DRM, …) on the used display device.
13311           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13312
13313 2016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13314
13315         * gst/vaapi/gstvaapidecode.c:
13316         * gst/vaapi/gstvaapidecodebin.c:
13317           vaapidecode: split all the codecs
13318           Split the vaapidecode to all the supported codecs with the format
13319           vaapi{codec}dec.
13320           vaapidecode is stil registered as a GObject type, but not as a
13321           GStreamer feature, so it can be used internally by vaapidecodebin without
13322           changing its code too much.
13323           https://bugzilla.gnome.org/show_bug.cgi?id=734093
13324
13325 2016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13326
13327         * gst/vaapi/gstvaapidecodebin.c:
13328           vaapidecodebin: simplify the code
13329           Since the elements dependant of the VA video processor are now only registered
13330           if it is available, vaapidecodebin code can be simplified a lot, removing all
13331           the code required to check if the VA video processor was available.
13332           https://bugzilla.gnome.org/show_bug.cgi?id=768899
13333
13334 2016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13335
13336         * gst/vaapi/gstvaapidecode.c:
13337           vaapidecode: delay the GstVaapiDisplay instantiating
13338           Delay the GstVaapiDisplay instantiating until when changing the state from
13339           READY to PAUSE. In this way the element has more chances to find an already
13340           created GstVaapiDisplay, or a GL context, in the pipeline.
13341           https://bugzilla.gnome.org/show_bug.cgi?id=766206
13342
13343 2016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13344
13345         * gst/vaapi/gstvaapipluginutil.c:
13346           pluginutil: set GLX display type
13347           The function gst_vaapi_create_display_from_gl_context() cretes a
13348           GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
13349           when the GL platform was GLX, but a plain X11 VA display.
13350           This patch fixes that, by querying the GL platform earlier.
13351           https://bugzilla.gnome.org/show_bug.cgi?id=766206
13352
13353 2016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13354
13355         * gst/vaapi/gstvaapipluginbase.c:
13356         * gst/vaapi/gstvaapivideocontext.c:
13357         * gst/vaapi/gstvaapivideocontext.h:
13358           plugins: add gst_vaapi_plugin_base_find_gl_context()
13359           Using the GstContext mechanism, it is possible to find if the pipeline
13360           shares a GstGLContext, even if we are not to negotiating GLTextureUpload
13361           meta. This is interesting because we could negotiate system memory caps
13362           feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
13363           https://bugzilla.gnome.org/show_bug.cgi?id=766206
13364
13365 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13366
13367         * gst/vaapi/gstvaapipluginbase.c:
13368         * gst/vaapi/gstvaapipluginbase.h:
13369           plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
13370           Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
13371           it is deleted.
13372
13373 2016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13374
13375         * gst/vaapi/gstvaapipluginbase.h:
13376           plugins: remove common change_state() vmethod
13377           Remove the common change_state() vmethod for all the plugins, since no one is
13378           using it.
13379
13380 2016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13381
13382         * gst/vaapi/gstvaapidecode.c:
13383           vaapidecode: remove change_state() vmethod
13384           Since the driver checkup is done at registering, there is no need to do it
13385           when changing the element state from NULL to READY. This patch remove this
13386           vmethod from vaapidecode.
13387
13388 2016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13389
13390         * gst/vaapi/gstvaapi.c:
13391           vaapi: register vaapipostproc only if supported
13392           Query the GstVaapiDisplay to know if the driver supports video
13393           postprocessing. If does, then register vaapipostproc and vaapidecodebin
13394           elements.
13395           This patch will simplify the design of vaapidecodebin.
13396           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13397
13398 2016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13399
13400         * gst/vaapi/gstvaapi.c:
13401           vaapi: don't register if VA driver is unsupported
13402           Using the test VA display, the driver name is queried, and if it is not
13403           white-listed, the plugin rejects to register any element.
13404           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13405
13406 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13407
13408         * gst/vaapi/gstvaapipluginbase.c:
13409         * gst/vaapi/gstvaapipluginutil.c:
13410         * gst/vaapi/gstvaapipluginutil.h:
13411           plugins: add gst_vaapi_driver_is_whitelisted()
13412           Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
13413           new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
13414           when registering the plugin's feature set with the test VA display.
13415           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13416
13417 2016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13418
13419         * gst/vaapi/gstvaapi.c:
13420           vaapi: instantiate a VA display when registering
13421           This patch tries to instantiate a GstVaapiDisplay when registering the plugin
13422           features, if it fails, no gstreamer-vaapi element is registering.
13423           The purpose of this patch is to avoid a situation where the user has
13424           gstreamer-vaapi installed but their VA-API setup is not functional, which may
13425           lead to unexpected behavior.
13426           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13427
13428 2016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13429
13430         * configure.ac:
13431         * gst/vaapi/gstvaapi.c:
13432           vaapi: declare external dependencies
13433           There are two main external dependencies that define the feature set of this
13434           plugin: a) the kernel and b) the VA driver
13435           This patch tracks both dependencies, if any of them change, GStreamer will
13436           re-inspect the plugin.
13437           The kernel is tracked through the device files /dev/dri/card*
13438           The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
13439           where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
13440           the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
13441           since they modify the driver lookup.
13442           Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
13443           https://bugzilla.gnome.org/show_bug.cgi?id=724352
13444
13445 2016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13446
13447         * gst/vaapi/gstvaapidecode.c:
13448           vaapidecode: remove unneeded initializations
13449           GObject's memory is set to zero, so there is no need to initialize to zero or
13450           NULL it's class variables.
13451
13452 2016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13453
13454         * gst/vaapi/gstvaapipluginbase.h:
13455           plugins: remove undefined macros
13456
13457 2016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13458
13459         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13460           Revert "gstvaapisurface_drm: release image when done"
13461           This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
13462           372a03a9e38acbf435eb80bf31d9a9844069e504.
13463           While the dmabuf handle is exported, the derive image must exist, otherwise
13464           the image's VA buffer is invalid, thus the dmabuf handle is never released,
13465           leading into a file descriptors leak.
13466
13467 2016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13468
13469         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13470           encoder: h265: fix code-style
13471
13472 2016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13473
13474         * gst/vaapi/gstvaapipostproc.c:
13475           vaapipostproc: update filters at color balance
13476           This is a fix for a regression of previous commit, which updates the filters
13477           only when the property is set, because it is also required to update the
13478           filter when the color balance interface change its values.
13479
13480 2016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
13481
13482         * gst/vaapi/gstvaapipostproc.c:
13483         * gst/vaapi/gstvaapipostproc.h:
13484           vaapipostproc: make it enable/disable pass-through mode
13485           In case that sink caps and src caps are same, and no filtering parameter set,
13486           pass-through mode is enabled.
13487           If new filtering parameter is set during playback, it makes it reconfiguring,
13488           so that pass-through mode is changed
13489           In addition, updating filter is performed during reconfiguration, if needed.
13490           https://bugzilla.gnome.org/show_bug.cgi?id=751876
13491
13492 2016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
13493
13494         * gst-libs/gst/vaapi/gstvaapifilter.c:
13495         * gst-libs/gst/vaapi/gstvaapifilter.h:
13496         * gst/vaapi/gstvaapipostproc.c:
13497           vaapipostproc: checking and updating filter parameter only when it's set
13498           This patch is to avoid checking filter value at every frame.
13499           https://bugzilla.gnome.org/show_bug.cgi?id=751876
13500
13501 2016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
13502
13503         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13504           decoder: h265: handle the SEI NAL units included in codec_data
13505           The prefix/suffix SEI nal units can appear in codec_data too
13506           which weren't handled before. Parse these SEI headers to
13507           fix the segfault.
13508           https://bugzilla.gnome.org/show_bug.cgi?id=768544
13509
13510 2016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13511
13512         * docs/plugins/Makefile.am:
13513           build: doc: do not redefine MAINTAINERCLEANFILES
13514           MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
13515           overload it, the files should be added.
13516
13517 2016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13518
13519         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13520           encoder: h264: Fix MVC encode while enabling dct8x8
13521           Pack the transform_8x8_mode_flag and other necessary rbsp data
13522           in packed_pps header for MVC encode.
13523           https://bugzilla.gnome.org/show_bug.cgi?id=768647
13524
13525 2016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13526
13527         * gst/vaapi/gstvaapisink.c:
13528           vaapisink: demote a debug message to trace
13529           Reduces noise when debugging.
13530
13531 2016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
13532
13533         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
13534           wayland: Error check before using cached wl_display
13535           A planar(or some other) buffer allocation may fail on the driver, then
13536           the wayland connection becomes invalid, not able to send request or
13537           receive any event. So we need to set up a new wayland connection if
13538           there's an error detected on the cached wl_display.
13539           https://bugzilla.gnome.org/show_bug.cgi?id=768761
13540           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13541
13542 2016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
13543
13544         * common:
13545           Automatic update of common submodule
13546           From ac2f647 to f49c55e
13547
13548 2016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13549
13550         * gst/vaapi/gstvaapiencode.c:
13551           vaapiencode: demote a log to trace level
13552           Removes noise when debugging.
13553
13554 2016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
13555
13556         * gst/vaapi/gstvaapiencode.c:
13557           vaapiencode: implement flush() vmethod
13558           In order to handle correctly seek and other operations, vaapiencode should
13559           flush all the remaining data from the encoder without pushing it downstream.
13560           This patch implements the flush() vmethod, only after of pausing the
13561           source pad task, and restarting it again after the flush stop.
13562           https://bugzilla.gnome.org/show_bug.cgi?id=767176
13563           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13564
13565 2016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13566
13567         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13568           decoder: vc1: flush dpb only if opened
13569           Flush the decode picture buffer, if and only if, the decoder is
13570           started. Otherwise the dpb structure might be NULL.
13571           https://bugzilla.gnome.org/show_bug.cgi?id=742922
13572
13573 2016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
13574
13575         * gst/vaapi/gstvaapidecode.c:
13576         * gst/vaapi/gstvaapidecode.h:
13577           vaapidecode: drop non-keyframe in reverse playback
13578           To avoid surface-exhausted situation during reverse playback,
13579           drop frames except for key frame.
13580           Also, to avoid the corruption of the parser state, flush() vmethod
13581           doesn't destroy the VA decoder when playing in reverse.
13582           https://bugzilla.gnome.org/show_bug.cgi?id=742922
13583           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13584
13585 2016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13586
13587         * gst/vaapi/gstvaapidecode.c:
13588           vaapidecode: unref output frame earlier
13589           The queue in GstVaapiDecode adds an extra reference to the frames. This patch
13590           unref that extra reference earlier making the code simpler to follow.
13591           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13592
13593 2016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13594
13595         * gst/vaapi/gstvaapidecode.c:
13596           vaapidecode: remove gst_vaapidecode_internal_flush()
13597           As gst_vaapidecode_finish() is the only callee of
13598           gst_vaapidecode_internal_flush(), it is better to inline it.
13599           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13600
13601 2016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13602
13603         * gst/vaapi/gstvaapidecode.c:
13604           vaapidecode: flush output adapter at drain()
13605           Calling drain() vmethod means "decode any data it can at this point, but that
13606           more data may arrive after". Hence, vaapidecode should check if there is data
13607           in the output adapter and process them, without destroying the decoded picture
13608           buffer (dpb).
13609           Since this operation is done by gst_vaapidecode_internal_flush(), the operation
13610           was refactored into a new function gst_vaapidecode_flush_output_adapter().
13611           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13612
13613 2016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13614
13615         * gst/vaapi/gstvaapidecode.c:
13616           vaapidecode: call purge at flush()
13617           Calling flush() vmethod means "to flush all remaining data from the decoder
13618           without pushing it downstream".
13619           Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
13620           gst_video_decoder_have_frame() if there is still something in the input
13621           adapter, which may push buffers to downstream by calling handle_frame().
13622           This patch changes this behavior by calling gst_vaapidecode_purge() rather
13623           than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
13624           decoder and releases all the rest of decoded frames.
13625           https://bugzilla.gnome.org/show_bug.cgi?id=768652
13626
13627 2016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13628
13629         * tests/elements/Makefile.am:
13630         * tests/elements/test-vaapisink.c:
13631           test: elements: remove spurious linkage
13632           Element tests only need to link against gstreamer libraries.
13633
13634 2016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
13635
13636         * configure.ac:
13637           configure: Require GLib >= 2.40 like everywhere else
13638
13639 2016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
13640
13641         * configure.ac:
13642           Back to development
13643
13644 === release 1.9.1 ===
13645
13646 2016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
13647
13648         * ChangeLog:
13649         * NEWS:
13650         * common:
13651         * configure.ac:
13652         * gstreamer-vaapi.doap:
13653           Release 1.9.1
13654
13655 2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13656
13657         * tests/elements/test-vaapisink.c:
13658           tests: elements: rotate orientation event
13659
13660 2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
13661
13662         * configure.ac:
13663         * tests/Makefile.am:
13664         * tests/elements/Makefile.am:
13665         * tests/elements/test-vaapisink.c:
13666           tests: elements: Add testsuite for vaapisink
13667           https://bugzilla.gnome.org/show_bug.cgi?id=765798
13668
13669 2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
13670
13671         * gst-libs/gst/vaapi/gstvaapitypes.h:
13672         * gst-libs/gst/vaapi/gstvaapivalue.c:
13673         * gst/vaapi/gstvaapisink.c:
13674         * gst/vaapi/gstvaapisink.h:
13675           vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
13676           https://bugzilla.gnome.org/show_bug.cgi?id=765798
13677
13678 2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13679
13680         * gst/vaapi/gstvaapipostproc.c:
13681           vaapipostproc: return caps template if no display
13682           This patch is a fix for my bad review of commit 6d73ca8d. The element should
13683           be able to return the available raw caps handled by the VA display, but that
13684           only should happen when there a VA display. If there's none, the element
13685           should use the caps template.
13686           https://bugzilla.gnome.org/show_bug.cgi?id=768161
13687
13688 2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
13689
13690         * gst/vaapi/gstvaapipostproc.c:
13691           vaapipostproc: don't require a vaapi display for all caps queries
13692           This delays the requirement of having a GstVaapiDisplay until later
13693           https://bugzilla.gnome.org/show_bug.cgi?id=768161
13694
13695 2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13696
13697         * gst-libs/gst/vaapi/gstvaapiutils.c:
13698           utils: report VP9 profiles
13699           Add VP9Profile0-3 name mapping.
13700
13701 2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13702
13703         * gst/vaapi/gstvaapi.c:
13704           vaapi: nest includes under USE_ENCODER macro
13705           This is a missed changeset from commit 1c05c53, since also header includes
13706           should be nested.
13707
13708 2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13709
13710         * gst/vaapi/gstvaapi.c:
13711           vaapi: nest encoders under USE_ENCODER macro
13712           Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
13713           macro, it is clearer to nest them, showing explicitly the dependency relation.
13714
13715 2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13716
13717         * gst/vaapi/gstvaapivideocontext.c:
13718           vaapivideocontext: check if query context is NULL
13719           Under certain conditions the element might receive a positive context query
13720           but without a context instance. This situation will lead to a segmentation
13721           fault when traversing the context list in the pipeline.
13722           https://bugzilla.gnome.org/show_bug.cgi?id=767946
13723
13724 2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13725
13726         * gst-libs/gst/vaapi/Makefile.am:
13727         * gst-libs/gst/vaapi/glibcompat.h:
13728         * gst-libs/gst/vaapi/sysdeps.h:
13729           remove unused glibcompat.h
13730           glibcompat.h is no longer doing anything. Remove it.
13731           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13732           https://bugzilla.gnome.org/show_bug.cgi?id=767886
13733
13734 2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13735
13736         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13737           encoder: h264: Use high profile by default
13738           Change defaults for max-bframes, cabac, and dct8x8 to be enabled
13739           by default. This will cause the default profile to be high instead
13740           of baseline. In most situations this is the right decision, and
13741           the profile can still be lowered in the case of caps restrictions.
13742           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13743           https://bugzilla.gnome.org/show_bug.cgi?id=757941
13744
13745 2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13746
13747         * gst/vaapi/gstvaapidecodebin.c:
13748           vaapidecodebin: element warning if missing element
13749           Raise an element warning if a required element is not available, thus the
13750           pipeline will post a warning message and the application will be informed.
13751
13752 2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
13753
13754         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13755           decoder: h265: fix to release all dpb pictures
13756           Without this, all dpb pictures are not released during flush,
13757           because we used the global dpb_count variable for checking the
13758           dpb fullness which get decremented in dpb_remove_index()
13759           routine during each loop iteration.
13760           https://bugzilla.gnome.org/show_bug.cgi?id=767934
13761
13762 2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
13763
13764         * common:
13765           Automatic update of common submodule
13766           From ac2f647 to f363b32
13767
13768 2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
13769
13770         * gst/vaapi/gstvaapidecode.c:
13771         * gst/vaapi/gstvaapipostproc.c:
13772           vaapi: fix minor leaks
13773           https://bugzilla.gnome.org/show_bug.cgi?id=767868
13774
13775 2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13776
13777         * gst/vaapi/gstvaapi.c:
13778           vaapi: remove an already included header
13779           gst/gst.h is already included in gstcompat.h
13780
13781 2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13782
13783         * gst/vaapi/gstvaapidecodebin.c:
13784           vaapidecodebin: add vp9 in sink pad template
13785
13786 2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13787
13788         * gst/vaapi/gstvaapisink.c:
13789           vaapisink: return caps template if no display
13790           If vaapisink received a caps query before getting a VA display, it returned
13791           only the surfaces related caps. This behavior broke the autovideosink
13792           negotiation.
13793           This patch returns the pad's template caps if no VA display, otherwise the
13794           caps are crafted as before.
13795           https://bugzilla.gnome.org/show_bug.cgi?id=767699
13796
13797 2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13798
13799         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13800           decoder: vp9: Update comment about context resets
13801           Clarify that vaapi context resets are never needed for vp9, but
13802           that ensure_context() needs called when the size increases so that
13803           new surfaces can be allocated.
13804           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13805           https://bugzilla.gnome.org/show_bug.cgi?id=767474
13806
13807 2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13808
13809         * gst-libs/gst/vaapi/gstvaapicontext.c:
13810         * gst-libs/gst/vaapi/gstvaapicontext.h:
13811         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13812           gstvaapicontext: control reset_on_resize with option
13813           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13814           https://bugzilla.gnome.org/show_bug.cgi?id=767474
13815
13816 2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13817
13818         * gst/vaapi/gstvaapivideobufferpool.c:
13819           vaapivideobufferpool: add video meta to config when needed
13820           In cases where we know the video meta must be present, add it to
13821           the pool configuration.
13822           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13823           https://bugzilla.gnome.org/show_bug.cgi?id=766184
13824
13825 2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13826
13827         * gst/vaapi/gstvaapipluginbase.c:
13828           plugins: retry pool config
13829           if gst_buffer_pool_set_config returns FALSE, check the modified
13830           config and retry set_config if the config is still acceptable.
13831           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13832           https://bugzilla.gnome.org/show_bug.cgi?id=766184
13833
13834 2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13835
13836         * gst/vaapi/gstvaapivideomemory.h:
13837           vaapivideomemory: internal attributes to methods
13838           Mark as internal the functions used by VA-API dmabuf allocator.
13839
13840 2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13841
13842         * gst/vaapi/gstvaapipluginbase.c:
13843           plugins: remove precondition for decide_allocation()
13844           There's no need to check for the display in the plugin object when
13845           decide_allocation() vmethod is called, because the display will created or
13846           re-created along the method execution.
13847
13848 2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13849
13850         * gst/vaapi/gstvaapipluginbase.c:
13851           plugins: avoid possible memory leaks
13852           Get the pool config just before use it, to avoid a memory leak if the
13853           allocator cannot be instantiated. Similarly, return FALSE if the configuration
13854           cannot be set, avoid keep a not used allocator in the pool.
13855
13856 2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13857
13858         * gst/vaapi/gstvaapipluginbase.c:
13859           plugins: use GstParentBufferMeta
13860           Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
13861           use the GStreamer's GstParentBufferMeta.
13862           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13863
13864 2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13865
13866         * gst/vaapi/gstvaapipluginbase.c:
13867           plugins: cache VASurfaces from dmabufs
13868           This patch avoids the creation of a VASurface each time a new input buffer is
13869           processed, caching them in the input buffer itself.
13870           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13871
13872 2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13873
13874         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13875         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13876         * gst/vaapi/gstvaapipluginbase.c:
13877           libs: change gst_vaapi_surface_new_with_dma_buf_handle()
13878           Instead of passing the data already in GstVideoInfo, let's just pass the
13879           GstVideoInfo structure.
13880           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13881
13882 2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13883
13884         * gst/vaapi/gstvaapipluginbase.c:
13885         * gst/vaapi/gstvaapipluginbase.h:
13886           plugins: use an unique allocator per pad
13887           Instead of instantiating an allocator per vaapivideobufferpool, only one
13888           allocator is instantiated per element's pad and shared among future pools.
13889           If the pad's caps changes, the allocator is reset.
13890           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13891
13892 2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13893
13894         * gst/vaapi/gstvaapipluginbase.c:
13895         * gst/vaapi/gstvaapivideobufferpool.c:
13896         * gst/vaapi/gstvaapivideobufferpool.h:
13897           vaapivideobufferpool: share options flag with pluginbase
13898           Originally, vaapivideobufferpool has a set of boolean variables for the
13899           buffer configuration options.
13900           This pach changes these boolean variables for a single bitwise, just as
13901           it is used in pluginbase. Hence, the internal enum was moved to
13902           vaapivideobufferpool header.
13903           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13904
13905 2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13906
13907         * gst/vaapi/gstvaapipluginbase.c:
13908           plugins: add gst_vaapi_plugin_base_create_pool()
13909           This patch refactors the code in pluginbase in order to centralize the buffer
13910           pool instantiation. As the buffer pool config may have different options, these
13911           are gathered using a bitwise flag.
13912           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13913
13914 2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13915
13916           pluginbase negotiates allocator with bufferpool
13917           Originally vaapivideobufferpool instantiates its own allocator regardless the
13918           received configuration, and it relies in custom configuration options to
13919           choose which kind of allocator instantiate.
13920           This patch transfers the responsibility of the allocator instantiate to
13921           vaapipluginbase and pass it to the vaapivideobufferpool through its
13922           configuration.
13923           * gst/vaapi/gstvaapipluginbase.c
13924           + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
13925           + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
13926           bufferpool configuration
13927           + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
13928           needed.
13929           + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
13930           allocator in bufferpool configuration
13931           * gst/vaapi/gstvaapivideobufferpool.c
13932           + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
13933           allocator, process the received one through its configuration.
13934           * gst/vaapi/gstvaapivideobufferpool.h: removed
13935           GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
13936           * gst/vaapi/gstvaapivideomemory.c
13937           + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
13938           allocator with the vaapi qdata.
13939           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13940
13941 2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13942
13943         * gst/vaapi/gstvaapivideobufferpool.c:
13944           vaapivideobufferpool: keep only current video info
13945           Instead of keeping old and new GstVideoInfo video structure, we only keep one,
13946           the current one, the negotiated. The old one is not needed at all.
13947           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13948
13949 2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13950
13951         * gst/vaapi/gstvaapipluginbase.c:
13952         * gst/vaapi/gstvaapipluginutil.c:
13953         * gst/vaapi/gstvaapipluginutil.h:
13954         * gst/vaapi/gstvaapivideomemory.c:
13955           pluginutil: add gst_video_info_force_nv12_if_encoded()
13956           This lines repeat a couple times in the code, so it would be better to put it
13957           a helper function.
13958           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13959
13960 2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13961
13962         * gst/vaapi/gstvaapipluginutil.c:
13963         * gst/vaapi/gstvaapipluginutil.h:
13964         * gst/vaapi/gstvaapipostproc.c:
13965         * gst/vaapi/gstvaapivideobufferpool.c:
13966           pluginutil: add gst_video_info_changed() helper
13967           This function is shared among different elements, so let factorized it.
13968           https://bugzilla.gnome.org/show_bug.cgi?id=765435
13969
13970 2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
13971
13972         * gst/vaapi/gstvaapipostprocutil.c:
13973           vaapipostproc: Add colorimetry attributes to src caps
13974           https://bugzilla.gnome.org/show_bug.cgi?id=766596
13975
13976 2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
13977
13978         * gst/vaapi/gstvaapidecode.c:
13979           vaapidecode: remove chroma-site and colorimetry from src caps
13980           https://bugzilla.gnome.org/show_bug.cgi?id=766596
13981
13982 2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
13983
13984         * gst/vaapi/gstvaapipostproc.c:
13985         * gst/vaapi/gstvaapipostproc.h:
13986           vaapipostproc: add postproc_lock to protect data members
13987           Add a mutex to postproc to protect concurrent access to data members.
13988           Previously set_caps() could release the allowed_srcpad_caps while
13989           transform_caps was in the middle of using it.
13990           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
13991           https://bugzilla.gnome.org/show_bug.cgi?id=766940
13992
13993 2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13994
13995         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
13996         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
13997           encoder: vp9: Add simple algorithms for reference picture selection
13998           Added two modes(as properties) for reference picture selection:
13999           ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
14000           and LastRef is pointing to the previous frame.
14001           ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
14002           and n-2 th frame as AltRef
14003           https://bugzilla.gnome.org/show_bug.cgi?id=766048
14004
14005 2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14006
14007         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
14008           encoder: vp9: Define Max frame width and height
14009           https://bugzilla.gnome.org/show_bug.cgi?id=766048
14010
14011 2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14012
14013         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
14014         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
14015           encoder: vp9: Add more propertis for tuning encode quality
14016           Added three tuning properties:
14017           1: filter_level
14018           2: sharpness_level
14019           3: luma ac quant-table index
14020           https://bugzilla.gnome.org/show_bug.cgi?id=766048
14021
14022 2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14023
14024         * gst/vaapi/Makefile.am:
14025         * gst/vaapi/gstvaapi.c:
14026         * gst/vaapi/gstvaapiencode_vp9.c:
14027         * gst/vaapi/gstvaapiencode_vp9.h:
14028           Add vp9 encode element to "vaapi" plugin
14029           https://bugzilla.gnome.org/show_bug.cgi?id=766048
14030
14031 2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14032
14033         * gst-libs/gst/vaapi/Makefile.am:
14034         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
14035         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
14036           Add vp9 encoder support in libgstvaapi
14037           https://bugzilla.gnome.org/show_bug.cgi?id=766048
14038
14039 2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14040
14041         * configure.ac:
14042           build: Add check for VP9 encode API support in libva
14043           https://bugzilla.gnome.org/show_bug.cgi?id=766048
14044
14045 2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14046
14047         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
14048           gstvaapisurface_drm: fix internal documentation
14049
14050 2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14051
14052         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
14053           gstvaapisurface_drm: fix code-style
14054
14055 2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14056
14057         * gst/vaapi/gstvaapipluginbase.c:
14058           plugins: remove unused header
14059           Remove the include of gst/allocators/allocators.h since it is not used.
14060
14061 2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14062
14063         * gst/vaapi/gstvaapivideobufferpool.h:
14064           vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
14065           Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
14066           keep compatibility definition.
14067           This patch removes the definition of
14068           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
14069           gst-plugins-base version 1.2.2
14070
14071 2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14072
14073         * gst/vaapi/gstvaapipluginbase.c:
14074           plugins: add gst_vaapi_buffer_pool_caps_is_equal()
14075           This is a helper function to improve the readability of
14076           ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
14077           re-instantiated.
14078
14079 2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14080
14081         * gst/vaapi/gstvaapipluginbase.c:
14082           plugins: deactivate buffer pool before unref
14083           This buffer pool may still be processing buffers when a caps renegotiation is
14084           done. This one-liner patch deactivates the pool to drain it before it
14085           de-allocation.
14086
14087 2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14088
14089         * gst/vaapi/gstvaapipluginbase.c:
14090           plugins: no sinkpad bufferpool when decoder
14091           Right now, the decoders create a buffer pool for their sink pad which is not
14092           used at all, because the decoders have never proposed it to upstream.
14093           This patch avoids the buffer pool instantiating when the element inherits from
14094           the GstVideoDecoder class.
14095
14096 2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14097
14098         * gst/vaapi/gstvaapipluginbase.c:
14099           plugins: avoid to get/set pool config twice
14100           This patch is a bit of optimization, since the bufferpool configuration is get
14101           when the pool is created. Hence, we only need to request it when the pool from
14102           the allocation query is reused.
14103
14104 2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14105
14106         * gst/vaapi/gstvaapipluginbase.c:
14107           plugins: destroy pool earlier if non-vaapi
14108           If the offered pool in decide_allocation() vmethod doesn't have the
14109           VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
14110           so it could be created later.
14111
14112 2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14113
14114         * gst/vaapi/gstvaapivideobufferpool.c:
14115           vaapivideobufferpool: split caps validation
14116           When validating the caps from bufferpool config, this patch distinguishes the
14117           error from no caps received (NULL) from the invalid caps (cannot be converted
14118           into GstVideoInfo structure).
14119
14120 2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14121
14122         * gst/vaapi/gstvaapidecode.c:
14123         * gst/vaapi/gstvaapipluginbase.c:
14124           plugins: check for caps in query earlier
14125           Check for caps as soon gst_query_parse_allocation() returns.
14126
14127 2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14128
14129         * gst/vaapi/gstvaapipluginbase.c:
14130         * gst/vaapi/gstvaapipluginbase.h:
14131           plugins: remove unused variables
14132           This variables stopped to be used since commit 001a5c63, which removed the
14133           gstvaapiuploader.
14134
14135 2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14136
14137         * gst/vaapi/gstvaapipluginbase.c:
14138           plugins: fix potential memleak from commit 9159328
14139           If gst_video_info_from_caps() fails it is required to unref the instantiated
14140           pool.
14141
14142 2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14143
14144         * gst/vaapi/gstvaapipostproc.c:
14145           vaapipostproc: handle if gst_video_info_from_caps() fails
14146           Return FALSE is the received caps cannot be transformed into a GstVideoInfo
14147           structure.
14148
14149 2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14150
14151         * gst/vaapi/gstvaapipluginbase.c:
14152           plugins: handle if gst_video_info_from_caps() fails
14153           Let's play safe and return error if, somehow, the received caps are wrong.
14154
14155 2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14156
14157         * gst/vaapi/gstvaapipluginbase.c:
14158           plugins: relate errors to instance
14159           Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
14160           will show the name of the vaapipluginbase instance that failed.
14161           Also, the code-style is fixed, where some error labels need to be surrounded
14162           by braces.
14163
14164 2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14165
14166         * gst/vaapi/gstvaapipluginbase.c:
14167         * gst/vaapi/gstvaapipluginutil.c:
14168         * gst/vaapi/gstvaapisink.c:
14169           plugins: use GstVideoInfo accessors
14170           Instead of access to GstVideInfo members directly, use their accessors
14171           macros. This patch makes more resistance to future changes in GStreamer core.
14172
14173 2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14174
14175         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
14176         * gst/vaapi/gstvaapipluginbase.c:
14177         * gst/vaapi/gstvaapipostproc.c:
14178         * tests/simple-encoder.c:
14179           remove spurious gst_video_info_init()
14180           gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
14181           gst_video_info_init(), hence it is not required to call it before them. This
14182           patch removes these spurious calls.
14183
14184 2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14185
14186         * gst/vaapi/gstvaapipluginbase.c:
14187           vaapipluginbase: code-style: rename goto label
14188           The error labels have error_ prefix, but this one.
14189
14190 2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14191
14192         * gst/vaapi/gstvaapivideomemory.c:
14193           vaapivideomemory: use allocator custom alloc flag
14194           Instead of a dummy alloc() vmethod, the allocator instance set the flag
14195           GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
14196           gst_allocator_alloc() on the allocator.
14197
14198 2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14199
14200         * gst/vaapi/gstvaapivideobufferpool.c:
14201           vaapivideobufferpool: relate errors to instance
14202           Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
14203           the vaapivideobufferpool instance that failed.
14204
14205 2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14206
14207         * gst/vaapi/gstvaapipluginbase.c:
14208           plugins: remove gst_vaapi_plugin_base_set_pool_config()
14209           This function helper make sense for GStreamer 1.2, but it is not helpful for
14210           greater version since the validation is already done in the API implementation.
14211           Thus, it is removed.
14212
14213 2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14214
14215         * gst/vaapi/gstvaapipluginbase.c:
14216           gstvaapipluginbase: Fix typo in doc
14217
14218 2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14219
14220         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14221           encoder : h264: Disable b-frame encode in low-power mode
14222           This is a workaround since vaapi-intel-driver doesn't have
14223           support for B-frame encode when utilizing low-power-enc
14224           hardware block.
14225           Fixme :We should query the VAConfigAttribEncMaxRefFrames
14226           instead of blindly disabling b-frame support and set b/p frame count,
14227           buffer pool size etc based on the query result.
14228           https://bugzilla.gnome.org/show_bug.cgi?id=766050
14229
14230 2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14231
14232         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14233         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
14234           encoder: h264 : Use "tune=low-power" for enabling lowpower encode
14235           Remove the duplicate property "low-power-enc" and use the
14236           tune property for enabling low power encoding mode.
14237           https://bugzilla.gnome.org/show_bug.cgi?id=766050
14238
14239 2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14240
14241         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14242           gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
14243           https://bugzilla.gnome.org/show_bug.cgi?id=766050
14244
14245 2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14246
14247         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14248         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14249         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
14250           encoder: h264: Add support of low power/high performance encoding mode
14251           Added a new property "low-power-enc" for enabling low power
14252           encoding mode. Certain encoding tools may not be available
14253           with the VAEntrypointEncSliceLP.
14254           https://bugzilla.gnome.org/show_bug.cgi?id=766050
14255
14256 2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14257
14258         * gst-libs/gst/vaapi/gstvaapitypes.h:
14259         * gst-libs/gst/vaapi/gstvaapiutils.c:
14260         * gst-libs/gst/vaapi/gstvaapivalue.c:
14261           Add mapping for Macroblock level rate control (VA_RC_MB)
14262
14263 2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14264
14265         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14266           gstvaapidisplay: Add VAEntrypointEncSliceLP support
14267           https://bugzilla.gnome.org/show_bug.cgi?id=766050
14268
14269 2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14270
14271         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14272         * gst-libs/gst/vaapi/gstvaapiprofile.h:
14273           gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
14274           This is for implementations that supports low_power/high_performance
14275           variant for slice level encode.
14276           https://bugzilla.gnome.org/show_bug.cgi?id=766050
14277
14278 2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14279
14280         * gst/vaapi/gstvaapipostprocutil.c:
14281           vaapipostproc: negotiate frame size fixation
14282           Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
14283           using the sink caps, also it use the next capsfilter.
14284           This code is a shameless copy of gst_video_scale_fixate_caps() from
14285           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
14286           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14287
14288 2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
14289
14290         * gst/vaapi/gstvaapipostprocutil.c:
14291           vaapipostproc: don't use GstVideoInfo for src caps
14292           Instead of using gst_video_info_to_caps () to generated the fixed src caps,
14293           this patch enables the first step for caps negotiation with a possible
14294           following caps filter.
14295           _get_preferred_caps() will traverse the possible src caps looking for the one
14296           wit the preferred feature and the preferred color format. Then the color
14297           format, the frame size and the frame rate are fixated.
14298           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14299
14300 2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14301
14302         * gst/vaapi/gstvaapipostproc.c:
14303         * gst/vaapi/gstvaapipostprocutil.c:
14304         * gst/vaapi/gstvaapipostprocutil.h:
14305           vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
14306           Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
14307           No functional changes.
14308           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14309
14310 2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14311
14312         * gst/vaapi/gstvaapipostproc.c:
14313           vaapipostproc: simplify code
14314           Change a convoluted snippet to find the preferred color format in the peer
14315           caps.
14316           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14317
14318 2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14319
14320         * gst/vaapi/gstvaapipostproc.c:
14321           vaapipostproc: use othercaps for preferred caps
14322           Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
14323           from fixate_caps() vmethod to find the preferred caps feature and color
14324           format.
14325           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14326
14327 2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
14328
14329         * gst/vaapi/gstvaapipostproc.c:
14330           vaapipostproc: add fixate_caps() vmethod
14331           Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
14332           implements the fixate_caps() vmethod and moves code around.
14333           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14334
14335 2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14336
14337         * gst/vaapi/Makefile.am:
14338         * gst/vaapi/gstvaapipostproc.c:
14339         * gst/vaapi/gstvaapipostprocutil.c:
14340         * gst/vaapi/gstvaapipostprocutil.h:
14341           vaapipostproc: set early properties restrictions
14342           When running transform_caps() vmethod, returning the srcpad caps, the caps are
14343           early restricted to the element properties set: width, height, format and
14344           force keep aspect.
14345           A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
14346           are stored.
14347           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14348
14349 2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14350
14351         * gst/vaapi/gstvaapipostproc.c:
14352           vaapipostproc: log the caps transformation
14353           https://bugzilla.gnome.org/show_bug.cgi?id=758548
14354
14355 2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14356
14357         * gst/vaapi/gstvaapipostproc.c:
14358           vaapipostproc: no GLTextureUpload in sinkpad
14359           As the vaapipostproc does not process frames with the VideoGLTextureUpload
14360           meta, the feature is removed from the sink pad template.
14361           https://bugzilla.gnome.org/show_bug.cgi?id=765931
14362
14363 2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
14364
14365         * gst/vaapi/gstvaapivideobufferpool.c:
14366           vaapibufferpool: do not create texture upload meta if dmabuf
14367           https://bugzilla.gnome.org/show_bug.cgi?id=755072
14368
14369 2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14370
14371         * git.mk:
14372           build: update git.mk
14373
14374 2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14375
14376         * gst/vaapi/gstvaapipluginbase.h:
14377           plugin: fix macro processor check
14378           Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
14379           defined in config.h, but it would be 0 or 1 depending on the configure output.
14380           https://bugzilla.gnome.org/show_bug.cgi?id=765702
14381
14382 2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14383
14384         * tests/test-display.c:
14385           tests: display: guard possible unused variables
14386           https://bugzilla.gnome.org/show_bug.cgi?id=765702
14387
14388 2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14389
14390         * tests/codec.c:
14391         * tests/decoder.c:
14392         * tests/image.c:
14393         * tests/output.c:
14394         * tests/simple-decoder.c:
14395         * tests/test-decode.c:
14396         * tests/test-display.c:
14397         * tests/test-filter.c:
14398         * tests/test-h264.c:
14399         * tests/test-jpeg.c:
14400         * tests/test-mpeg2.c:
14401         * tests/test-mpeg4.c:
14402         * tests/test-subpicture-data.c:
14403         * tests/test-subpicture.c:
14404         * tests/test-surfaces.c:
14405         * tests/test-textures.c:
14406         * tests/test-vc1.c:
14407         * tests/test-windows.c:
14408           tests: inforce gstreamer code-style
14409
14410 2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14411
14412         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
14413           encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
14414           It seems driver requires enablement of cu_qp_delta_enabled_flag
14415           for modifying QP values to controll the CBR mode bitrate.
14416           https://bugzilla.gnome.org/show_bug.cgi?id=749852
14417
14418 2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14419
14420         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
14421           encoder: h265: Add CBR Encoding support
14422           https://bugzilla.gnome.org/show_bug.cgi?id=749852
14423
14424 2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
14425
14426         * gst-libs/gst/vaapi/gstvaapisurface.c:
14427           gstvaapisurface: explicitely clear TILING flag if dmabuf
14428           https://bugzilla.gnome.org/show_bug.cgi?id=755072
14429
14430 2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
14431
14432         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
14433           gstvaapisurface_drm: release image when done
14434           Otherwise intel-vaapi-driver will fail to process the exported surface because
14435           it will find it is currently derived, so considered as busy.
14436           https://bugzilla.gnome.org/show_bug.cgi?id=755072
14437
14438 2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
14439
14440         * gst/vaapi/gstvaapipostproc.c:
14441           vaapipostproc: already have a surface proxy if dmabuf
14442           https://bugzilla.gnome.org/show_bug.cgi?id=755072
14443
14444 2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
14445
14446         * gst/vaapi/gstvaapipostproc.c:
14447           various gst-indent
14448
14449 2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14450
14451         * gst/vaapi/gstvaapidecode.c:
14452         * gst/vaapi/gstvaapipluginbase.c:
14453         * gst/vaapi/gstvaapipluginbase.h:
14454           vaapidecode: search driver in whitelist
14455           If the backend driver vendor string is not in a white-list, and the
14456           environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
14457           change it state from NULL to READY, hence the auto-plug mechanism will look
14458           for another decoder.
14459           This patch assumes the GstContext has already being shared along the pipeline
14460           and the element has a valid GstVaapiDisplay instance.
14461           https://bugzilla.gnome.org/show_bug.cgi?id=764673
14462
14463 2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14464
14465         * gst/vaapi/gstvaapidecode.c:
14466         * gst/vaapi/gstvaapiencode.c:
14467         * gst/vaapi/gstvaapipluginbase.c:
14468         * gst/vaapi/gstvaapipluginbase.h:
14469         * gst/vaapi/gstvaapipostproc.c:
14470         * gst/vaapi/gstvaapisink.c:
14471           plugins: rework set_context() vmethod definition
14472           In bug 757598 was added the set_context() vmethod chain up in
14473           GstVaapiPluginBase. But it is buggy, since the parent_class address is
14474           assigned to the last element which called gst_vaapi_plugin_base_class_init().
14475           No error has shown up since none of the element's base classes redefined
14476           set_context() vmethod from GstElement, so always the correct function was
14477           called. Still this code is wrong and this patch make it right.
14478           Since set_context() is the same code, a macro is used to implement that code
14479           in all the gst-vaapi elements.
14480           https://bugzilla.gnome.org/show_bug.cgi?id=765368
14481
14482 2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14483
14484         * gst/vaapi/gstvaapipostproc.c:
14485           vaapipostproc: resize if negotiated and allocation caps are different
14486           Since commit 859a2b2, in vaapidecode, allocation query can be different from
14487           the negotiated caps.
14488           When connecting the vaapidecoder to the vaapipostprocessor, the last one will
14489           resize the frame to the negotiated, if and only if, some other parameter is
14490           activated to avoid the passthrough. If it is not, the surface won't be mapped
14491           into a image. If not, the image won't be resized and the output buffer would be
14492           mapped.
14493           This patch will break the passthrough if the allocation query is different
14494           from the negotiation caps, forcing the resizing.
14495           https://bugzilla.gnome.org/show_bug.cgi?id=765095
14496
14497 2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14498
14499         * gst/vaapi/gstvaapidecode.c:
14500           vaapidecode: improve code readability
14501           No functional changes.
14502
14503 2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14504
14505         * gst/vaapi/gstvaapidecode.c:
14506           vaapidecode: move GstCapsFeatures near to its use
14507           Move the handling of the GstCapsFeatures just after it is used, in order to
14508           avoid handling its memory.
14509
14510 2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14511
14512         * gst/vaapi/gstvaapidecode.c:
14513           vaapidecode: caps negotiation checks
14514           Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
14515           compiled with GL support.
14516
14517 2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14518
14519         * gst/vaapi/gstvaapidecode.c:
14520         * gst/vaapi/gstvaapipluginbase.c:
14521         * gst/vaapi/gstvaapipluginbase.h:
14522         * gst/vaapi/gstvaapipostproc.c:
14523           plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
14524
14525 2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14526
14527         * gst/vaapi/gstvaapidecode.c:
14528           vaapidecode: bail early if not caps in decide_allocation()
14529
14530 2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14531
14532         * gst/vaapi/gstvaapidecode.c:
14533         * gst/vaapi/gstvaapipluginbase.c:
14534         * gst/vaapi/gstvaapipluginutil.c:
14535         * gst/vaapi/gstvaapipluginutil.h:
14536         * gst/vaapi/gstvaapipostproc.c:
14537           plugin: use allowed caps filter from element
14538           Instead of using the srcpad template caps for filtering the peer caps, the
14539           function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
14540           for the element's allowed caps.
14541           With this modification, the vaapipostproc element simplifies a bit its code.
14542           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14543
14544 2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14545
14546         * gst/vaapi/gstvaapidecode.c:
14547         * gst/vaapi/gstvaapipluginbase.c:
14548         * gst/vaapi/gstvaapipluginutil.c:
14549         * gst/vaapi/gstvaapipluginutil.h:
14550         * gst/vaapi/gstvaapipostproc.c:
14551           plugin: remove function parameter
14552           The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
14553           saved if the out format is used for both: in and out. Thus the code is more
14554           readable.
14555           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14556
14557 2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14558
14559         * gst/vaapi/gstvaapidecode.c:
14560           vaapidecode: warns if driver will do color conversions
14561           If the downstream feature is system memory, the surface has to be mapped,
14562           hence a warning message is logged saying that the driver has to do color
14563           conversions. This might be troublesome because not all the color conversion
14564           combinations are supported by the VA-API drivers, and there is not a reliable
14565           way to know them before hand.
14566           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14567
14568 2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14569
14570         * gst/vaapi/gstvaapipluginutil.c:
14571           plugin: honour negotiated format
14572           Instead of setting the requested format by the caller, the function
14573           gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
14574           the negotiated format.
14575           A new helper function was added: gst_vaapi_find_preferred_format(), which,
14576           given the format list from the negotiated caps, will choose the best one, if
14577           possible, given the native format.
14578           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14579
14580 2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14581
14582         * gst/vaapi/gstvaapipluginutil.c:
14583           plugin: simplify caps feature selection
14584           This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
14585           Instead of intersecting custom caps to find the preferred feature, the peer
14586           caps are traversed in order to find the preferred feature, according to an
14587           ordered feature priority list.
14588           In the case of GLTextureUploadMeta, the colour format is computed using
14589           GstVideoInfo of the selected fixed caps.
14590           https://bugzilla.gnome.org/show_bug.cgi?id=765223
14591
14592 2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14593
14594         * gst/vaapi/gstvaapidecode.c:
14595           vaapidecode: use macros for GstVideoInfo
14596           Instead of accessing directly to the members of the structure, use the macros.
14597
14598 2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14599
14600         * gst/vaapi/gstvaapidecode.c:
14601           vaapidecode: refactor is_display_resolution_changed()
14602           Make the comparisons more readable and simple.
14603           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14604
14605 2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14606
14607         * gst/vaapi/gstvaapidecode.c:
14608         * gst/vaapi/gstvaapidecode.h:
14609           vaapidecode: keep only display_{width,height}
14610           Instead of keeping the structure GstVideoInfo when we are using its width and
14611           height, we only keep these two guints.
14612           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14613
14614 2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14615
14616         * gst/vaapi/gstvaapidecode.c:
14617           vaapidecode: decoded_info is valid at src caps update
14618           As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
14619           is called, then we don't need to verify or replace it with the sinkpad info
14620           (reference state).
14621           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14622
14623 2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14624
14625         * gst/vaapi/gstvaapidecode.c:
14626           vaapidecode: always a valid format in decoded_info
14627           Always set a valid format in decoded_info class variable.
14628           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14629
14630 2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14631
14632         * gst/vaapi/gstvaapidecode.c:
14633           vaapidecode: code style fixes
14634           No functional changes.
14635           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14636
14637 2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14638
14639         * gst/vaapi/gstvaapidecode.c:
14640           vaapidecode: init {decoded,display}_info at open()
14641           It is required to initialize {decoded,display}_info variables when the decoder
14642           is open, not only at instance initialization.
14643           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14644
14645 2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14646
14647         * gst/vaapi/gstvaapidecode.c:
14648         * gst/vaapi/gstvaapidecode.h:
14649           vaapidecode: remove spurious class variables
14650           active, do_pool_renego and do_outstate_renego class variables were used to
14651           indicate when negotiate downstream once, but now that each time a new surface
14652           resolution is pop out a renegotation verified, these variable are not required
14653           anymore.
14654           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14655
14656 2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14657
14658         * gst/vaapi/gstvaapidecode.c:
14659         * gst/vaapi/gstvaapipluginbase.c:
14660         * gst/vaapi/gstvaapipluginbase.h:
14661         * gst/vaapi/gstvaapipostproc.c:
14662           remove custom allocation query
14663           When resolving bug 753914, a custom allocation query was added, overlapping
14664           the responsibilities of GstVideoDecoder.
14665           But with the merge of the patches from bug 764421 this overlapping was not
14666           required anymore. This patch restores this situation setting the
14667           allocation_caps in the GstVideoCodecState when needed.
14668           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14669
14670 2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
14671
14672         * common:
14673           Automatic update of common submodule
14674           From 6f2d209 to ac2f647
14675
14676 2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14677
14678         * gst/vaapi/gstvaapidecode.c:
14679         * gst/vaapi/gstvaapidecodebin.c:
14680         * gst/vaapi/gstvaapipostproc.c:
14681           plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
14682           The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
14683           their caps templates if they were not compiled either with GLX or EGL support.
14684
14685 2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14686
14687         * gst/vaapi/gstvaapipluginutil.c:
14688           plugins: fix compilation when EGL/GLX is disabled
14689           The compiler might complain of gst_vaapi_create_display_from_handle() being
14690           unused if both EGL and GLX are disabled. This patch avoid that compilation
14691           error.
14692
14693 2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
14694
14695         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14696           libs: fix deleting a GstVaapiCodedBufferPool object
14697           Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
14698           Otherwise it is not called when the pool is destroyed and all objects
14699           referenced by the GstVaapiVideoPool are never released.
14700           https://bugzilla.gnome.org/show_bug.cgi?id=764993
14701
14702 2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14703
14704         * gst-libs/gst/vaapi/gstvaapisurface.c:
14705           surface: destroy derived image
14706           If gst_vaapi_image_new_with_image() fails, the created derived image should be
14707           destroyed, otherwise the surface cannot be processed because is being used.
14708           https://bugzilla.gnome.org/show_bug.cgi?id=764607
14709
14710 2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14711
14712         * gst/vaapi/gstvaapidecode.c:
14713           vaapidecode: add stop function
14714           Clear any status on the current stream:
14715           stored frames, caps and decoder configuration
14716           https://bugzilla.gnome.org/show_bug.cgi?id=763460
14717
14718 2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14719
14720         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14721           decoder: vp9: Align with the ABI changes in vp9 codecparser
14722           The subsampling_x, subsampling_y, bit_depth, color_space and color_range
14723           fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
14724           These fields are only present in keyframe or intra-only frame, no need to
14725           duplicate them for inter-frames.
14726           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14727
14728 2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14729
14730         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14731           decoder: vp9 : Add 10bit decoding support (Profile2)
14732           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14733
14734 2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14735
14736         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14737         * gst-libs/gst/vaapi/gstvaapiprofile.h:
14738           gstvaapiporfile: Add more VP9 profile definitions
14739           https://bugzilla.gnome.org/show_bug.cgi?id=764082
14740
14741 2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14742
14743         * Makefile.am:
14744         * configure.ac:
14745           build: possibility to disable tests
14746           The configuration option --disable-examples will disable the compilation of
14747           the sample apps in tests/ directory.
14748
14749 2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14750
14751         * gst/vaapi/gstvaapiencode_h264.c:
14752         * gst/vaapi/gstvaapiencode_h265.c:
14753         * gst/vaapi/gstvaapiencode_jpeg.c:
14754         * gst/vaapi/gstvaapiencode_mpeg2.c:
14755         * gst/vaapi/gstvaapiencode_vp8.c:
14756         * gst/vaapi/gstvaapipluginutil.h:
14757         * gst/vaapi/gstvaapisink.c:
14758           unify caps template for VAAPI encoders and decoders
14759           There is no difference in VAAPI surface caps between encoders and decoders.
14760           Thus, the patch makes a simplification by removing encoders specific caps and
14761           shares the same definition of VAAPI surfaces caps for all the elements.
14762
14763 2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14764
14765         * gst/vaapi/gstvaapidecode.c:
14766           vaapidecode: move gst_vaapidecode_negotiate() code
14767           With it we can remove a function declaration, making the code a bit
14768           more readable.
14769           https://bugzilla.gnome.org/show_bug.cgi?id=764316
14770
14771 2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14772
14773         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
14774         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
14775         * gst/vaapi/gstvaapidecode.c:
14776           docs: generate vaapijpegdec documentation
14777           https://bugzilla.gnome.org/show_bug.cgi?id=764314
14778
14779 2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14780
14781         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14782           decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
14783           The array_completeness, reserved bit and num_nal_units fields
14784           in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
14785           but not for each occurance of similar headers.
14786           https://bugzilla.gnome.org/show_bug.cgi?id=764274
14787
14788 2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14789
14790         * gst-libs/gst/vaapi/video-format.c:
14791           video-format: Keep the HW order preference while mapping to GstVideoFormats
14792
14793 2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14794
14795         * gst/vaapi/gstvaapidecode.c:
14796         * gst/vaapi/gstvaapipluginbase.c:
14797         * gst/vaapi/gstvaapipluginutil.c:
14798         * gst/vaapi/gstvaapipluginutil.h:
14799         * gst/vaapi/gstvaapivideomemory.c:
14800           gst/vaapi: keep precedence for NV12 over I420
14801           Use NV12 as default "assumption" format all over.
14802           NV12 is the default high priority format used my most of the
14803           vaapi-drivers.
14804
14805 2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14806
14807         * gst/vaapi/gstvaapidecode.c:
14808           vaapidecode: Use video format derived from decoded surface as default src pad format
14809           Use the surface format derived from first decoded surface
14810           to negotiate the downstream video format capabilities.
14811           https://bugzilla.gnome.org/show_bug.cgi?id=759181
14812
14813 2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
14814
14815         * gst-libs/gst/vaapi/gstvaapiimage.c:
14816         * gst-libs/gst/vaapi/video-format.c:
14817         * gst/vaapi/gstvaapidecode.c:
14818         * gst/vaapi/gstvaapipluginutil.h:
14819         * gst/vaapi/gstvaapisink.c:
14820           Add P010 video format support
14821           The P010 video format is the native format used by the vaapi intel driver
14822           for HEVCMain10 decode . Add support for planes and images of this video format.
14823           https://bugzilla.gnome.org/show_bug.cgi?id=759181
14824
14825 2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
14826
14827         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14828           libs: x11: allows 30-bit colour depth
14829           The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
14830           fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
14831           with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
14832           work as expected.
14833           https://bugzilla.gnome.org/show_bug.cgi?id=764256
14834
14835 2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14836
14837         * gst/vaapi/gstvaapivideometa_texture.c:
14838           gltextureupload: use an array for texture type
14839           Instead of using a single value for the texture type, use an array with 4
14840           elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
14841           overflow.
14842           https://bugzilla.gnome.org/show_bug.cgi?id=764231
14843
14844 2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14845
14846         * gst/vaapi/gstvaapidecode.c:
14847         * gst/vaapi/gstvaapipluginbase.c:
14848           vaapidecode: Fix decide_allocation handling
14849           Set the already configured pool in decide_allocation query
14850           in cases where pool renegotiation is not required.
14851           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14852
14853 2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14854
14855         * gst/vaapi/gstvaapidecode.c:
14856           vaapidecode: Derive and save the decoded surface format
14857           After the decoding of first frame, try to extract the exact
14858           decoded surface format using vaDeriveImage and keep this
14859           as the format in decoded_info.
14860           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14861
14862 2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14863
14864         * gst/vaapi/gstvaapidecode.c:
14865         * gst/vaapi/gstvaapidecode.h:
14866         * gst/vaapi/gstvaapipluginbase.c:
14867         * gst/vaapi/gstvaapipluginbase.h:
14868         * gst/vaapi/gstvaapipostproc.c:
14869           Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
14870           -- Maintaing decoded surface resoluton and actual display resoultion separately
14871           -- Before pushing every frames downstream, check for the requirement of pool negoation and
14872           output_state negotiation: This is needed to avoid multiple issuses with cropping,
14873           multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
14874           possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
14875           We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
14876           This is slight overhead, but safe enough. Optimization could be possible though.
14877           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14878
14879 2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14880
14881         * gst/vaapi/gstvaapidecode.c:
14882           vaapidecode: Delay the output format setting until we have a decoded surface
14883           This will help to consoidate the out caps negotiation to a single place,
14884           which will make the code simpler, allows to get the exact decoded format
14885           if needed and the selected chroma type too.
14886           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14887
14888 2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14889
14890         * gst/vaapi/gstvaapidecode.h:
14891           vaapidecode: GST_VAAPIDECODE macro is a cast
14892           This patch is the continuation of commit 1e1d3b1d because the function
14893           gst_vaapidecode_get_type() got undefined since then.
14894           Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
14895           structure. The rest of the GObject handling macros were deleted too.
14896
14897 2016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
14898
14899         * configure.ac:
14900           Back to development
14901
14902 === release 1.8.0 ===
14903
14904 2016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
14905
14906         * ChangeLog:
14907         * NEWS:
14908         * configure.ac:
14909         * gstreamer-vaapi.doap:
14910           Release 1.8.0
14911
14912 === release 1.7.91 ===
14913
14914 2016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
14915
14916         * ChangeLog:
14917         * NEWS:
14918         * configure.ac:
14919         * gstreamer-vaapi.doap:
14920           Release 1.7.91
14921
14922 2016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14923
14924         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14925           decoder: h265: Fix offset calculation in codec_data parsing
14926           https://bugzilla.gnome.org/show_bug.cgi?id=762922
14927
14928 2016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14929
14930         * gst/vaapi/gstvaapidecodebin.c:
14931           vaapidecodebin: don't handle jpeg decoding
14932           As JPEG decoder has been split and demoted, it cannot be handled by
14933           vaapidecodebin
14934           Added a fixme comment regarding the future removal of vaapidecode.
14935           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14936
14937 2016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14938
14939         * gst/vaapi/gstvaapidecode.c:
14940           vaapidecode: split out jpeg decoder
14941           Split, as a different element, the JPEG decoder.
14942           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14943
14944 2016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14945
14946         * gst/vaapi/gstvaapi.c:
14947         * gst/vaapi/gstvaapidecode.c:
14948         * gst/vaapi/gstvaapidecode.h:
14949           vaapidecode: register decoder with internal GType
14950           Don't expose the the vaapidecode GType, instead expose a function
14951           which will register element.
14952           This is the first step to split the decoder by codecs.
14953           https://bugzilla.gnome.org/show_bug.cgi?id=734093
14954
14955 2016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14956
14957         * gst/vaapi/gstvaapidecode.c:
14958           vaapidecode: remove unused function declaration
14959           There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
14960           code-style of the other pre-declared functions.
14961
14962 2016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14963
14964         * docs/plugins/Makefile.am:
14965           build: git ignore gtkdoc generated files
14966
14967 2016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14968
14969         * m4/Makefile.am:
14970           build: handle git ignore in m4 directory
14971
14972 2016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14973
14974         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14975           vaapidecoder_h265: plug leak of h265 parsing info
14976           If something goes wrong while parsing, the info object is
14977           being leaked
14978           https://bugzilla.gnome.org/show_bug.cgi?id=763121
14979
14980 2016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
14981
14982         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14983           vaapidecoder_h264: plug leak of h264 parsing info
14984           If something goes wrong while parsing, the info object is
14985           being leaked
14986           https://bugzilla.gnome.org/show_bug.cgi?id=763121
14987
14988 2016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
14989
14990         * gst/vaapi/gstvaapipluginutil.c:
14991           plugins: fix gstgl and vaapi memory leaks
14992           1\ Unref gl_display and gl_window as soon they are not needed.
14993           2\ Remove an unneeded display type check, since is handled by
14994           gst_vaapi_created_display_from_handle()
14995           3\ Unref vaapi's display if the display cannot be bind to a GL API.
14996           Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14997           https://bugzilla.gnome.org/show_bug.cgi?id=763354
14998
14999 2016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
15000
15001         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15002           vaapidisplay: Fix uninitialized value error for VA attribute
15003           https://bugzilla.gnome.org/show_bug.cgi?id=763362
15004
15005 2016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15006
15007         * gst/vaapi/gstvaapidecode.c:
15008         * gst/vaapi/gstvaapiencode.c:
15009           plugins: proxy information from downstream caps
15010           Propagate to upstream the downstream information, such as fps, par, etc.
15011           This will fix several "getcaps" critical warnings in gst-validate.
15012           https://bugzilla.gnome.org/show_bug.cgi?id=763300
15013
15014 2016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15015
15016         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15017           decoder: vp9: Assign values for profile and bit_depth from frame header
15018           bit_depth field has added only in VA-API 0.39.0, added version check.
15019
15020 2016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
15021
15022         * Makefile.am:
15023           build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
15024           https://bugzilla.gnome.org/show_bug.cgi?id=763067
15025
15026 === release 1.7.90 ===
15027
15028 2016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
15029
15030         * ChangeLog:
15031         * NEWS:
15032         * configure.ac:
15033         * gstreamer-vaapi.doap:
15034           Release 1.7.90
15035
15036 2016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
15037
15038         * configure.ac:
15039           configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
15040
15041 2016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15042
15043         * gst/vaapi/gstvaapidecode.c:
15044           vaapidecode: intersect with filter in getcaps()
15045           In commit 6034734d I forgot to add the caps filter intersection in the
15046           getcaps() vmethod generating a regression when a capsfilter is set in the
15047           pipeline.
15048           This commit adds the caps filter intersection.
15049
15050 2016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
15051
15052         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
15053           Add memset to initialize value for VAEncSliceParameterBufferJPEG
15054           https://bugzilla.gnome.org/show_bug.cgi?id=762850
15055
15056 2016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
15057
15058         * common:
15059           Automatic update of common submodule
15060           From b64f03f to 6f2d209
15061
15062 2016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15063
15064         * Makefile.am:
15065         * configure.ac:
15066         * m4/Makefile.am:
15067           build: add m4 directory
15068           Instead of rely on the automatic creation of m4 directory by aclocal, we
15069           already control it. Later we could create our own m4 scripts in order to
15070           unclutter configure.ac
15071           https://bugzilla.gnome.org/show_bug.cgi?id=762528
15072
15073 2016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
15074
15075         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15076           decoder: hevc: Fill dependent slice segment headers while parsing
15077           Copy the data into the dependent slice segment header from the
15078           corresponding independent slice segment header during parsing.
15079           Previously the reference to the "previous" independent header was
15080           held through the parsing phase and then dereferenced during the
15081           decoding phase. This caused all dependent headers to be populated
15082           with the data of the AU's last independent header instead of the
15083           proper corresponding header.
15084           https://bugzilla.gnome.org/show_bug.cgi?id=762352
15085           Changes since v1:
15086           - Reworded commit message
15087
15088 2016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15089
15090         * gst/vaapi/gstvaapidecode.c:
15091           vaapidecode: use video decoder getcaps()
15092           The usage of getcaps() vmethod is preferred than to handle manually the sink's
15093           caps query.
15094           In order to avoid function declarations, this patch moves the class_init()
15095           method to the end of the file.
15096
15097 2016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15098
15099         * gst/vaapi/gstvaapipluginbase.c:
15100           plugins: remove deprecated code
15101           Since we are only supporting current GStreamer version, since 1.3
15102           gst_buffer_pool_config_add_option() checks if the option to add is
15103           already set. There is no need to do it ourselves.
15104
15105 2016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
15106
15107         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15108           vaapidecoder_h265: fix parsing of NALU aligned data
15109           Don't assume the whole buffer is a single NAL, instead look for the
15110           next start code in case there are multiple NALs per buffer.
15111           https://bugzilla.gnome.org/show_bug.cgi?id=762328
15112
15113 2016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
15114
15115         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15116           vaapidecoder_h264: fix parsing of NALU aligned data
15117           Don't assume the whole buffer is a single NAL, instead look for the
15118           next start code in case there are multiple NALs per buffer.
15119           https://bugzilla.gnome.org/show_bug.cgi?id=762328
15120
15121 2016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
15122
15123         * gst/vaapi/gstvaapisink.c:
15124           vaapisink: Fix event,pad,structure memory leaks
15125           https://bugzilla.gnome.org/show_bug.cgi?id=762229
15126
15127 2016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
15128
15129         * gst/vaapi/gstvaapipluginbase.c:
15130           Add icamerasrc as dmabuf capable peer element
15131           icamerasrc is another gstreamer plugin using to capture RAW
15132           frames from camera device. It is based on libcamhal library.
15133           There are some properties available to control icamera behavior.
15134           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
15135           Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
15136           https://bugzilla.gnome.org/show_bug.cgi?id=759481
15137           Fixme: This is the similar workaround we done for v4l2src.
15138           The workaround will be removed once we fix #755072
15139
15140 2016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
15141
15142         * gst/vaapi/gstvaapipluginbase.c:
15143           vaapipluginbase: Fix structure memory leak
15144           config structure is not being freed in all cases
15145           https://bugzilla.gnome.org/show_bug.cgi?id=762172
15146
15147 2016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
15148
15149         * gst/vaapi/gstvaapidecode.c:
15150           vaapidecode: Fix videocodec state memory leak
15151           When state is not NULL and either width/height of video info is 0, then state leaks
15152           https://bugzilla.gnome.org/show_bug.cgi?id=762173
15153
15154 2016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
15155
15156         * gst/vaapi/gstvaapisink.c:
15157           vaapisink: post message for application for unhandled keyboard/mouse events
15158           Makes (most) keyboard shortcuts work in gst-play-1.0 when
15159           the video window has focus.
15160
15161 2016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
15162
15163         * gst/vaapi/gstvaapidecode.c:
15164           vaapidecode: Fix capsfeature memory leak
15165           https://bugzilla.gnome.org/show_bug.cgi?id=762116
15166
15167 2016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
15168
15169         * gst/vaapi/gstvaapisink.c:
15170           vaapisink: Fix capsfeature memory leak
15171           caps feature allocated is not being freeing in some cases
15172           https://bugzilla.gnome.org/show_bug.cgi?id=762111
15173
15174 2016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
15175
15176         * configure.ac:
15177         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
15178         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
15179         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
15180         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15181         * gst-libs/gst/vaapi/gstvaapifilter.c:
15182         * gst/vaapi/gstvaapidecodebin.c:
15183         * gst/vaapi/gstvaapipluginutil.c:
15184           vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
15185
15186 2016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
15187
15188         * configure.ac:
15189           configure: Fix setting of extra compiler warning flags
15190
15191 2016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15192
15193         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
15194           libs: fix build error
15195           gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
15196           functions are used only when libva's API version is greater than 0.36.0
15197           This patch guards those functions completely rather than just their
15198           content. The patch is a continuation of commit 38f8fea4
15199           Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
15200           https://bugzilla.gnome.org/show_bug.cgi?id=762055
15201
15202 2016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
15203
15204         * tests/simple-encoder.c:
15205           tests: simple-encoder: fix build error
15206           argument mismatch of gsize with 'long unsigned int'
15207           https://bugzilla.gnome.org/show_bug.cgi?id=762055
15208
15209 2016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15210
15211         * gst/vaapi/gstvaapisink.c:
15212           vaapisink: Fix wrong caps advertising
15213           The get_caps() should only report the supported formats.
15214           https://bugzilla.gnome.org/show_bug.cgi?id=761147
15215
15216 2016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
15217
15218         * common:
15219           Automatic update of common submodule
15220           From e97c9bb to b64f03f
15221
15222 2016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15223
15224         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
15225         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
15226         * gst/vaapi/gstvaapi.c:
15227         * gst/vaapi/gstvaapiencode_h264.c:
15228         * gst/vaapi/gstvaapiencode_h265.c:
15229         * gst/vaapi/gstvaapiencode_jpeg.c:
15230         * gst/vaapi/gstvaapiencode_mpeg2.c:
15231         * gst/vaapi/gstvaapiencode_vp8.c:
15232           rename encoders to vaapi{codec}enc
15233           Trying to comply with GStreamer's element names, this patch renames the
15234           encoders using the name format vaapi{codec}enc.
15235           In this way, the plugin documentation is linked correctly.
15236           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15237
15238 2016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15239
15240         * configure.ac:
15241           Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
15242           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15243
15244 2016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15245
15246         * configure.ac:
15247           build: remove vp9 parser check
15248           Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
15249           the check of the parser, as we did for the others.
15250           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15251
15252 2016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15253
15254         * common:
15255         * configure.ac:
15256           Back to development
15257           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15258
15259 === release 1.6.0 ===
15260
15261 2016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15262
15263         * configure.ac:
15264           Release 1.6.0
15265
15266 2016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15267
15268         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
15269         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15270         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
15271           libs: fix compiler warnings
15272           After setting the release flags, the compiler warns about a couple
15273           initialized variables.
15274           Also marked a couple of set variables as unused, because they are only
15275           used for assertion.
15276           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15277
15278 2016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15279
15280         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
15281         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
15282         * gst/vaapi/gstvaapidecode.c:
15283         * gst/vaapi/gstvaapidecodebin.c:
15284         * gst/vaapi/gstvaapiencode_h264.c:
15285         * gst/vaapi/gstvaapiencode_h265.c:
15286         * gst/vaapi/gstvaapiencode_jpeg.c:
15287         * gst/vaapi/gstvaapiencode_mpeg2.c:
15288         * gst/vaapi/gstvaapiencode_vp8.c:
15289         * gst/vaapi/gstvaapipostproc.c:
15290         * gst/vaapi/gstvaapisink.c:
15291           docs: update plugin documentation
15292           Update all the documentation of elements of the vaapi plugin.
15293           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15294
15295 2016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15296
15297         * Makefile.am:
15298         * configure.ac:
15299         * docs/Makefile.am:
15300         * docs/plugins/Makefile.am:
15301         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
15302         * docs/plugins/gstreamer-vaapi-plugins.types:
15303         * docs/reference/Makefile.am:
15304         * docs/reference/plugins/Makefile.am:
15305         * docs/reference/plugins/plugins-sections.txt:
15306         * docs/reference/plugins/plugins.types:
15307         * docs/version.entities.in:
15308           resurrect gtk-doc machinery
15309           Our auto-generated documentation has been a bit neglected. This patch replaces
15310           the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
15311           plugins, elements and libraries.
15312           This patch also re-enables documentation generation.
15313           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15314
15315 2016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15316
15317         * ChangeLog:
15318         * Makefile.am:
15319         * autogen.sh:
15320         * configure.ac:
15321           use gst-common submodule
15322           This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
15323           GStreamer common submodule.
15324           The documentation generation has been disable temporarily since it needs a
15325           major rework, which will be done in the following commit.
15326           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15327
15328 2016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15329
15330         * .gitmodules:
15331         * common:
15332           add gst-common submodule
15333           Pointing to branch 1.6
15334           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15335
15336 2016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15337
15338         * gstreamer-vaapi.doap:
15339           add doap descriptor
15340           DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
15341           describe software projects, in particular free and open source software.
15342           The description is used in GStreamer as in many other open source projects.
15343           This patch adds the doap description of this project.
15344           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15345
15346 2016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15347
15348         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
15349         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15350         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
15351         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
15352         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
15353         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
15354         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
15355         * gst-libs/gst/vaapi/gstvaapiimage.c:
15356         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
15357         * gst-libs/gst/vaapi/gstvaapipixmap.c:
15358         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
15359         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15360         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
15361           libs: humongous code style fix
15362           As part of the upstreaming process of gstreamer-vaapi into the GStreamer
15363           umbrella, we need to comply with the project's code style. This meant to
15364           change a lot of code.
15365           It was decided to use a single massive patch to update the code style.
15366           I would like to apologize with the original developers of this code because of
15367           the history breakage.
15368           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15369
15370 2016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15371
15372         * gst-libs/gst/vaapi/gstvaapicontext.c:
15373         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15374         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
15375         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
15376         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15377         * gst/vaapi/gstvaapivideomemory.c:
15378           libs: small refactors to enhance the code style
15379           As gst-indent generated ugly code in these cases, this patch changes the used
15380           idiomatic into other one.
15381           No functional changes were introduced.
15382           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15383
15384 2016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15385
15386         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
15387         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
15388         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
15389         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15390         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15391         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15392         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
15393         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15394         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15395         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15396         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
15397         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15398         * gst-libs/gst/vaapi/gstvaapifilter.c:
15399         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
15400         * gst-libs/gst/vaapi/gstvaapisurface.c:
15401         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
15402         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
15403         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
15404         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
15405         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
15406         * gst-libs/gst/vaapi/gstvaapiwindow.c:
15407         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
15408           libs: small code style fixes
15409           This a set of small code style fixes detected as-is by gst-indent.
15410           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15411
15412 2016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15413
15414         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
15415         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
15416         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
15417         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
15418         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
15419         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
15420         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
15421         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
15422         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15423           libs: trivial comment style fixes
15424           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15425
15426 2016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15427
15428         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
15429         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
15430           libs: avoid gst-indent mess up
15431           Guard pieces of code to avoid gst-ident to mess up the following code.
15432           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15433
15434 2016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15435
15436         * gst/vaapi/gstvaapidecode.c:
15437         * gst/vaapi/gstvaapidecodebin.c:
15438         * gst/vaapi/gstvaapipluginutil.c:
15439         * gst/vaapi/gstvaapisink.c:
15440         * gst/vaapi/gstvaapivideomemory.c:
15441           plugins: fix code style
15442           Minor code style changes by executing gst-indent in gst/vaapi directory.
15443           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15444
15445 2016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
15446
15447         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15448         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15449           Fix some more compiler warning
15450           Two (false) compiler warnings about variables potentially
15451           being used uninitialized, and one about a variable being
15452           set but not used.
15453           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15454
15455 2016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
15456
15457         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15458         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
15459         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15460         * gst-libs/gst/vaapi/gstvaapifilter.c:
15461         * gst/vaapi/gstvaapidecode.c:
15462         * gst/vaapi/gstvaapipluginbase.c:
15463         * gst/vaapi/gstvaapipluginutil.c:
15464         * gst/vaapi/gstvaapipostproc.c:
15465         * tests/simple-encoder.c:
15466         * tests/test-filter.c:
15467           vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
15468           Declare variables at the beginning of a code block, which
15469           is how it's done in GStreamer.
15470           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15471
15472 2016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15473
15474         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
15475           decoder: vp9: Fix crop rectangle setting
15476           Align with software vp9dec behaviour: Add crop rectangle
15477           only if display_width/display_height is less than the
15478           frame_hdr->width/frame_hdr->height
15479
15480 2016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15481
15482         * gst/vaapi/gstvaapidecode.c:
15483           vaapidecode: Fix renegotiation for resolution change
15484           Always renegotiate the pool if the immediate frame which going
15485           to be pushed has a different un-cropped resolution than the already
15486           configured one.
15487
15488 2016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15489
15490         * gst/vaapi/gstvaapipluginbase.h:
15491           plugins: use the same pre-processor macro
15492           In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
15493           code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
15494           HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
15495           We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
15496           in the header file.
15497           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15498
15499 2016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15500
15501         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15502           decoder: update a deprecated function
15503           Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
15504           deprecated since GStreamer 1.0.
15505           This patch replace it with gst_adapter_prev_pts()
15506           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15507
15508 2016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15509
15510         * configure.ac:
15511           build: honor configure's cache
15512           The user might enable --config-cache when calling configure script. If so, our
15513           configuration variables will not be correctly calculated.
15514           This patch extracts the value of our variables either from the cache or from
15515           the operation result.
15516           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15517
15518 2016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15519
15520         * configure.ac:
15521           build: use common version variables
15522           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15523
15524 2016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15525
15526         * configure.ac:
15527           build: hard-code an unneeded macro
15528           That macro is required for EGL's dynamic module loading, but since
15529           gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
15530           That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
15531           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15532
15533 2016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15534
15535         * configure.ac:
15536           build: refactorization of dependency tracking
15537           This patch tries to avoid branching in configure.ac using a more functional
15538           approach in macros usage.
15539           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15540
15541 2016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15542
15543         * configure.ac:
15544           build: check for OpenGL either GLX or EGL are requested
15545           Refactor some code in configure.ac to centralize $enable_opengl definition.
15546           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15547
15548 2016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15549
15550         * configure.ac:
15551           build: indent and add square braces
15552           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15553
15554 2016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15555
15556         * configure.ac:
15557           build: upgrade autotools version dependency
15558           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15559
15560 2016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15561
15562         * configure.ac:
15563           build: enhance string comparisons
15564           Add a 'x' as a prefix in string comparisons to watch out for edge cases where
15565           the string is empty or undefined.
15566           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15567
15568 2016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15569
15570         * configure.ac:
15571           build: remove unused variables
15572           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15573
15574 2016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15575
15576         * configure.ac:
15577           build: remove check for old version of gstreamer
15578           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15579
15580 2016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15581
15582         * configure.ac:
15583           build: remove GStreamer's parsers checks
15584           This patch removes almost all the parsers check since they are already in place,
15585           with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
15586           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15587
15588 2016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15589
15590         * configure.ac:
15591         * gst/vaapi/Makefile.am:
15592           build: add gstreamer-pbutils dependency
15593           This dependency was added in gstvaapidecodebin with the call
15594           gst_missing_element_message_new().
15595           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15596
15597 2016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15598
15599         * configure.ac:
15600           build: fix variable declaration
15601           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15602
15603 2016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15604
15605         * gst-libs/gst/vaapi/Makefile.am:
15606           build: fix when HEVC decoder is disabled
15607           This a very pathological situation: when we have a HEVC encoder but not a HEVC
15608           decoder.
15609           The encoder needs functions that are only available when the decoder is
15610           enabled.
15611           This patch moves the utils functions into the generic sources, such as the
15612           rest of the utils.
15613           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15614
15615 2016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15616
15617         * gst/vaapi/Makefile.am:
15618           build: remove unused EGL specific sources
15619           These Makefile variables are not used at all.
15620           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15621
15622 2016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15623
15624         * gst/vaapi/Makefile.am:
15625           build: remove check for GStreamer 1.2
15626           Since we are working for current stable GStreamer 1.6
15627           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15628
15629 2016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15630
15631         * gst/vaapi/gstvaapiparse.h:
15632           Remove more video parser crufts
15633           This header is not used anymore since it declares parsers that are
15634           already in GStreamer 1.6
15635           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15636
15637 2016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
15638
15639         * configure.ac:
15640         * docs/reference/Makefile.am:
15641         * docs/reference/libs/Makefile.am:
15642         * docs/reference/libs/libs-docs.xml.in:
15643         * docs/reference/libs/libs-overrides.txt:
15644         * docs/reference/libs/libs-sections.txt:
15645           docs: remove library documentation which is non-public now
15646           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15647
15648 2016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
15649
15650         * Makefile.am:
15651         * configure.ac:
15652         * debian.upstream/Makefile.am:
15653         * debian.upstream/changelog.in:
15654         * debian.upstream/compat:
15655         * debian.upstream/control.in:
15656         * debian.upstream/copyright:
15657         * debian.upstream/gstreamer-vaapi-doc.install.in:
15658         * debian.upstream/gstreamer-vaapi.install.in:
15659         * debian.upstream/rules:
15660           Remove debian.upstream packaging
15661           https://bugzilla.gnome.org/show_bug.cgi?id=759192
15662
15663 2016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15664
15665         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15666         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15667         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
15668         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15669         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15670         * gst/vaapi/gstcompat.h:
15671         * gst/vaapi/gstvaapi.c:
15672         * gst/vaapi/gstvaapidecode.c:
15673         * gst/vaapi/gstvaapiencode.c:
15674         * gst/vaapi/gstvaapipluginbase.c:
15675         * gst/vaapi/gstvaapipluginbase.h:
15676         * gst/vaapi/gstvaapipluginutil.c:
15677         * gst/vaapi/gstvaapisink.c:
15678           Remove old gst version guards
15679           As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
15680           all the old GStreamer version guards.
15681           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15682
15683 2016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15684
15685         * gst/vaapi/gstvaapiparse.c:
15686           Remove video parser crufts
15687           We forgot to remove gstvaapiparse.c when we removed all the videoparser
15688           machinery.
15689           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15690
15691 2015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15692
15693         * docs/reference/libs/Makefile.am:
15694         * docs/reference/plugins/Makefile.am:
15695         * gst-libs/gst/vaapi/Makefile.am:
15696         * gst/vaapi/Makefile.am:
15697         * tests/Makefile.am:
15698           libs: remove versioning
15699           Since we don't install libraries anymore, it makes no sense to keep
15700           versioning them according to the gstreamer's version.
15701           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15702
15703 2015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15704
15705         * configure.ac:
15706         * debian.upstream/Makefile.am:
15707         * debian.upstream/control.in:
15708         * debian.upstream/libgstvaapi-dev.install.in:
15709         * debian.upstream/libgstvaapi-drm.install.in:
15710         * debian.upstream/libgstvaapi-glx.install.in:
15711         * debian.upstream/libgstvaapi-wayland.install.in:
15712         * debian.upstream/libgstvaapi-x11.install.in:
15713         * debian.upstream/libgstvaapi.install.in:
15714         * gst-libs/gst/vaapi/Makefile.am:
15715         * tests/Makefile.am:
15716           libs: make libraries no installables
15717           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15718
15719 2015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15720
15721         * debian.upstream/libgstvaapi-dev.install.in:
15722         * gst-libs/gst/vaapi/Makefile.am:
15723           Do not install libgstvaapi headers
15724           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15725
15726 2016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15727
15728         * Makefile.am:
15729         * configure.ac:
15730         * patches/Makefile.am:
15731         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
15732         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15733         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
15734         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
15735         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
15736         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
15737         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
15738         * patches/videoparsers/Makefile.am:
15739         * patches/videoparsers/series.frag:
15740           Remove videoparser patches
15741
15742 2015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15743
15744         * Makefile.am:
15745         * configure.ac:
15746         * debian.upstream/libgstvaapi-dev.install.in:
15747         * pkgconfig/Makefile.am:
15748         * pkgconfig/gstreamer-vaapi-drm.pc.in:
15749         * pkgconfig/gstreamer-vaapi-glx.pc.in:
15750         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
15751         * pkgconfig/gstreamer-vaapi-x11.pc.in:
15752         * pkgconfig/gstreamer-vaapi.pc.in:
15753           Remove pkg-config files
15754           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15755
15756 2015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15757
15758         * .gitmodules:
15759         * Makefile.am:
15760         * configure.ac:
15761         * ext/Makefile.am:
15762         * ext/codecparsers:
15763         * gst-libs/gst/Makefile.am:
15764         * gst-libs/gst/codecparsers/Makefile.am:
15765         * gst-libs/gst/vaapi/Makefile.am:
15766         * gst/vaapi/Makefile.am:
15767           Remove codecparsers submodule
15768           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15769
15770 2015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15771
15772         * .gitmodules:
15773         * autogen.sh:
15774         * configure.ac:
15775         * debian.upstream/libgstvaapi.install.in:
15776         * ext/Makefile.am:
15777         * ext/libvpx/Makefile.am:
15778         * ext/libvpx/gstlibvpx.c:
15779         * ext/libvpx/gstlibvpx.h:
15780         * ext/libvpx/libgstcodecparsers_vpx.vers:
15781         * ext/libvpx/sources.frag:
15782         * ext/libvpx/upstream:
15783         * gst-libs/gst/codecparsers/Makefile.am:
15784         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
15785           Remove libvpx submodule
15786           We will be using upstream codecparsers always.
15787           No more internal libvpx !
15788
15789 2015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15790
15791         * configure.ac:
15792           build: fix check for GstJpegParser
15793           Right now the local JPEG parser is always compiled because the check for the
15794           upstreamed version is broken: it looks for an non existent symbol:
15795           GstJpegImage.
15796           This patch changes that check for< GstJpegFrameHdr.
15797           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15798
15799 2015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
15800
15801         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15802           wayland: free the frame in frame_release_callback()
15803           This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
15804           decouple wl_buffer from frame).
15805           Otherwise the frame may be overwritten while it is still used by the
15806           compositer:
15807           The frame done callback (frame_done_callback()) is called, when the
15808           compositor is done processing the frame and hands it to the hardware.
15809           The buffer release callback (frame_release_callback()) is called when the
15810           buffer memory is no longer used.
15811           This can be quite some time later: E.g. if weston (with the DRM backend)
15812           puts the buffer on a hardware plane, then then buffer release callback is
15813           called when the kernel is done with the buffer. This is usually when the
15814           next frame is shown, so most likely after the frame done callback for the
15815           next frame!
15816           Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
15817           destroy()" the mentioned possible leak should no longer be a problem, so
15818           reverting this change should cause no leaking buffers.
15819           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15820           https://bugzilla.gnome.org/show_bug.cgi?id=758848
15821           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15822
15823 2016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15824
15825         * gst/vaapi/gstvaapipostproc.c:
15826           vaapipostproc: check ANY caps at transform_caps()
15827           When transforming downstream caps we should check for ANY caps from peer pad,
15828           otherwise we get a segmentation fault.
15829           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15830           https://bugzilla.gnome.org/show_bug.cgi?id=759893
15831
15832 2016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15833
15834         * gst/vaapi/gstvaapisink.c:
15835           vaapisink: ignore frame if its upload failed
15836           When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
15837           into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
15838           ignored by the vaapisink, leading to a segmentation fault.
15839           This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
15840           returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
15841           segmentation fault, but doing and effort to continue rendering. This is
15842           the same behavior of ximagesink.
15843           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15844           https://bugzilla.gnome.org/show_bug.cgi?id=759332
15845
15846 2015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
15847
15848         * configure.ac:
15849           build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
15850           https://bugzilla.gnome.org/show_bug.cgi?id=759184
15851
15852 2015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15853
15854         * gst-libs/gst/vaapi/gstvaapicontext.c:
15855         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15856         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
15857         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
15858           Add 10 HEVC 10 bit decoding support
15859           Only supporting vaapidecode ! vaapisink combination for now.
15860           Missing dependencies:
15861           1: No support for P010 video format in GStreamer
15862           2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
15863           3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
15864           through GstVideoMeta.
15865           Right now we only set chroma format (YUV420 with more than 8 bits per channel)
15866           for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
15867           of the surfaces is implementation (driver) defined, which is P010.
15868
15869 2001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15870
15871         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
15872         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
15873           gstvaapisurfacepool: Add new API to create surface pool based on chroma type
15874           This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
15875           creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
15876           chroam type and dimensions. The underlying format of the surfaces is
15877           implementation (driver) defined.
15878
15879 2015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15880
15881         * gst-libs/gst/vaapi/gstvaapisurface.h:
15882         * gst-libs/gst/vaapi/gstvaapiutils.c:
15883           Add definitions for YUV420 with more than 8 bits per channel
15884
15885 2015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15886
15887         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15888           gstvaapiporfile: Fix string representation of HEVCMain10 profile
15889
15890 2015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15891
15892         * configure.ac:
15893           Bump version for development
15894
15895 === release 0.7.0 ===
15896
15897 2015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15898
15899         * configure.ac:
15900           0.7.0
15901
15902 2015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15903
15904         * NEWS:
15905           NEWS: Updates
15906
15907 2015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15908
15909         * AUTHORS:
15910           AUTHORS: Update
15911
15912 2015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15913
15914         * README:
15915           README: Update
15916
15917 2015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15918
15919         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
15920           texture: detect GL version and use the proper API
15921           When receiving the texture from the application or the video sink, we must
15922           know it size and border. To query the texture the API has changed according to
15923           the OpenGL version used in the GL context of the application/vsink.
15924           This patch checks the current context API type and queries the texture
15925           according to this detected API.
15926           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15927           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15928
15929 2015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15930
15931         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
15932           texture: check for expected target and format
15933           gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
15934           formats GL_RGBA or GL_BGRA.
15935           This patch adds a debugging verification of those values.
15936           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15937           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15938
15939 2015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15940
15941         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
15942         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
15943           libs: add gl3_bind_texture_2d()
15944           Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
15945           needed. In particular, the Intel's Mesa implementation complains if it is
15946           called.
15947           This patch add a new binding function for 2D textures, without enabling
15948           gl3_bind_texture_2d()[2].
15949           1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
15950           2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
15951           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15952           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15953
15954 2015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15955
15956         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
15957         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
15958           libs: add gl_get_current_api()
15959           In order to know which OpenGL API use, we must detect the API type of current
15960           context. This patch adds the function gl_get_current_api() which returns the
15961           OpenGL API type.
15962           This function is an adaptation of gst_gl_context_get_current_gl_api() from
15963           GstGL.
15964           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15965           https://bugzilla.gnome.org/show_bug.cgi?id=753099
15966
15967 2015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15968
15969         * configure.ac:
15970         * gst-libs/gst/vaapi/Makefile.am:
15971           build: Add gmodule dependency for libgstvaapi_egl
15972           https://bugzilla.gnome.org/show_bug.cgi?id=756259
15973
15974 2015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15975
15976         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
15977         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
15978         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
15979         * patches/videoparsers/series.frag:
15980           patches/videoparsers: h264: Disable passthorugh mode enabling
15981           This is a quick fix for regression introduced by the upstream
15982           commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
15983           The patch is disabling the passthrough mode, otherwise it will
15984           break multi-layer mvc stream parsing.
15985           https://bugzilla.gnome.org/show_bug.cgi?id=758656
15986
15987 2015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15988
15989         * gst/vaapi/Makefile.am:
15990         * patches/videoparsers/Makefile.am:
15991         * patches/videoparsers/series.frag:
15992           build: add gsth265parse patches conditionally
15993           As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
15994           GStreamer 1.2, the patching of gsth265parse must be conditional to the target
15995           GStreamer version.
15996           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15997           https://bugzilla.gnome.org/show_bug.cgi?id=755525
15998
15999 2015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16000
16001         * gst/vaapi/Makefile.am:
16002           build: declare correctly parse lib built files
16003           This is a continuation of commit fc8a0d12
16004           When declaring BUILT_SOURCES, those files should not be distributed. This
16005           patch avoids the distribution of the generated source code.
16006           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16007           https://bugzilla.gnome.org/show_bug.cgi?id=755525
16008
16009 2015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16010
16011         * ext/libvpx/sources.frag:
16012           build: libvpx: Add missing source file
16013
16014 2015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16015
16016         * gst/vaapi/gstvaapipostproc.c:
16017           vaapipostproc: Correctly detect the caps change
16018           This is a quick fix for regression introuduced by the
16019           commit 757833230bc73b8e3b4e31649e4618ba802bea51
16020           With out this, the gst_vaapipostproc_create() will
16021           never get invoked.
16022           https://bugzilla.gnome.org/show_bug.cgi?id=758543
16023
16024 2015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16025
16026         * ext/libvpx/Makefile.am:
16027         * ext/libvpx/sources.frag:
16028           build: libvpx: update the sources lists
16029           `make dist` broke since commit f06798 (libvpx: Update the submodule to
16030           libvpx-1.4.0) because the sources.frag does not contain all the module
16031           sources.
16032           This patch updates thoroughly the sources.
16033           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16034           https://bugzilla.gnome.org/show_bug.cgi?id=755525
16035
16036 2015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16037
16038         * gst/vaapi/gstvaapipostproc.c:
16039           vaapipostproc: don't set caps change at first set
16040           When the source caps change, the filter is destroyed and recreated.
16041           Nonetheless, this happens every time the vaapipostproc starts, since the caps
16042           change detection algorithm does not take in consideration when the caps are
16043           set by first time.
16044           This patch intents to be an optimization, to avoid a useless filter
16045           destroy-creation cycle when the sources caps are set for first time.
16046           The new helper function video_info_update() is a refactorization to avoid
16047           duplicated code.
16048           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16049           https://bugzilla.gnome.org/show_bug.cgi?id=758007
16050
16051 2015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16052
16053         * gst/vaapi/gstvaapipostproc.c:
16054           vaapipostproc: params video_info_changed() callers
16055           The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
16056           swapped the the order. This didn't raise problems since the comparison of both
16057           structures were not affected by its semantics.
16058           But still it would be better to fix this to keep the coherence of the code.
16059           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16060           https://bugzilla.gnome.org/show_bug.cgi?id=758007
16061
16062 2015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16063
16064         * gst/vaapi/Makefile.am:
16065           build: declare real built files
16066           When runnig the `make dist` target from a clean tree, it fails because
16067           if could not find the copied files from codecparsers submodule.
16068           They weren't copied because they weren't declared as built sources.
16069           This patch removes the stamp mechanism and use the actual file list to copy
16070           as the built sources. Also it fixes the duplication of the parser files.
16071           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16072           https://bugzilla.gnome.org/show_bug.cgi?id=755525
16073
16074 2015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16075
16076         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16077           decoder: vp9: Fix last/golden/altref frame index setting
16078           Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
16079           based on what ever reference frame indices encoded in frame header.
16080
16081 2015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16082
16083         * debian.upstream/rules:
16084           debian: remove custom parallel compilation
16085           In order to build a debian package with upstream source, the user should
16086           do
16087           ./autogen.sh
16088           cp -a debian.upstream debian
16089           debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
16090           The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
16091           way to make a parallel build (-j8 in this case).
16092           This commit removes the script in debian/rules that detects the number of
16093           cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
16094           official in debian.
16095           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16096           https://bugzilla.gnome.org/show_bug.cgi?id=754087
16097
16098 2015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16099
16100         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16101           decoder: vp9: Fix PTS calculation of cloned frames
16102
16103 2015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16104
16105         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16106           decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
16107           We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
16108           gstvaapidecoder base calss is reponsible for handling those frames later on.
16109           No need for explicit verification of frame header's show_frame in order to
16110           do picture outputing.
16111
16112 2015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16113
16114         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16115           decoder: vp9: Fix ref picture update while doing repeat frame
16116           Don't try to do frame decoding and reference picture update
16117           while receiving a vp9 frame having show_existing_frame flag
16118           set as TRUE.
16119
16120 2015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16121
16122         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16123           decoder: vp9: Add repeat-frame display handling
16124           If vp9 frame header come up with show_existing_frame flag set,
16125           we should duplicate the existing decoded frame as current frame to
16126           be displayed.
16127
16128 2015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16129
16130         * gst/vaapi/gstvaapidecodebin.c:
16131           vaapidecodebin: add me as element co-author
16132           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16133           https://bugzilla.gnome.org/show_bug.cgi?id=757957
16134
16135 2015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16136
16137         * gst/vaapi/gstvaapidecodebin.c:
16138           vaapidecodebin: try to get display from decoder
16139           Rather than create a dummy display, if none has propagated as a context, we
16140           should try to get the one from vaapidecode.
16141           As the bin is already in READY state, the vaapidecode should be also in that
16142           state. That means that the contexts have been negotiated, and it should have
16143           already a display.
16144           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16145           https://bugzilla.gnome.org/show_bug.cgi?id=757957
16146
16147 2015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16148
16149         * gst/vaapi/gstvaapidecodebin.c:
16150         * gst/vaapi/gstvaapidecodebin.h:
16151           vaapidecodebin: add postprocessor dynamically
16152           The former approach to left the bin unfinished has some problems: the context
16153           cannot be shared because the vaapidecode is unlinked in many cases, leading to
16154           creating a VADisplay twice.
16155           Initially the bin is fully functional, constructed as
16156           (-----------------------------------)
16157           |            vaapidecodebin         |
16158           |   (-------------)    (-------)    |
16159           |<--| vaapidecode |--->| queue |--->|
16160           |   (-------------)    (-------)    |
16161           (-----------------------------------)
16162           When the context is shared and the VADisplay has VPP capabilities, before
16163           changing to READY state, the bin is reconfigured dynamically, adding the
16164           vaapipostproc element afeter the queue:
16165           (--------------------------------------------------------)
16166           |                       vaapidecodebin                   |
16167           |   (-------------)    (-------)    (---------------)    |
16168           |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
16169           |   (-------------)    (-------)    (---------------)    |
16170           (--------------------------------------------------------)
16171           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16172           https://bugzilla.gnome.org/show_bug.cgi?id=757957
16173
16174 2015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16175
16176         * gst/vaapi/gstvaapidecodebin.c:
16177           vaapidecodebin: delay the bin configuration
16178           Delay the bin configuration until changing to READY state. This is because we
16179           should add the vaapipostproc element until the vaapidecode has emitted the
16180           HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
16181           vaapipostproc.
16182           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16183           https://bugzilla.gnome.org/show_bug.cgi?id=757957
16184
16185 2015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16186
16187         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16188           decoder: vp9: Add crop rectangle support.
16189           Set crop rectange if:
16190           There is display_width and display_height which is different from actual width/height
16191           or
16192           The changed resolution is less than the actual configured dimension of surfaces
16193
16194 2015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16195
16196         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16197           decoder: vp9: Fix the context and surface pool reset for multi resolution video
16198           Unlike other decoders, vp9 decoder doesn't need to reset the
16199           whole context and surfaces for each resolution change. Context
16200           reset only needed if resolution of any frame is greater than
16201           what actullay configured. There are streams where a bigger
16202           resolution set in ivf header or webm header but actual resolution
16203           of all frames are less. Also it is possible to have inter-prediction
16204           between these multi resolution frames.
16205
16206 2015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16207
16208         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16209           decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
16210           Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
16211           Preliminary fix for supproting multi resolution video decode.
16212
16213 2015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16214
16215         * gst/vaapi/gstvaapidecode.c:
16216           vaapidecode: Add comments for corner case fixes and fix couple of indentations.
16217
16218 2015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16219
16220         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16221           decoder: vp9: Set lossless flag from frame header
16222
16223 2015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16224
16225         * ext/codecparsers:
16226           codecparsers: Update to gst-vaapi-branch d9f25
16227           d9f2527: codecparsers: vp9: Set lossless flag in frame header
16228
16229 2015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16230
16231         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16232           libs: vp9: remove unused symbols
16233           clang complains about a couple variables and one label which were not
16234           used. This patch removes them.
16235           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16236           https://bugzilla.gnome.org/show_bug.cgi?id=757958
16237
16238 2015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16239
16240         * ext/codecparsers:
16241           codecparsers: Update to gst-vaapi-branch da251bb
16242           da251bb: codecparsers: vp9: Optimize the memory allocation
16243           f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
16244
16245 2015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16246
16247         * gst/vaapi/gstvaapipluginbase.c:
16248         * gst/vaapi/gstvaapipluginbase.h:
16249           plugin: guard pointers to pad query functions
16250           Since gstreamer 1.4 is not required to have pad query functions if the query
16251           vmethods are used.
16252           This patch guards out the pad query functions for gstreamer < 1.4
16253           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16254           https://bugzilla.gnome.org/show_bug.cgi?id=757629
16255
16256 2015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16257
16258         * gst/vaapi/gstvaapiencode.c:
16259           vaapiencode: use pad query vmethods
16260           GstVideoEncoder, the base class of vaapiencode, added support for pad queries
16261           as virtual methods since gstreamer 1.4. This patch enables those vmethods,
16262           while keeps support for previous versions of gstreamer.
16263           This patch is relevant since GstVideoEncoder takes care of other queries that
16264           we are currently ignoring.
16265           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16266           https://bugzilla.gnome.org/show_bug.cgi?id=757629
16267
16268 2015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16269
16270         * gst/vaapi/gstvaapidecode.c:
16271           vaapidecode: return pad's template caps if no display
16272           A caps query can occur before the element has a display. In that case, the
16273           element can return its pad's template. But when the element already has a
16274           display, and the caps probe fails, the element shall return an empty caps, so
16275           the auto-plug could try with another decoder.
16276           If the element has a display and the caps probe works, then the computed caps
16277           should be returned.
16278           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16279           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16280
16281 2015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16282
16283         * gst/vaapi/gstvaapidecode.c:
16284         * gst/vaapi/gstvaapisink.c:
16285           plugins: don't create display at caps query
16286           Caps query can happen before the element has a bus. The display creation should
16287           be should occur on the context negotiation, when the bus is already configured.
16288           Then at caps query no display should be created.
16289           Instead of force the display creation, we graciously fail the allowed_caps()
16290           creation.
16291           This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
16292           basetransform descendant, seems to be not affected by this, nor the encoders.
16293           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16294           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16295
16296 2015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16297
16298         * gst/vaapi/gstvaapidecode.c:
16299         * gst/vaapi/gstvaapiencode.c:
16300         * gst/vaapi/gstvaapipluginutil.c:
16301         * gst/vaapi/gstvaapipluginutil.h:
16302         * gst/vaapi/gstvaapipostproc.c:
16303         * gst/vaapi/gstvaapisink.c:
16304           plugins: fix context query handling
16305           The current context query handling design is flawed: the function
16306           gst_vaapi_reply_to_query() returns FALSE either if the query is not a
16307           GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
16308           pad query function should handle differently each case.
16309           This patch changes the gst_vaapi_reply_to_query() for
16310           gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
16311           to match the correct context query handling.
16312           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16313           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16314
16315 2015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16316
16317         * gst/vaapi/gstvaapipluginutil.c:
16318           plugin: don't lose previous context at query
16319           When processing the GST_CONTEXT_QUERY we should not lose the previous
16320           context in the query, we should only add our display structure.
16321           This patch copies the old context, if it is there, and stamp our display on
16322           it. Otherwise, a new context is created.
16323           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16324           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16325
16326 2015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16327
16328         * gst/vaapi/gstvaapivideocontext.c:
16329         * gst/vaapi/gstvaapivideocontext.h:
16330           vaapivideocontext: add gst_vaapi_video_context_set_display()
16331           This function set the display to an already created context. This function is
16332           going to be used later.
16333           Also, gst_vaapi_video_context_new_with_display() now uses this function.
16334           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16335           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16336
16337 2015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16338
16339         * gst/vaapi/gstvaapipluginutil.c:
16340         * gst/vaapi/gstvaapivideocontext.c:
16341         * gst/vaapi/gstvaapivideocontext.h:
16342           plugins: check if display is set in sync
16343           Since the context messages are sync'ed, the display assignation happens in the
16344           same thread, hence we can know if the display was found or not as soon we call
16345           for it.
16346           In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
16347           as a new parameter, the address of the plugin's display, and reports back if
16348           the display was found and set.
16349           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16350           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16351
16352 2015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16353
16354         * gst/vaapi/gstvaapipluginutil.c:
16355         * gst/vaapi/gstvaapivideocontext.c:
16356           plugins: set display through context
16357           Instead of setting the display to the plugin directly after its creation, do
16358           it through the gstreamer's context mechanism, avoiding double assignations.
16359           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16360           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16361
16362 2015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16363
16364         * gst/vaapi/gstvaapivideocontext.c:
16365           vaapivideocontext: rename context structure
16366           The context structure is named "display" which is too generic. The contrary
16367           happens, for example, with GstGL, what uses the same name as the context, and
16368           its logs make more sense.
16369           This patch renames the context structure with the same name as the
16370           context, thus GST_PTR_FORMAT can pretty print it.
16371           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16372
16373 2015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16374
16375         * gst/vaapi/gstvaapivideocontext.c:
16376           vaapivideocontext: refactor gst_vaapi_video_context_prepare()
16377           First, refactorized run_context_query() into _gst_context_run_query(), adding
16378           a new parameter: the pad direction, in order to simplify the code.
16379           Second, added a new helper function: _gst_context_query(), which is a generic
16380           context query function.  It isolates the operation of running the query and
16381           sets the context if found, also it enhances the logs.
16382           _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
16383           future this helper function will be merged into the core libraries of
16384           GStreamer.
16385           Finally, gst_vaapi_video_context_prepare() was rewritten to use
16386           _gst_context_query().
16387           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16388           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16389
16390 2015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16391
16392         * gst/vaapi/gstvaapivideocontext.c:
16393           vaapivideocontext: refactor context category debug
16394           Refactor the extraction GST_CAT_CONTEXT logging using a only once
16395           initializator, so we could get the debug category from different code
16396           paths, safely.
16397           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16398           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16399
16400 2015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16401
16402         * gst/vaapi/gstvaapivideocontext.c:
16403           gstvaapivideocontext: fix indentation
16404           gst-indent does not handle correctly some expression like function
16405           declaration with attributes, breaking the following expressions.
16406           This patch makes gst-indent to ignore the attributed function
16407           declartion so the followed function definition is not mangled, such
16408           as happened in commit b4154a
16409           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16410           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16411
16412 2015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16413
16414         * gst/vaapi/gstvaapipluginbase.c:
16415           plugin: chain up set_context() vmethod
16416           Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
16417           the parent class in order to broadcast all its contexts when the element
16418           is added into a bin:
16419           http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
16420           There is no need to guard the call, because before GStreamer 1.7, the
16421           set_context() vmethod was NULL in the element class, hence the conditional
16422           call make it safe.
16423           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16424           https://bugzilla.gnome.org/show_bug.cgi?id=757598
16425
16426 2015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16427
16428         * tests/simple-encoder.c:
16429           tests: simple-encoder: remove dead code
16430           The caps creation for codec state configuration is not used. Let's remove it.
16431           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16432
16433 2015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16434
16435         * gst/vaapi/gstvaapidecodebin.c:
16436           vaapidecodebin: fix a leaked display instance
16437           The display returned by gst_vaapi_video_context_get_display() increments the
16438           references. Thus, we have to unref the returned display.
16439           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16440           https://bugzilla.gnome.org/show_bug.cgi?id=757595
16441
16442 2015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16443
16444         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
16445         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
16446           libs: remove unneeded headers
16447           Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
16448           required to include them in the header. It is not also required to include
16449           them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
16450           exposes their structures (e.g. GLXPixmap).
16451           Nonetheless, glext.h neither glxext.h are required to include, they are
16452           already included conditionally by gl.h and glx.h, respectively.
16453           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16454           https://bugzilla.gnome.org/show_bug.cgi?id=757577
16455
16456 2015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16457
16458         * ext/codecparsers:
16459           codecparsers: Update to gst-vaapi-branch 0ea6792
16460           0ea6792: codecparsers: vp9: Add header comments
16461           347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
16462
16463 2015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16464
16465         * gst/vaapi/gstvaapidecode.c:
16466           VP9: plugins: Add VP9 decoder
16467
16468 2015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16469
16470         * gst-libs/gst/vaapi/Makefile.am:
16471         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
16472         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
16473           VP9: libgstvaapi: Add VP9 decoder
16474
16475 2015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16476
16477         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16478         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16479           VP9: gstvaapiprofile: Add profile definitions
16480
16481 2015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16482
16483         * configure.ac:
16484           VP9: build: Check availability of vp9 decoder APIs
16485
16486 2015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16487
16488         * configure.ac:
16489         * ext/Makefile.am:
16490         * gst-libs/gst/codecparsers/Makefile.am:
16491           VP9: Allow building vp9 codecparser internally
16492
16493 2015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16494
16495         * ext/codecparsers:
16496           codecparsers: Update to gst-vaapi-branch commit ac5dc1a
16497           ac5dc1a: codecparsers: vp9: Add vp9 codec parser
16498           e7d9217: codecparser: h264: initialize parsing structures
16499           403d400: codecparser: h265: initialize parsing structures
16500
16501 2015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16502
16503         * configure.ac:
16504           configure.ac: don't use an undefined variable
16505           If the environment lacks of gstreamer development packages, this error will
16506           be reported to the user: "gstreamer- was not found"
16507           This is because we are using an undefined variable in the printed message. The
16508           fix simple changes the variable for the hard-coded string "1.0".
16509           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16510           https://bugzilla.gnome.org/show_bug.cgi?id=757283
16511
16512 2015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16513
16514         * gst/vaapi/gstvaapidecode.c:
16515           vaapidecode: relax guards for memory:VASurface capsfeature
16516           Though caps features are supported since GStreamer 1.2, there are some
16517           issues with the features caps negotiation in that version. Nonetheless,
16518           those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
16519           feature negotiation is relaxed for GStreamer 1.4.
16520           The guard is the same as in vaapisink's caps template.
16521           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16522           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16523
16524 2015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16525
16526         * gst/vaapi/gstvaapidecode.c:
16527           vaapidecode: decide allocation doesn't update srccaps
16528           The received caps query will bring the already negotiated caps, so they are
16529           not expected to change.
16530           This patch removes this verification which is dead code path.
16531           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16532           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16533
16534 2015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16535
16536         * gst/vaapi/gstvaapidecode.c:
16537         * gst/vaapi/gstvaapipluginutil.c:
16538         * gst/vaapi/gstvaapipluginutil.h:
16539           vaapidecode: use caps to check the features
16540           Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
16541           expensive, we check the caps from the allocation query, to check the
16542           negotiated feature.
16543           In order to do this verification a new utility function has been implemented:
16544           gst_vaapi_caps_feature_contains().
16545           As this new function shared its logic with gst_caps_has_vaapi_surface(), both
16546           have been refactorized.
16547           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16548           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16549
16550 2015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16551
16552         * gst/vaapi/gstvaapidecode.c:
16553           vaapidecode: set format before decide allocation
16554           There is a regression from commit 3d8e5e. It was expected the buffer pool
16555           allocation occur before the caps negotiation, but it is not.
16556           This patch fixes this regression: the caps negotiation is done regardless the
16557           allocation query from downstream.
16558           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16559           https://bugzilla.gnome.org/show_bug.cgi?id=756686
16560
16561 2015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
16562
16563         * configure.ac:
16564           build: check for patch and fix yasm check
16565           Add configure checking for GNU patch tools and fixed configure
16566           checking YASM to correct sequence.
16567           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
16568           https://bugzilla.gnome.org/show_bug.cgi?id=756690
16569
16570 2015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16571
16572         * ext/libvpx/Makefile.am:
16573           build: Remove disable-md5 option for libvpx build
16574           The configure option --disable-md5 was provided in libvpx-1.3.0 which
16575           has been removed in 1.4.0.
16576
16577 2015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16578
16579         * ext/libvpx/upstream:
16580           libvpx: Update the submodule to libvpx-1.4.0
16581           libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
16582
16583 2015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16584
16585         * configure.ac:
16586           configure: mark support for GStreamer 1.2 as obsolete.
16587           Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
16588           Our goal is to support the last two stable versions of GStreamer which
16589           are 1.4 and 1.6 at the moment.
16590           We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
16591           release and will get rid of those in 0.8.
16592
16593 2015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16594
16595         * gst/vaapi/gstvaapidecode.c:
16596           vaapidecode: Fix buffer copy assertion
16597           Don't try to copy the NULL buffer-codec_data.
16598
16599 2015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16600
16601         * configure.ac:
16602           build: allow builds against GStreamer 1.7.x
16603           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16604
16605 2015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16606
16607         * gst/vaapi/gstcompat.h:
16608           gstcompat: add gst_buffer_copy_deep() if gst < 1.5
16609           gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
16610           add an implementation if gstreamer-vaapi is linked to previous versions.
16611           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16612
16613 2015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16614
16615         * gst/vaapi/gstvaapidecode.c:
16616           vaapidecode: simplify copy of GstVideoCodecState
16617           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16618
16619 2015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16620
16621         * patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
16622         * patches/videoparsers/series.frag:
16623           patches/videoparsers: h265parser: more API fences
16624           Add more API fences according with its version and refresh the patch.
16625           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16626           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16627
16628 2015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16629
16630         * patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
16631         * patches/videoparsers/series.frag:
16632           patches/videoparsers: h265parser: rename patch keeping number
16633           Refresh the patch and rename it in order to keep the patch number.
16634           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16635           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16636
16637 2015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16638
16639         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16640           patches/videoparsers: h264parser: more API fences and refresh
16641           Add more API fences according with its version and refresh the patch.
16642           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16643           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16644
16645 2015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16646
16647         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
16648         * patches/videoparsers/series.frag:
16649           patches/videoparsers: h264parser: fix description and refresh
16650           Fix a typo in the patch description and refresh it in order to avoid the
16651           creation of .orig files and break the distcheck target.
16652           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16653           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16654
16655 2015-09-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16656
16657         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
16658         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
16659           patches/videoparsers: h264parser: refresh patches
16660           In order to avoid the creation of .orig files and break the distcheck target.
16661           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16662           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16663
16664 2015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16665
16666         * gst/vaapi/Makefile.am:
16667           build: link libgstvaapi_parse against codec parser
16668           GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
16669           when running configure.
16670           Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
16671           need it if builtin codec parsers are disabled.
16672           This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
16673           compilation. If builtin codec parsers are enable, this variable is null, so it
16674           should work using libgstvaapi, as normal.
16675           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16676           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16677
16678 2015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16679
16680         * configure.ac:
16681           build: verify for H264 MVC and H265 SPS
16682           Currently the H264 and H265 parsers look for MVC and SPS respectively, and
16683           the required symbols for those were added in GStreamer 1.5
16684           If we try to compile in GStreamer < 1.4, without enabling the builtin codec
16685           parsers, the compilation fails, because the lack of those symbols.
16686           This patch verifies if the installed H264 and H265 parsers have those symbols. If
16687           they do not, the specific built in codec parsers are enabled and used.
16688           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16689           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16690
16691 2015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16692
16693         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16694           decoder: h264: initialize PPS's slice_group_id
16695           When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
16696           so it contains random data.
16697           When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
16698           pointer uninitialized, leading to a segmentation fault when the memory is
16699           freed.
16700           This patch prevents this by initializing the slice_group_id before the PPS
16701           parsing.
16702           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16703           https://bugzilla.gnome.org/show_bug.cgi?id=754845
16704
16705 2015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
16706
16707         * gst/vaapi/gstvaapidecode.c:
16708           vaapidecode: proper numerator and denominator for forced latency framerate
16709           https://bugzilla.gnome.org/show_bug.cgi?id=755040
16710
16711 2015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16712
16713         * ext/codecparsers:
16714           codecparsers: Update to gst-vaapi-branch commit f9e284b
16715           dae1a84: h264parse/h265parse: Fix negotiation crash
16716           45a9f8a: codecparsers: h265 : Fix default scaling list values
16717           28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
16718           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16719
16720 2015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16721
16722         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16723           decoder: hevc: Don't flush dpb for EOS/EOB nal
16724           Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
16725           the dpb_add() itself will handle the flusing(if needed) of dpb
16726           for end of sequence and end of bitstream.
16727           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16728
16729 2015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16730
16731         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16732           decoder: hevc: Fix the dpb_add() based on C.5.2.3
16733           Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
16734           just after the PicLatencyCnt setting of existing dpb frames.
16735           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16736
16737 2015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16738
16739         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16740           decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
16741           This fix is based on the V3 vesion of spec which was missing in older versions.
16742           When the current picture has PicOutputFlag equal to 1, for each picture in the
16743           DPB that is marked as "needed for output" and follows the current picture in output order,
16744           the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
16745           https://bugzilla.gnome.org/show_bug.cgi?id=754010
16746
16747 2015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16748
16749         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16750           decoder: h265: Fix indentation
16751
16752 2015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
16753
16754         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16755         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16756         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16757         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16758         * gst/vaapi/gstvaapidecode.c:
16759         * gst/vaapi/gstvaapipluginutil.c:
16760           multiview: initial attempt at stereo/multiview support
16761           Add support for marking caps and buffers for multiview or
16762           stereoscopic output.
16763           https://bugzilla.gnome.org/show_bug.cgi?id=750835
16764
16765 2015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16766
16767         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16768           decoder: hevc: remove unused functions
16769           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16770           https://bugzilla.gnome.org/show_bug.cgi?id=754250
16771
16772 2015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16773
16774         * gst/vaapi/gstvaapidecode.c:
16775           vaapidecode: remove (another) unused variable
16776           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16777
16778 2015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16779
16780         * gst/vaapi/gstvaapidecode.c:
16781           vaapidecode: remove unused variable
16782           Thus silence the compilation warnings.
16783
16784 2015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16785
16786         * gst/vaapi/gstvaapidecode.c:
16787           vaapidecode: compilation fix
16788           gst_vaapi_decoder_state_changed() returns void. This patch fixes the
16789           compilation where the toolchain uses restrictive flags as clang.
16790           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16791
16792 2015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16793
16794         * gst/vaapi/gstvaapidecode.c:
16795           vaapidecode: renegotiate if caps are not equal
16796           The use of gst_caps_is_always_compatible() for this optimization may lead to
16797           false positives. It is better to stick to gst_caps_is_strictly_equal() to know
16798           if it is required a re-negotiation.
16799           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16800           https://bugzilla.gnome.org/show_bug.cgi?id=750835
16801
16802 2015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16803
16804         * gst/vaapi/gstvaapidecode.c:
16805         * gst/vaapi/gstvaapidecode.h:
16806           vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
16807           Delaying the pool re-negotiation untill we push all decoded (and queued)
16808           frames downstream. Otherwise for the multi-resolution videos, the
16809           GstVideoVideoMemory will be having wrong resolution and which leads
16810           to nasty behaviours, especially when using software renderers.
16811           sample media file: RAP_B_Bossen_1.bin
16812           case explained:
16813           The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
16814           get the final resoultion 416x240.
16815           Starting from 25 th frame, the resolution will change to 416x240. But parser
16816           elements won't report this since the effective croped resolution is same in
16817           both cases. Here the core libgstvaapi will detect this through it's internal
16818           parsing and do all context/pool destory/reset stuffs. Also it will notify this
16819           change to plugins in advance. But if the plugin try to do re-negotiaion of pool
16820           immediately, this will not sync with the resolution of already decoded and queued
16821           frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
16822           software renderer). So we have to delay the pool renegotiation in vaapidecode,
16823           untill we push all decoded frames downstream.
16824           https://bugzilla.gnome.org/show_bug.cgi?id=753914
16825
16826 2015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16827
16828         * gst/vaapi/gstvaapidecode.c:
16829           vaapidecode: Always keep a copy of input codec state
16830           Currently we are sharing the input GstVideoCodecState with
16831           GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
16832           each caps change. This is troublesome in many cases, for eg: if
16833           resoultion changes with in a singe stream. Because, when ever there
16834           is a resolution change, GstVideoDecoder will first change the Codec_state->caps
16835           fields with new resolution, but since we are using the same codecstate (ref)
16836           in gstvaapidecode.c, the caps check for input caps change will always fail.
16837           https://bugzilla.gnome.org/show_bug.cgi?id=753914
16838
16839 2015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16840
16841         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16842           decoder: hevc: Fix the scaling list scan order
16843           The default scan order of scaling lists are up-right-diagonal
16844           as per hevc specification. Use the newly implemented
16845           uprightdiagonal_to_raster conversion codecparser APIs to
16846           get the the scaling_list values in raster order, which is
16847           what the VA intel driver requires.
16848
16849 2015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16850
16851         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16852           decoder: hevc: sync with the codecparser changes
16853           The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
16854           in codecparsers now. Remove the duplication from gstvaapidecoder_h265
16855
16856 2015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16857
16858         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16859           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
16860
16861 2015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16862
16863         * ext/codecparsers:
16864           codecparsers: Update to gst-vaapi-branch commit 69550f1
16865           c207c6d: codecparsers: h265: Fix tile row and column parsing
16866           47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
16867           cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
16868           1746bbe: videoparsers: Use gst_base_parse_merge_tags()
16869           2f0932b: h264parse: Clear SPS info after processing
16870           f57d6b0: videoparsers: enable accept-template flag
16871
16872 2015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16873
16874         * debian.upstream/control.in:
16875           debian: add yasm as build dependency
16876           As the compilation of libvpx (for vp8 parser) is enabled by default,
16877           yasm is required by default too.
16878           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16879
16880 2015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
16881
16882         * debian.upstream/rules:
16883           debian: remove --with-gstreamer-api option
16884           It is no longer valid in gstreamer-vaapi.
16885           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
16886           [removed unused GST_API_VERSION variable]
16887           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16888           https://bugzilla.gnome.org/show_bug.cgi?id=753618
16889
16890 2015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16891
16892         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16893           wayland: rename is_cancelled to sync_failed
16894           Since commit 065a18a3, the semantics of the variable is_cancelled did not make
16895           sense. This commit renames this variable to sync_failed.
16896
16897 2015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
16898
16899         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16900           wayland: Don't return GST_FLOW_ERROR on flushing
16901           Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
16902           return FALSE which makes gst_vaapi_window_wayland_render() return
16903           FALSE which ends up posting an ERROR message in
16904           gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
16905           in the EBUSY case.
16906           https://bugzilla.gnome.org/show_bug.cgi?id=753598
16907
16908 2015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16909
16910         * gst/vaapi/gstvaapi.c:
16911           Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
16912           This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
16913
16914 2015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16915
16916         * gst/vaapi/gstvaapidecodebin.c:
16917           vaapidecodebin: check for postproc instance
16918           If the VPP's deinterlace-method is set, first we should check if the postproc
16919           is already instanced to set it. Otherwise we just store it until the VPP is
16920           added into the bin.
16921           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16922           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16923
16924 2015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16925
16926         * gst/vaapi/gstvaapidecodebin.c:
16927         * gst/vaapi/gstvaapipluginutil.c:
16928         * gst/vaapi/gstvaapipluginutil.h:
16929           vaapidecodebin: ensure VPP before going to READY
16930           There are sometimes that the VA-API display context is not shared among the
16931           pipeline, but it is important to know it before going to READY state (when the
16932           pipeline is already linked).
16933           One instance of this case is this:
16934           gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
16935           This patch adds a new function in gstvaapipluginutil called
16936           gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
16937           display, which only will be used for verify if the VAEntrypointVideoProc is
16938           available by the hardware. Afterwards, it should be unrefed.
16939           If the vaapidecodebin is going to READY state, and the element still doesn't
16940           know if VPP is available, the last resort is to create a new instance of the
16941           VA-API display and test for it.
16942           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16943
16944 2015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16945
16946         * gst/vaapi/gstvaapidecodebin.c:
16947           vaapidecodebin: post an error message if fails
16948           If the construction of the bin fails, post an error message in the bus.
16949           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16950           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16951
16952 2015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16953
16954         * gst/vaapi/gstvaapidecodebin.c:
16955         * gst/vaapi/gstvaapidecodebin.h:
16956           vaapidecodebin: has_vpp as a tri-state variable
16957           has_vpp can be UNKNOWN while the context message hasn't being received.
16958           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16959           https://bugzilla.gnome.org/show_bug.cgi?id=749554
16960
16961 2015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16962
16963         * gst/vaapi/gstvaapivideomemory.c:
16964           gstvaapivideomemory: native format with no derived image
16965           If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
16966           info based on the derived image configuration.
16967           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16968           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16969
16970 2015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16971
16972         * gst-libs/gst/vaapi/video-format.c:
16973         * gst-libs/gst/vaapi/video-format.h:
16974         * gst/vaapi/gstvaapivideomemory.c:
16975           surface pool config based on video info
16976           First added the function gst_vaapi_video_format_get_best_native(), which
16977           returns the best native format that matches a particular chroma type:
16978           YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
16979           RGB32 chroma and encoded format map to NV12 too.
16980           That format is used to configure, initially, the surface's pool for the
16981           allocator.
16982           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16983           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16984
16985 2015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16986
16987         * gst/vaapi/gstvaapivideomemory.c:
16988           gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
16989           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16990           https://bugzilla.gnome.org/show_bug.cgi?id=744042
16991
16992 2015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
16993
16994         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16995           gstvaapiencoder: validate chroma according to the VA's RT format
16996           Before, only YUV420 color space where supported. With this patch, the
16997           encoder is queried to know the supported formats and admits YUV422
16998           color space if its available.
16999           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17000           https://bugzilla.gnome.org/show_bug.cgi?id=744042
17001
17002 2015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17003
17004         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17005           decoder: hevc: Add calculation of WpOffsetHalfRangeC
17006           This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
17007           prediction weight table values with out using any hard coding.
17008           Fixme: We don't have parser API for sps_range_extension, so
17009           assumed zero value for high_precision_offsets_enabled_flag.
17010           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17011
17012 2015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17013
17014         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17015           decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
17016           Based on ITU-T rec H265(4/2015): 7-56
17017           This was a wrong equation in rec H265 (4/2013): 7-44...
17018           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17019
17020 2015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17021
17022         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17023           decoder: hevc: Fix default value assignment of pred_weight_table
17024
17025 2015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17026
17027         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17028           decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
17029           Assign only if ChromaArrayType != 0..
17030           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17031
17032 2015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17033
17034         * ext/codecparsers:
17035           codecparsers: Update to gst-vaapi-branch commit 1c70432
17036           8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
17037           839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
17038           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17039
17040 2015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17041
17042         * ext/codecparsers:
17043           codecparsers: Update to gst-vaapi-branch commit c18b8ad
17044           8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
17045           a033083: videoparsers: h265: Fix the frame start detection code
17046           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17047
17048 2015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17049
17050         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17051           decoder: hevc: Add SEI parsing
17052           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17053
17054 2015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17055
17056         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17057           decoder: hevc: Workaround to recognize wrongly encoded main profile streams
17058           HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
17059           There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
17060           have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
17061           has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
17062           is TRUE. Assuming them as MAIN profile for now.
17063           https://bugzilla.gnome.org/show_bug.cgi?id=753226
17064           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17065
17066 2015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17067
17068         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
17069           patches/videoparsers: Fix the wrong source file path
17070           This is something wrongly typed in commit 6d7b631
17071
17072 2015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17073
17074         * ext/codecparsers:
17075           codecparsers: Update to gst-vaapi-branch commit b8d8be4
17076           ee7e81b: h264parse: Don't discard first AU delimiter
17077           3690fb9: h264parse: Add more NAL types for debugging output
17078           108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
17079           ace61048: h265parse: expose compatible profiles to downstream
17080           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17081
17082 2015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17083
17084         * gst/vaapi/gstvaapipluginutil.c:
17085         * gst/vaapi/gstvaapivideocontext.c:
17086         * gst/vaapi/gstvaapivideocontext.h:
17087           gstvaapivideocontext: remove unused parameter
17088           gst_vaapi_video_context_prepare() received an unused parameter. This patch
17089           removes it and the structure passed by the caller.
17090           This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
17091           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17092
17093 2015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17094
17095         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17096           decoder: hevc: Fix decoding of stream when it has temporal sublayers
17097           We are calculating the dpb size based on max_dec_pic_buffering.
17098           But if there are more than one temporal sublayers, we are supposed
17099           to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
17100           size calculation (Assuming HighestTid as max_sub_layers_minus).
17101           Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
17102           https://bugzilla.gnome.org/show_bug.cgi?id=753226
17103           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17104
17105 2015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17106
17107         * gst/vaapi/gstvaapidecode.c:
17108         * gst/vaapi/gstvaapidecodebin.c:
17109         * gst/vaapi/gstvaapiencode_h264.c:
17110         * gst/vaapi/gstvaapiencode_h265.c:
17111         * gst/vaapi/gstvaapiencode_jpeg.c:
17112         * gst/vaapi/gstvaapiencode_mpeg2.c:
17113         * gst/vaapi/gstvaapiencode_vp8.c:
17114         * gst/vaapi/gstvaapipluginutil.h:
17115         * gst/vaapi/gstvaapipostproc.c:
17116         * gst/vaapi/gstvaapisink.c:
17117           refactor vaapi caps strings for pad templates
17118           Refactor the main vaapi caps strings into three macros:
17119           GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
17120           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
17121           Those are in gstvaapipluginutil.h so all the elements could use them, instead
17122           of re-declaring them every time.
17123           No functional changes.
17124           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17125
17126 2015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17127
17128         * gst/vaapi/gstvaapipostproc.c:
17129           gstvaapipostproc: fix code style
17130           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17131
17132 2015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17133
17134         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17135           decoder: hevc: Fix the decoding of dependent slice segment
17136           Decoding process for reference picture list construction needs to be
17137           invoked only for P and B slice and the value for slice_type of dependent slice
17138           segment should be taken from the previous independent slice segment header
17139           of the same pic.
17140           https://bugzilla.gnome.org/show_bug.cgi?id=753226
17141           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17142
17143 2015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
17144
17145         * gst/vaapi/gstvaapipluginbase.c:
17146           plugins: reduce the noise of warnings
17147           Those messagse should be attached to the object, also the lack of
17148           caps is not an error, in particular in the case of JPEG encoding.
17149           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17150           https://bugzilla.gnome.org/show_bug.cgi?id=744042
17151
17152 2015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17153
17154         * gst-libs/gst/vaapi/gstvaapicontext.c:
17155           gstvaapicontext: fix the JPEG encoder attribs value
17156           When we query for the VAConfigAttribEncJPEG, we get a value which packs the
17157           VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
17158           assigns the returned value to the attribute.
17159           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17160           https://bugzilla.gnome.org/show_bug.cgi?id=744042
17161
17162 2015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
17163
17164         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17165           gstvaapiencoder: framerate 0/1 is valid too
17166           Framerate 0/1 is valid, and it is particularly useful for picture
17167           encoding, such as jpeg. This patch makes the encoder to admit that
17168           framerate.
17169           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17170           https://bugzilla.gnome.org/show_bug.cgi?id=744042
17171
17172 2015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17173
17174         * gst/vaapi/gstvaapipostproc.c:
17175           vaapipostroc: GLTextureUploadMeta in sink template
17176           Advertise GLTextureUploadMeta in sink caps template.
17177           https://bugzilla.gnome.org/show_bug.cgi?id=752130
17178
17179 2015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17180
17181         * gst/vaapi/Makefile.am:
17182         * gst/vaapi/gstvaapiencode.c:
17183         * gst/vaapi/gstvaapipluginbase.c:
17184         * gst/vaapi/gstvaapipluginbase.h:
17185         * gst/vaapi/gstvaapipostproc.c:
17186         * gst/vaapi/gstvaapisink.c:
17187         * gst/vaapi/gstvaapiuploader.c:
17188         * gst/vaapi/gstvaapiuploader.h:
17189           remove gstvaapiuploader
17190           Working on bug #744042 I realized that the gstvaapiuploader is practically not
17191           used.
17192           This patch removes the gstvaapiuploader and add the method
17193           gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
17194           the system can handle, which is used by vaapisink and vaapipostproc.
17195           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17196           https://bugzilla.gnome.org/show_bug.cgi?id=752777
17197
17198 2015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17199
17200         * gst/vaapi/gstvaapidecode.c:
17201           vaapidecode: don't lost GLTextureUpload on seek
17202           When seeking, the decoder is reset, but the buffer pool is not
17203           re-negotiated, but in reset_full() the code forgets if the negotiated buffer
17204           pool has the GLTextureUpload meta.
17205           The decoder knows that GLTextureUpload meta was negotiated in
17206           decide_allocation(), but this method is not called when seeking.
17207           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17208           https://bugzilla.gnome.org/show_bug.cgi?id=752929
17209
17210 2015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17211
17212         * gst/vaapi/gstvaapipluginutil.c:
17213           plugins: don't use gst_pad_get_allowed_caps()
17214           gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
17215           decoders, that is OK, but in the case of the postproc might lead loops,
17216           since the gst_base_transform_query_caps() forwards the query upstream
17217           and forth.
17218           Instead of gst_pad_get_allowed_caps() we only query the peer with
17219           gst_pad_peer_query_caps() using the pad's template as filter.
17220           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17221           https://bugzilla.gnome.org/show_bug.cgi?id=752558
17222
17223 2015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17224
17225         * README:
17226           README: updates
17227
17228 2015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17229
17230         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
17231         * patches/videoparsers/series.frag:
17232           patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
17233           All API/ABI changes for S3D/MVC are added in 1.5, backporting
17234           them to older verison is not recommended.
17235           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17236
17237 2015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17238
17239         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
17240           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
17241
17242 2015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17243
17244         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17245           decoder: jpeg: Align with new API/ABI changes in codecparser
17246           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17247
17248 2015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17249
17250         * ext/codecparsers:
17251           codecparsers: Update to gst-vaapi-branch commit 800bdb2
17252           ed13220: mpegvideometa: add meta transform function
17253           18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
17254           7a51722: codecparsers: jpeg: fix docs for table parsing functions
17255           06b8ded: codecparsers: jpeg: fix validity checking of data parsed
17256           387a39d: codecparsers: jpeg: fix up API
17257           db9d6a9: codecparsers: jpeg: tweak API a little
17258           bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
17259           f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
17260           4658c30: codecparsers: jpeg: fix calculation of segment size
17261           759bcb9: codecparsers: jpeg: fix default Huffman tables generation
17262           b4811ee: codecparsers: jpeg: add JPEG bitstream parser
17263           9422464: h264parse: fix typo in log message
17264           9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
17265           77704ce: nalutils: trivial patch to check if
17266           8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
17267           7862f95: Revert "codecparsers: remove ignored increment of return"
17268           54017b1: h264parse: Add support for passing stereoscopic/multiview info
17269           8667ee4: h264parse: Don't switch to passthrough on set_caps()
17270           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17271
17272 2015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17273
17274         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17275           decoder: h264: track previous reference frames.
17276           Improve closure of gaps in frame_num by strictly following and trying
17277           to fill them with previous reference frames. So, they are now tracked
17278           thus avoiding insertion of dummy ("greenish") frames.
17279
17280 2015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17281
17282         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17283           decoder: h264: fix integration of second field into the DPB.
17284           If the new picture to be added to the DPB is not a first field, then
17285           it shall be the second field of the previous picture that was added
17286           before.
17287           This removes the need for dpb_find_picture() now that we track the
17288           immediately preceding decoded picture, in decode order.
17289
17290 2015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17291
17292         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17293           decoder: h264: fix closure of "other-field" gap.
17294           When a dummy "other-field" is inserted, it is assumed to inherit the
17295           reference flags from the first field, and the sliding window decoded
17296           reference picture marking process is also executed so that corrupted
17297           frames are moved out as early as possible.
17298           While doing so, we also try to output frames that now contain a single
17299           valid field picture, prior to inserting any other picture into the DPB.
17300           Note: this may be superfluous currently based on the fact that dpb_add()
17301           combines the two most recent pairable fields, but this process would be
17302           further simplified later on.
17303
17304 2015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17305
17306         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17307           decoder: h264: track corrupted frames.
17308           Mark the picture as "corrupted" if it is reconstructed from corrupted
17309           references or if those references are fake, e.g. resulting from lost
17310           frames.
17311           This is useful for notifying the upper layer, or downstream elements,
17312           that the decoded frame may contain artefacts.
17313           https://bugzilla.gnome.org/show_bug.cgi?id=703921
17314
17315 2015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17316
17317         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17318         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17319         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
17320         * gst/vaapi/gstvaapidecode.c:
17321           decoder: add initial infrastructure for marking corrupted output.
17322           Add initial infrastructure in core codec library and vaapidecode to mark
17323           corrupted frames as such. A corrupted frame is such a frame that was
17324           reconstructed from invalid references for instance.
17325           https://bugzilla.gnome.org/show_bug.cgi?id=751434
17326           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17327
17328 2015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17329
17330         * configure.ac:
17331           Bump version for development
17332
17333 === release 0.6.0 ===
17334
17335 2015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17336
17337         * configure.ac:
17338           0.6.0
17339
17340 2015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17341
17342         * NEWS:
17343           NEWS: updates
17344
17345 2015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17346
17347         * gst-libs/gst/vaapi/gstvaapiprofile.c:
17348           vaapidecoder: no wmv profiles gstreamer 1.4/1.2
17349           This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
17350           Right now there is not a primary ranked parser for vc1 and the demuxers
17351           delivers caps without specifying the profile. This situation is not an issue
17352           for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
17353           explicit profile defined in the negotiated caps.
17354           Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
17355           negotiation admits caps subsets try outs.
17356           This patch solves the issue ignoring the profile negotiation in the caps. For
17357           gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
17358           done without the vc1 parser, such as happens in gstreamer 1.5.
17359           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17360
17361 2015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17362
17363         * gst/vaapi/gstvaapi.c:
17364           Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
17365           Unfortunately vaapidecodebin element is not seems to be stable
17366           enough for autoplugging ahead of vaapidecode.
17367           Lowering the rank for now (cosidering the immediate 0.6 release).
17368           See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
17369           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17370
17371 2015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17372
17373         * gst-libs/gst/vaapi/Makefile.am:
17374           build: Add missing CFLAGS to Makefile.am
17375
17376 2015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17377
17378         * gst-libs/gst/vaapi/gstvaapifilter.c:
17379           gstvaapifilter: Only register STE property if it supported by corresponding VA library
17380           Fix the regression introduced in commit eb465fb.
17381           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
17382           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17383
17384 2015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17385
17386         * gst/vaapi/gstvaapipostproc.c:
17387           vaapipostproc: no format convert on GL tex upload meta
17388           When GL texture upload meta is negotiated, vaapipostproc shall not modify the
17389           color format of the buffer.
17390           https://bugzilla.gnome.org/show_bug.cgi?id=748184
17391
17392 2015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17393
17394         * gst-libs/gst/vaapi/gstvaapifilter.c:
17395           gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
17396           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
17397           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17398
17399 2015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17400
17401         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17402           encoder:h265: Fix the check for packed-header support
17403           Use VA_ENC_PACKED_HEADER_* definition for checking.
17404           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17405
17406 2015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17407
17408         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17409           encoder:h264: Fix the check for packed-header support
17410           Use VA_ENC_PACKED_HEADER_* definition for checking.
17411           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17412
17413 2015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17414
17415         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17416           encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
17417           One buffering_period() SEI message shall be present in every IDR access unit
17418           when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
17419           use a non-CQP mode, e.g. CBR. In other words, when
17420           nal_hrd_parameters_present_flag is set to 1.
17421           One picture_timing() SEI messages shall be present in every access unit
17422           if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
17423           https://bugzilla.gnome.org/show_bug.cgi?id=722734
17424           https://bugzilla.gnome.org/show_bug.cgi?id=751831
17425           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17426
17427 2015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17428
17429         * gst/vaapi/gstvaapidecodebin.c:
17430           vaapidecodebin: notify if vpp is disabled
17431           When the system is aware that VPP is not available by the VA driver,
17432           it would be useful to notify to the user that the disable-vpp property
17433           has changed.
17434           https://bugzilla.gnome.org/show_bug.cgi?id=749554
17435
17436 2015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17437
17438         * gst/vaapi/gstvaapidecodebin.c:
17439         * gst/vaapi/gstvaapidecodebin.h:
17440           vaapidecodebin: enable vpp if it is available
17441           Instead of creating and adding VPP into the bin at setup, we wait until
17442           we are sure the VA driver supports it. We know that when the VA video
17443           context is received by the bin. Afterwards, it is decided to instanciate
17444           and link the VPP or not.
17445           This is more efficient and safer than waiting the VPP to fail and then
17446           disable it.
17447           https://bugzilla.gnome.org/show_bug.cgi?id=749554
17448
17449 2015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17450
17451         * tests/test-display.c:
17452         * tests/test-windows.c:
17453           tests: Fix compilation while enabling egl as the only renderer in build
17454           Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
17455
17456 2015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17457
17458         * configure.ac:
17459           configure: fix the build while enabling egl as the only renderer
17460
17461 2015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17462
17463         * configure.ac:
17464           libs: Bump library major version
17465
17466 2015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17467
17468         * gst/vaapi/gstvaapi.c:
17469         * gst/vaapi/gstvaapidecodebin.c:
17470         * gst/vaapi/gstvaapiencode.c:
17471         * gst/vaapi/gstvaapiencode_jpeg.c:
17472         * gst/vaapi/gstvaapipluginbase.c:
17473         * gst/vaapi/gstvaapipluginutil.c:
17474         * gst/vaapi/gstvaapipostproc.c:
17475         * gst/vaapi/gstvaapivideobufferpool.c:
17476         * gst/vaapi/gstvaapivideocontext.c:
17477         * gst/vaapi/gstvaapivideomemory.c:
17478         * gst/vaapi/gstvaapivideometa.c:
17479           gst/vaapi: Switch to upstreram like indentation.
17480           gst-indent for all gst/vaapi/*.c source files
17481
17482 2015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17483
17484         * gst/vaapi/gstvaapidecodebin.c:
17485         * gst/vaapi/gstvaapidecodebin.h:
17486           vaapidecodebin: Add property to disable VPP
17487           Adding a new propery "disable-vpp", enabling it will prevent
17488           the insertion of vaapipostproc child element.
17489           This is helpful in debugging, specifically to narrow-down the
17490           vaapidecodebin/vaapipostproc related negotiation issues.
17491           No support for run-time disabling for now.
17492           https://bugzilla.gnome.org/show_bug.cgi?id=745901
17493
17494 2015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17495
17496         * gst/vaapi/gstvaapipostproc.c:
17497           vaapipostproc: Fix wrong selection of passthrough mode.
17498           The Current code path is falling back to passthorugh mode if there is no
17499           vpp property set by the user explictily. But we should not use the
17500           passthrough mode if the negotiated src pad caps have a differnt color space
17501           format than sink pad caps (Even though the user didn't set the format property
17502           explicitly).
17503           https://bugzilla.gnome.org/show_bug.cgi?id=748184
17504           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17505
17506 2015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17507
17508         * gst/vaapi/gstvaapipostproc.c:
17509           vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
17510           This is a workaround to deal with the va-intel-driver for non-native
17511           formats while doing advanced deinterlacing. The format of reference surfaces must
17512           be same as the format used by the driver internally for motion adaptive
17513           deinterlacing and motion compensated deinterlacing.
17514           A permanent solution could be to do the color space conversion internally
17515           for reference surfaces.
17516           https://bugzilla.gnome.org/show_bug.cgi?id=730925
17517           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17518
17519 2015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17520
17521         * gst/vaapi/gstvaapisink.c:
17522           Work around ABBA deadlock between vaapisink and vaapipostproc
17523           vaapisink takes the display lock, then does a gst_buffer_replace which can
17524           take the lock on the gst_vaapi_video_pool.
17525           vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
17526           the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
17527           surfaces, which means that gst_vaapi_surface_create is
17528           called. gst_vaapi_surface_create takes the display lock.
17529           If vaapisink and vaapipostproc are in different threads, and this happens,
17530           you get a deadlock. vaapisink holds the display lock, and wants the
17531           gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
17532           and wants the display lock.
17533           Work around this by releasing the display lock in vaapisink around the
17534           gst_buffer_replace.
17535           https://bugzilla.gnome.org/show_bug.cgi?id=738249
17536           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17537           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17538
17539 2015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
17540
17541         * gst/vaapi/gstvaapidecodebin.c:
17542         * gst/vaapi/gstvaapidecodebin.h:
17543           vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
17544           https://bugzilla.gnome.org/show_bug.cgi?id=745901
17545
17546 2015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17547
17548         * gst/vaapi/gstvaapipostproc.c:
17549           vaapipostproc: log negotiated caps
17550
17551 2015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17552
17553         * gst/vaapi/gstvaapipostproc.c:
17554           vaapipostproc: remove useless debug message
17555
17556 2015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17557
17558         * gst/vaapi/gstvaapidecode.c:
17559           vaapidecode: log negotiated src/sink caps
17560
17561 2015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17562
17563         * gst/vaapi/gstvaapisink.c:
17564           vaapisink: error handling if rendering fails
17565           This patch enhance the code path when an error is found when rendering a
17566           buffer.
17567           If the video meta doesn't contain a surface proxy or a surface, a warning
17568           message is printed.
17569           If the rendering backend fails, a error message is posted in the bus.
17570           https://bugzilla.gnome.org/show_bug.cgi?id=749382
17571
17572 2015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17573
17574         * gst/vaapi/gstvaapisink.c:
17575           vaapisink: Fix the conditional pad template creation.
17576
17577 2015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17578
17579         * tests/Makefile.am:
17580           build: Don't build simple-encoder test program if there is no VA Encoding support
17581           This will fix the build error against older VA-APIs <= 0.32
17582
17583 2015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17584
17585         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
17586         * gst-libs/gst/vaapi/gstvaapicompat.h:
17587           Fix build error for older VA-API versions
17588           Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
17589           VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
17590           VA >= 0.36.
17591
17592 2015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17593
17594         * gst/vaapi/gstvaapisink.c:
17595           vaapisink: Fix the capsfeature advertisement in padtemplate
17596           This fixes the regression introduced in 64acc74.
17597           If a pad supports multiple set of capsfeatures, it needs to add
17598           multiple equal structures with different feature sets to the caps.
17599           Because caps structures with the same name but with a non-equal
17600           set of caps features are not compatible.
17601           Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
17602           https://bugzilla.gnome.org/show_bug.cgi?id=750095
17603
17604 2015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
17605
17606         * gst/vaapi/gstvaapisink.c:
17607           vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
17608           https://bugzilla.gnome.org/show_bug.cgi?id=750095
17609           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17610           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17611
17612 2015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
17613
17614         * gst/vaapi/gstvaapipluginbase.c:
17615           vaapipluginbase: Override downstream allocation reply if no pool
17616           If the downstream replied without a pool, then override it.
17617           https://bugzilla.gnome.org/show_bug.cgi?id=748559
17618
17619 2015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17620
17621         * gst/vaapi/gstvaapipostproc.c:
17622         * gst/vaapi/gstvaapipostproc.h:
17623           vaapipostproc: add color balance interface
17624           https://bugzilla.gnome.org/show_bug.cgi?id=720376
17625
17626 2015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17627
17628         * gst-libs/gst/vaapi/gstvaapifilter.c:
17629         * gst-libs/gst/vaapi/gstvaapifilter.h:
17630         * gst/vaapi/gstvaapipostproc.c:
17631         * gst/vaapi/gstvaapipostproc.h:
17632           vaapipostproc: add skin tone enhancement
17633           Added the 'skin-tone-enhancement' property to vaapostproc.
17634           https://bugzilla.gnome.org/show_bug.cgi?id=744088
17635
17636 2015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17637
17638         * docs/reference/libs/libs-docs.xml.in:
17639           doc: add VA-API reference in freedesktop
17640
17641 2015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17642
17643         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
17644         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
17645         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17646           patches/videoparsers: rebase all the h264parse patches
17647           In order to avoid the creation of .orig files and break the distcheck target
17648
17649 2015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17650
17651         * ext/libvpx/Makefile.am:
17652           build: don't build in parallel libvpx
17653           This fixes the distcheck -j XX target.
17654
17655 2015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17656
17657         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
17658           encoder: jpeg: Fix the packed header generation
17659           This is a work-around to satisfy the va-intel-driver.
17660           Normalize the quality factor and scale QM values (only for packed header
17661           generation) similar to what VA-Intel driver is doing . Otherwise the
17662           generated packed headers will be wrong, since the driver itself is
17663           scaling the QM values using the normalized quality factor.
17664           https://bugzilla.gnome.org/show_bug.cgi?id=748335
17665           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17666
17667 2015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17668
17669         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17670           decoder: h264: fix uninitialized variables in avcC mode.
17671           Fix uninitialized variables when decoding SPS and PPS NAL units from
17672           "codec-data" buffers. This is particularly important when seeking ops
17673           are involved, and the new persistent states are used more often.
17674           https://bugzilla.gnome.org/show_bug.cgi?id=750094
17675
17676 2015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17677
17678         * gst/vaapi/gstvaapidecode.c:
17679           vaapidecode: remove unneeded casting
17680           And a code-style fix
17681
17682 2015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17683
17684         * gst/vaapi/gstvaapidecode.c:
17685           vaapidecode: calculate decoding latency
17686           This is a naïve approach to the calculation of the VA-API decoding latency. It
17687           takes into consideration when the frame-rate has some insane value.
17688           https://bugzilla.gnome.org/show_bug.cgi?id=740419
17689
17690 2015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
17691
17692         * configure.ac:
17693           configure: Compiling against libgstgl requires libgstvideo
17694           Fix detection of the GstGL helper headers in uninstalled
17695           builds.
17696
17697 2015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17698
17699         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17700           encoder: hevc: Fix the size over-flow for encoded buffer.
17701           The approximation of 6 times compression ratio migh not
17702           work in all cases. Especially when enabling I frames.
17703           Provide large enough size for coded-buffer creation.
17704
17705 2015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17706
17707         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
17708           encoder: vp8: Fix the size over-flow for encoded buffer.
17709           The approximation of 4 times compression ratio will not
17710           work in all cases. Especially when enabling I frames.
17711           Provide large enough size for coded-buffer creation.
17712
17713 2015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17714
17715         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17716           encoder: hevc:  fix bug in multi slice encoding.
17717           This is a work-around for satisfying the VA-Intel driver.
17718           The driver only support slices begin from CTU row start address.
17719           Multi-Slice encoding also requires a fix in va-intel-driver:
17720           http://lists.freedesktop.org/archives/libva/2015-May/003351.html
17721           https://bugzilla.gnome.org/show_bug.cgi?id=749854
17722           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17723
17724 2015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17725
17726         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17727           decoder: h264: add initial support for loss of pictures.
17728           Implement decoding process for gaps in frame_num (8.5.2). This
17729           also somewhat supports unintentional loss of pictures.
17730           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17731           https://bugzilla.gnome.org/show_bug.cgi?id=703921
17732           Original-patch-by: Wind Yuan <feng.yuan@intel.com>
17733           [fixed derivation of POC, ensured clone is valid for reference,
17734           actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
17735           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17736
17737 2015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17738
17739         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17740           decoder: h264: add support for missing first field.
17741           Try to identify missing first fields too, thus disregarding any
17742           intermediate gaps in frames. We also assume that we keep the same
17743           field sequence, i.e. if previous frames were in top-field-first
17744           (TFF) order, then so are subsequent frames.
17745           Note that insertion of dummy first fields need to operate in two
17746           steps: (i) create the original first field that the current field
17747           will inherit from, and (ii) submit that field into the DPB prior
17748           to initializing the current (other) field POC values but after any
17749           reference flag was set. i.e. copy reference flags from the child
17750           (other field) to the parent (first field).
17751           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17752
17753 2015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17754
17755         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17756           decoder: h264: add support for missing second field.
17757           Interlaced H.264 video frames always have two fields to decode and
17758           display. However, in some cases, e.g. packet loss, one of the field
17759           can be missing. This perturbs the reference picture marking process,
17760           whereby the number of references available in DPB no longer matches
17761           the expected value.
17762           This patch adds initial support for missing field within a decoded
17763           frame. The current strategy taken is to find out the nearest field,
17764           by POC value, and with the same parity.
17765           https://bugzilla.gnome.org/show_bug.cgi?id=745048
17766
17767 2015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17768
17769         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17770           decoder: h264: improve tracking of "top-field-first" flag.
17771           Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
17772           does not mandate it. This will be useful for tracking missing fields, and
17773           also for more correct _split_fields() implementation for frames in the DPB.
17774
17775 2015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17776
17777         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17778           decoder: h264: skip all pictures prior the first I-frame.
17779           Don't try to decode pictures until the first I-frame is received within
17780           the currently active sequence. There is no point is decoding and then
17781           displaying frames with artifacts.
17782
17783 2015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17784
17785         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17786           decoder: h264: fix processing of EOSEQ NAL.
17787           Fix decoding of end_of_seq() NAL unit so that to not submit the current
17788           picture for decoding again. This is pretty vintage code that dates back
17789           before the existing of the whole decoder units machinery.
17790           One issue that could be arising if that code was kept is that we could
17791           have submitted a picture, and subsequently a GstVideoCodec frame, twice.
17792           Once without the decode_only flag set, and once with that flag set. The
17793           end result is that the GstVideoDecoder would release the codec frame
17794           twice, thus releasing stale data.
17795           In short, the piece of code that is removed by this patch is for once
17796           completely obsolete for a while, and secondly error-prone in corner
17797           cases.
17798
17799 2013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
17800
17801         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17802         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17803         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17804         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17805           decoder: add utility function to clone picture objects.
17806           https://bugzilla.gnome.org/show_bug.cgi?id=703921
17807           Signed-off-by: Wind Yuan <feng.yuan@intel.com>
17808           [added cosmetic changes, fixed propagation of "one-field" flag to
17809           children, fixed per-codec clone modes (h264)]
17810           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17811
17812 2015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
17813
17814         * gst/vaapi/Makefile.am:
17815           build: don't compile HEVC encoder if not supported
17816           Fix:
17817           (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
17818           https://bugzilla.gnome.org/show_bug.cgi?id=749954
17819           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
17820           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17821
17822 2015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
17823
17824         * gst-libs/gst/vaapi/gstvaapicompat.h:
17825         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17826           HEVC: decode: add missing va_dec_hevc header
17827           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
17828           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17829           https://bugzilla.gnome.org/show_bug.cgi?id=749953
17830
17831 2015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17832
17833         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17834           mpeg2: fix PTS cache for GOP start.
17835           If the GOP temporal sequence number (TSN) is interpolated from a valid
17836           PTS, then we need to compensate that PTS corresponding to the start of
17837           GOP with the next picture to be decoded, which shall be an I-frame,
17838           based on its sequence number.
17839           https://bugzilla.gnome.org/show_bug.cgi?id=748676
17840
17841 2015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17842
17843         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17844           mpeg2: avoid crash when seeking with debug logs
17845           Move down the debug message when the state of the decoder is verified
17846           so the slice header is not NULL.
17847
17848 2014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
17849
17850         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17851           mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
17852           Reset state and add some checks for safe state to avoid a crash and
17853           a warning after the decoder is destroyed/recreated during a seek.
17854
17855 2015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17856
17857         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
17858         * patches/videoparsers/series.frag:
17859           patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
17860           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17861
17862 2015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17863
17864         * ext/codecparsers:
17865           codecparsers: Update to gst-vaapi-branch commit 20ee952
17866           b7dded3: h264parse: don't consider unknown stream-format as avc
17867           5110ad9: h264parse: fix up handling of input caps corner cases
17868           e51db3e: h264parse: Remove dead code
17869           3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
17870           8482957: h265parse: Fix profile, tier and level setting in caps
17871           4649acb: h265parse: Fix the memory freeing of stored VPS nals
17872           f2beeb7: h265parse: Fix source caps to report cropped dimensions
17873           6886a31: h264parse: Fix profile and level setting in caps
17874           5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
17875           eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
17876           53074fc: build: Upgrade GStreamer dependency to 1.0
17877           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17878
17879 2015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17880
17881         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17882           HEVC: decode: Replace clip3 implementation with glib CLAMP macro
17883           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17884
17885 2015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17886
17887         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
17888           HEVC: decode: Update Cropping Rectangle
17889           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17890
17891 2015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17892
17893         * gst/vaapi/Makefile.am:
17894         * gst/vaapi/gstvaapi.c:
17895         * gst/vaapi/gstvaapiencode_h265.c:
17896         * gst/vaapi/gstvaapiencode_h265.h:
17897           HEVC_Encode: Add HEVC(h265) Encoder plugin
17898           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17899           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17900
17901 2015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17902
17903         * gst-libs/gst/vaapi/Makefile.am:
17904         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
17905         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
17906           HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
17907           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17908           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17909
17910 2015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17911
17912         * configure.ac:
17913           HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
17914           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17915           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17916
17917 2015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17918
17919         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
17920         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
17921           gstvaapiutils_h265: Add H265 Tier specific utility functions
17922           -- New API: gst_vaapi_utils_h265_get_tier_from_string()
17923           -- New API: gst_vaapi_utils_h265_get_tier_string()
17924           https://bugzilla.gnome.org/show_bug.cgi?id=748874
17925           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17926
17927 2015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17928
17929         * docs/reference/plugins/Makefile.am:
17930           doc: conditional linking for scanner
17931           Add x11 library only if it is enabled.
17932           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17933
17934 2015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17935
17936         * docs/reference/plugins/plugins.types:
17937           doc: fix scanner compilation warning
17938           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17939
17940 2015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17941
17942         * docs/reference/libs/libs-docs.xml.in:
17943         * docs/reference/libs/libs-sections.txt:
17944           doc: update sections and symbols
17945           https://bugzilla.gnome.org/show_bug.cgi?id=749018
17946
17947 2015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17948
17949         * .gitignore:
17950         * Makefile.am:
17951         * debian.upstream/Makefile.am:
17952         * docs/Makefile.am:
17953         * docs/reference/Makefile.am:
17954         * docs/reference/libs/Makefile.am:
17955         * docs/reference/plugins/Makefile.am:
17956         * ext/Makefile.am:
17957         * ext/libvpx/Makefile.am:
17958         * git.mk:
17959         * gst-libs/Makefile.am:
17960         * gst-libs/gst/Makefile.am:
17961         * gst-libs/gst/base/Makefile.am:
17962         * gst-libs/gst/codecparsers/Makefile.am:
17963         * gst-libs/gst/vaapi/Makefile.am:
17964         * gst/Makefile.am:
17965         * gst/vaapi/Makefile.am:
17966         * patches/Makefile.am:
17967         * patches/videoparsers/Makefile.am:
17968         * pkgconfig/Makefile.am:
17969         * tests/Makefile.am:
17970           build: use git.mk
17971           This patch handles dinamically the gitignore files with git.mk[1].
17972           Removed the automake variable MAINTAINERCLANFILES in most of the
17973           Makefile.am files since now it is handled by the top one.
17974           1. https://github.com/behdad/git.mk/blob/master/git.mk
17975           https://bugzilla.gnome.org/show_bug.cgi?id=749321
17976
17977 2015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17978
17979         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17980           wayland: sync() when destroy()
17981           Before pushing a the new frame, the render() method calls sync() to flush the
17982           pending frames. Nonetheless, the last pushed frame never gets rendered, leading
17983           to a memory leak too.
17984           This patch calls sync() in the destroy() to flush the pending frames before
17985           destroying the window.
17986           Also a is_cancelled flag is added. This flag tells to not flush the event
17987           queue again since the method failed previously or were cancelled by the user.
17988           https://bugzilla.gnome.org/show_bug.cgi?id=749078
17989
17990 2015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
17991
17992         * gst-libs/gst/vaapi/gstvaapiwindow.c:
17993         * gst-libs/gst/vaapi/gstvaapiwindow.h:
17994         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17995         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17996         * gst/vaapi/gstvaapisink.c:
17997           vaapisink: implement unlock/unlock_stop for wayland
17998           Otherwise wl_display_dispatch_queue() might prevent the pipeline from
17999           shutting down. This can happen e.g. if the wayland compositor exits while
18000           the pipeline is running.
18001           Changes:
18002           * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
18003           * splitted the patch removing wl_display_dispatch_queue()
18004           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18005           https://bugzilla.gnome.org/show_bug.cgi?id=747492
18006           https://bugzilla.gnome.org/show_bug.cgi?id=749078
18007
18008 2015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18009
18010         * configure.ac:
18011         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18012           wayland: wl_display_dispatch_queue() can block forever.
18013           wl_display_dispatch_queue() might prevent the pipeline from shutting
18014           down. This can happen e.g. if the wayland compositor exits while the
18015           pipeline is running.
18016           This patch replaces it with these steps:
18017           - With wl_display_prepare_read() all threads announce their intention
18018           to read.
18019           - wl_display_read_events() is thread save. On threads reads, the other
18020           wait for it to finish.
18021           - With wl_display_dispatch_queue_pending() each thread dispatches its
18022           own events.
18023           wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
18024           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
18025           * stripped out the unlock() unlock_stop() logic
18026           * stripped out the poll handling
18027           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18028           https://bugzilla.gnome.org/show_bug.cgi?id=749078
18029           https://bugzilla.gnome.org/show_bug.cgi?id=747492
18030
18031 2015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18032
18033         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18034           wayland: rename frame for last_frame
18035           Since frame in the private data means the last frame sent, it would
18036           semantically better use last_frame.
18037           Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
18038           functions.
18039           https://bugzilla.gnome.org/show_bug.cgi?id=749078
18040
18041 2015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18042
18043         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18044           wayland: use a counter as sync flag
18045           Wayland window has a pointer to the last pushed frame and use it to set the
18046           flag for stopping the queue dispatch loop. This may lead to memory leaks,
18047           since we are not keeping track of all the queued frames structures.
18048           This patch removes the last pushed frame pointer and change the binary flag
18049           for an atomic counter, keeping track of number of queued frames and use it for
18050           the queue dispatch loop.
18051           https://bugzilla.gnome.org/show_bug.cgi?id=749078
18052
18053 2015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18054
18055         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18056           wayland: decouple wl_buffer from frame
18057           This patch takes out the wayland's buffer from the the frame structure. The
18058           buffer is queued to wayland and destroyed in the "release" callback. The
18059           frame is freed in the surface's "done" callback.
18060           In this way a buffer may be leaked but not the whole frame structure.
18061           - surface 'done' callback is used to throttle the rendering operation and to
18062           unallocate the frame, but not the buffer.
18063           - buffer 'release' callback is used to destroy wl_buffer.
18064           Original-patch-by: Zhao Halley <halley.zhao@intel.com>
18065           * code rebase
18066           * kept the the event_queue for buffer's proxy
18067           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18068           https://bugzilla.gnome.org/show_bug.cgi?id=749078
18069
18070 2015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18071
18072         * gst/vaapi/gstvaapisink.c:
18073           vaapisink: fix indentation
18074
18075 2015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18076
18077         * debian.upstream/Makefile.am:
18078         * ext/libvpx/Makefile.am:
18079         * gst-libs/gst/vaapi/Makefile.am:
18080         * gst/vaapi/Makefile.am:
18081         * tests/Makefile.am:
18082           build: fix make distcheck
18083           This patch fixes several issues found when running the `make distcheck`
18084           target:
18085           - In commit c561b8da, the update of gstcompat.h in Makefile.am was
18086           forgotten.
18087           - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
18088           forgotten.
18089           - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
18090           - The make target distcleancheck failed because some autogenerated files
18091           were not handled with the DISTCLEANFILES variable.
18092           Note: `make distcheck -jXX` is not currently supported.
18093
18094 2015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18095
18096         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
18097         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
18098         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
18099           h264parse: update patches with upstream
18100           These patches didn't applied cleanly, breaking the `make distcleancheck`
18101           target. Re-sync'ed the patches against the current git's submodule.
18102
18103 2015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18104
18105         * tests/simple-encoder.c:
18106           tests: simple-encoder: fix build warnings on 64-bit platforms.
18107           Add a cosmetic change to replace VAAPI buffer with VA buffer and most
18108           importantly fix warnings spitted out during build on 64-bit platforms.
18109           ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
18110           g_warning ("Invalid VAAPI buffer size (%d)", size);
18111           ^
18112           ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
18113           g_warning ("Failed to create output buffer of size %d", size);
18114           ^
18115
18116 2015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18117
18118         * gst/vaapi/gstvaapipluginbase.c:
18119         * gst/vaapi/gstvaapipluginutil.c:
18120         * gst/vaapi/gstvaapipluginutil.h:
18121         * gst/vaapi/gstvaapivideocontext.h:
18122           plugins: remove gstreamer-0.10 crumbs
18123           GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
18124           Still, its definition was still in the code. This patch removes it.
18125           https://bugzilla.gnome.org/show_bug.cgi?id=749113
18126
18127 2015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18128
18129         * tests/Makefile.am:
18130         * tests/simple-encoder.c:
18131         * tests/y4mreader.c:
18132         * tests/y4mreader.h:
18133           tests: add simple-encoder program
18134           This patch adds a simple-encoder test program that uses libgstvaapi for video
18135           encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
18136           format. That can be from a regular file or standard input when the input
18137           filename is "-".
18138           Usage: simple-encoder [options]* <source>
18139           Options:
18140           --output|-o     output file name
18141           --codec|-c      codec to use for video encoding
18142           --bitrate|-b    desired bitrate (kbps)
18143           By default, and as an initial patch, the encoded stream shall conform to the
18144           minimally supported profile. That is "Constrained Baseline Profile" for H.264
18145           and "Simple Profile" for MPEG-2. Though, those are the defaults to be
18146           generated by libgstvaapi.
18147           You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
18148           Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
18149           * general code clean-up
18150           * removed the yuv reader thread
18151           * re-wrote the y4m file parser
18152           * updated used API fixed some wrong usage
18153           * fixed a lot of memory leaks
18154           * added the bitrate setting
18155           * keep fps' numerator and denominator
18156           * simplified the thread control
18157           * removed custom logging and use glib
18158           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18159           https://bugzilla.gnome.org/show_bug.cgi?id=719528
18160
18161 2015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18162
18163         * gst-libs/gst/vaapi/gstvaapiencoder.h:
18164           libs: trivial documentation fix
18165           GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
18166           are not errors, so they do not have the ERROR namespace.
18167           This patch fixes this typo in documentation.
18168
18169 2015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
18170
18171         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
18172           window: Correct prototype to match implementation
18173           On s390x, guintptr and GstVaapiID are not compatible types. The
18174           implementation of gst_vaapi_window_new_internal() and all its callers
18175           seem to assume that its third argument is a GstVaapiID, while the
18176           header gives it guintptr type.
18177           https://bugzilla.gnome.org/show_bug.cgi?id=744559
18178
18179 2015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18180
18181         * gst/vaapi/gstvaapidecode.c:
18182         * gst/vaapi/gstvaapidecodebin.c:
18183           vaapidecode: add guards for disabled codecs.
18184           Fix link when building plugin elements without HEVC support. e.g. don't
18185           try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
18186           support HEVC enabled in libgstvaapi.
18187           Also, drop disabled codecs from static template caps. Add the missing
18188           HEVC static template caps into vaapidecodebin too.
18189
18190 2015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18191
18192         * configure.ac:
18193         * gst-libs/gst/vaapi/glibcompat.h:
18194           build: upgrade glib dependency to 2.32
18195           Since bug #745728 was fixed the oldest supported version of GStreamer is
18196           1.2. That GStreamer release requires glib 2.32, so we can upgrade our
18197           requirement too.
18198           This patch changes the required version of glib in configure.ac and removes
18199           the hacks in glibcompat.h
18200           https://bugzilla.gnome.org/show_bug.cgi?id=748698
18201
18202 2015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18203
18204         * gst/vaapi/gstvaapipluginbase.c:
18205           plugins: check if the pool config is already set
18206           In commit 97b768, a regression for GStreamer 1.2 was introduced:
18207           GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
18208           config option is already set. This patch adds an inline function to
18209           first verify if the option is not in the pool config berfore add it.
18210
18211 2015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18212
18213         * gst/vaapi/gstvaapipostproc.c:
18214           vaapipostproc: tune up a couple of log messages
18215           In order to reduce the noise, the query type log was downgrade from INFO to
18216           DEBUG, and the shared display address log message is assigned to the object.
18217
18218 2015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18219
18220         * gst/vaapi/gstvaapipluginbase.c:
18221           plugins: check gst_buffer_pool_set_config()
18222           Check the return value of gst_buffer_pool_set_config(). If it fails an error
18223           message is posted in the bus.
18224
18225 2015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18226
18227         * gst/vaapi/gstvaapipluginbase.c:
18228           plugins: more specific log message
18229           Be more specific in the log message about the reason of creating a new pool.
18230
18231 2015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18232
18233         * gst/vaapi/gstvaapipluginbase.c:
18234           plugins: delete unused variable
18235           need_pool is a boolean variable extracted from the allocation query, but it is
18236           not used afterwards.
18237
18238 2015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
18239
18240         * gst/vaapi/gstvaapipluginbase.c:
18241           vaapipluginbase: Update the pool if there was no pool in the downstream reply
18242           Fix regression introduced by bd866479, the query after decide_allocation()
18243           always needs a pool in the first slot.
18244           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18245           https://bugzilla.gnome.org/show_bug.cgi?id=748559
18246
18247 2015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
18248
18249         * gst/vaapi/gstvaapivideobufferpool.c:
18250           videopool: Free members before chaining up finalize
18251           The finalize function in GObject frees the object memory, so
18252           everything else needs to have been freed before.
18253           https://bugzilla.gnome.org/show_bug.cgi?id=748563
18254
18255 2015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
18256
18257         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
18258           wayland: don't leak the registry proxy
18259           Release the registry proxy when closing the display.
18260           https://bugzilla.gnome.org/show_bug.cgi?id=748564
18261
18262 2015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18263
18264         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18265           wayland: refactor _sync() method and rename callback
18266           This patch only intends to improve readability: in the method
18267           gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
18268           single while loop.
18269           Also renames the frame_redraw_callback() callback into frame_done_callback(),
18270           which is a bit more aligned to Wayland API.
18271
18272 2015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
18273
18274         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18275           wayland: free frame in buffer release callback
18276           The Wayland compositor may still use the buffer when the frame done
18277           callback is called.
18278           This patch destroys the frame (which contains the buffer) until the
18279           release callback is called. The draw termination callback only controls
18280           the display queue dispatching.
18281           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18282           https://bugzilla.gnome.org/show_bug.cgi?id=747492
18283
18284 2015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18285
18286         * gst/vaapi/gstvaapidecode.c:
18287           vaapidecode: refactor gst_vaapidecode_internal_flush()
18288           This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
18289           label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
18290           shares the same error message of gst_vaapidecode_internal_flush() when flush
18291           fails.
18292
18293 2015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18294
18295         * gst/vaapi/gstvaapidecode.c:
18296           vaapidecode: refactor gst_vaapidecode_destroy()
18297           Add the method gst_vaapidecode_purge(). This method releases the
18298           flushed frames from the decoder.
18299           This new method add more readablity to gst_vaapidecode_destroy()
18300
18301 2015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
18302
18303         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18304         * gst/vaapi/gstvaapidecode.c:
18305           vaapidecode: Tell the base class about released frames on close
18306           The base class needs to be informed about frames that were still queued
18307           in the decoder on release, otherwise they are leaked.
18308           https://bugzilla.gnome.org/show_bug.cgi?id=747999
18309
18310 2015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18311
18312         * gst/vaapi/gstvaapidecode.c:
18313           vaapidecode: reduce logging noise
18314           When a frame is rejected by downstream, the message is logged twice. This
18315           patch removes one of those logging messages.
18316           Also, the reject of a frame doesn't mean an alarming error. This patch demotes
18317           the log message from error to info.
18318
18319 2015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
18320
18321         * gst/vaapi/gstvaapidecode.c:
18322           vaapidecode: Use the GstVideoDecoder error reporting function
18323           This way, the decoder won't stop on the first decoding error,
18324           in most cases it can recover after some glitchiness.
18325           https://bugzilla.gnome.org/show_bug.cgi?id=744620
18326
18327 2015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
18328
18329         * gst/vaapi/gstvaapipluginbase.c:
18330           vaapipluginbase: The allocation query can return without a pool
18331           It is possible to return the min/max/size without actually providing
18332           a pool. This way the source knows how many buffers downstream needs.
18333           https://bugzilla.gnome.org/show_bug.cgi?id=748076
18334
18335 2015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18336
18337         * ext/Makefile.am:
18338         * gst/vaapi/Makefile.am:
18339         * gst/vaapi/gstvaapiparse.c:
18340         * gst/vaapi/gstvaapiparse.h:
18341         * patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
18342         * patches/videoparsers/series.frag:
18343           plugins: Add h265 videoparser element "vaapiparse_h265"
18344           This is a mirror of h265parse element in upstream gst-plugins-bad.
18345           There could be additional patches but all should go to upstream.
18346           This is for making development faster.
18347           Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
18348
18349 2015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18350
18351         * ext/codecparsers:
18352           codecparsers: Update to gst-vaapi-branch commit 43a0368
18353           45f1c28: codecparser: h265: Fix nal unit size checking
18354           f25987b: codecparser: h265: Calculate crop rectangle dimensions
18355           639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
18356           4c8ec41: Add h265 videoparser plugin source files
18357
18358 2015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18359
18360         * autogen.sh:
18361           autogen: drop videoutils submodule.
18362
18363 2015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18364
18365         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18366           decoder: hevc: cosmetics.
18367           Mostly coding style updates. Avoid integer signess inconsistencies.
18368           Optimize dpb_find_lowest_poc() to align with original h264's decoder.
18369
18370 2015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18371
18372         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18373           decoder: hevc: Add Support for tiled video decoding
18374           Based up on the value of uniform_spacing_flag in Picture Parameter Set,
18375           the tile column width and tile row height should be calculated.
18376           Equations: 6-1, 6-2
18377           Tiled video Descriptions: 7.3.2.3, 7.4.3.3
18378
18379 2015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18380
18381         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18382           decoder: hevc: Fix decoding when there are RASL pictures present.
18383           -- Set NoRaslOutputFlag based on EOS and EOB Nal units
18384           -- Fix PicOutputFlag setting for RASL picture
18385           -- Fix prev_poc_lsb/prev_poc_msb calculation
18386           -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
18387           -- Fixed couple of crashes and added cosmetics
18388
18389 2015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
18390
18391         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
18392           display: drm: fix race condition setting device type
18393           There is a race condition where g_drm_device_type can be left set to
18394           DRM_DEVICE_RENDERNODES when it shouldn't.
18395           If thread 1 comes in and falls into the last else statement setting up both
18396           RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
18397           it sets g_drm_device_type = RENDERNODES.
18398           Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
18399           up that type to be tried but then encounters the lock and has to wait until the
18400           first thread finishes. Once the lock is acquired it will then proceed to ONLY try
18401           RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
18402           attempts will only try RENDERNODES.
18403           So to avoid this situation I have simply moved the acquisition of the lock higher
18404           up in the attached patch.
18405           https://bugzilla.gnome.org/show_bug.cgi?id=747914
18406
18407 2015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
18408
18409         * gst/vaapi/gstvaapipostproc.c:
18410           vaapipostproc: Don't create filter on caps query
18411           The problem with this is that creating the filter causes the display to
18412           be selected, and the caps query happens while linking the element. So,
18413           if the downstream or upstream element is using a specific display
18414           object, it won't be propagated correctly to the postproc as it already
18415           has a display at this point.
18416           https://bugzilla.gnome.org/show_bug.cgi?id=747945
18417
18418 2015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
18419
18420         * gst-libs/gst/vaapi/gstvaapivideopool.c:
18421           videopool: Release lock while allocating new object
18422           The video pool can be accessed with the display lock held, for example,
18423           when releasing a buffer from inside vaapisink_render, but allocating
18424           a new object can may also take the display lock. Which means a possible
18425           deadlock.
18426           https://bugzilla.gnome.org/show_bug.cgi?id=747944
18427
18428 2015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18429
18430         * gst/vaapi/gstvaapisink.c:
18431           vaapisink: use GstVideoSink vmethod show_frame()
18432           vaapisink inherits from GstVideoSink, in order to use its functionality (such
18433           as ::show-preroll-frame property), we should use its vmethod show_frame(),
18434           rather than call ourselves render() and preroll().
18435
18436 2015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18437
18438         * gst/vaapi/gstvaapisink.c:
18439         * gst/vaapi/gstvaapisink.h:
18440           vaapisink: add 'handoff' signal
18441           This patch adds the signal ::handoff and the property signal-handoffs. If the
18442           property is set TRUE, the signal ::handoff is emitted just after the buffer is
18443           rendered.
18444           Based on Zhao Halley <halley.zhao@intel.com>
18445           https://bugzilla.gnome.org/show_bug.cgi?id=747905
18446
18447 2015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18448
18449         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18450           HEVC: silence the compiler
18451           Fixed a couple of clang complains.
18452
18453 2015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
18454
18455         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18456           wayland: destroy vpp buffer pool on resize
18457           Otherwise the old buffers with the old size are used.
18458           https://bugzilla.gnome.org/show_bug.cgi?id=747491
18459
18460 2015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18461
18462         * configure.ac:
18463         * gst-libs/gst/vaapi/Makefile.am:
18464           build: don't compile HEVC if not supported
18465           HEVC decoding was added recently libva-1.5.
18466           This patch avoids HEVC decoding support in libgstvaapi if it is not available
18467           in the installed libva.
18468           https://bugzilla.gnome.org/show_bug.cgi?id=747831
18469
18470 2015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18471
18472         * gst/vaapi/gstvaapidecode.c:
18473           vaapidecode: Update Author name in plugin metadata
18474
18475 2015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18476
18477         * gst/vaapi/gstvaapidecode.c:
18478           plugins: Add HEVC decoder
18479           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18480
18481 2015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18482
18483         * gst-libs/gst/vaapi/Makefile.am:
18484         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
18485         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
18486           HEVC: Add HEVC(h265) decoder to core libgstvaapi
18487           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18488
18489 2015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18490
18491         * gst-libs/gst/vaapi/Makefile.am:
18492         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
18493         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
18494         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
18495           HEVC: Add codec utility methods to core libgstvaapi
18496           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18497
18498 2015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18499
18500         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18501         * gst-libs/gst/vaapi/gstvaapiprofile.h:
18502           HEVC: gstvaapiprofile: Add profile definitions
18503           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18504
18505 2015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18506
18507         * configure.ac:
18508           HEVC: build: Check availability of h265 decoder APIs
18509           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18510
18511 2015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18512
18513         * configure.ac:
18514         * ext/Makefile.am:
18515         * gst-libs/gst/codecparsers/Makefile.am:
18516           HEVC: Allow to build h265 codecparser internally
18517           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18518
18519 2015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18520
18521         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
18522         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
18523         * gst-libs/gst/vaapi/gstvaapisurface.c:
18524           guard buffer export API if not available
18525           The support for buffer exports in VA-API was added in version 0.36. These
18526           interfaces are for interop with EGL, OpenCL, etc.
18527           GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
18528           has to support VA-API versions ranging from 0.30.4, which doesn't support it.
18529           This patch guards all the buffer exports handling (and dmabuf allocator) if
18530           the detected VA-API version is below 0.36.
18531           https://bugzilla.gnome.org/show_bug.cgi?id=746405
18532
18533 2015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18534
18535         * ext/codecparsers:
18536           codecparsers: Update to gst-vaapi-branch commit 9bc72b0
18537           767bf22: codecparsers: h265: add helpers to convert quantization matrices
18538           71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
18539           3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
18540           10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
18541           2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
18542
18543 2014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
18544
18545         * gst/vaapi/gstvaapidecode.c:
18546           vaapidecode: unref video codec frame twice
18547           We get one reference when the frame is passed to decode_handle_frame()
18548           and create another one in gst_vaapi_decoder_push_frame().
18549           Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
18550           Here the frame is always released twice:
18551           gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
18552           gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
18553           In gst_vaapidecode_reset_full() both references to the frame must be
18554           released as well.
18555           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18556           https://bugzilla.gnome.org/show_bug.cgi?id=743226
18557
18558 2015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18559
18560         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
18561           libs: remove unused variables
18562           clang reports these unused variables. Let's get rid of them.
18563           This patch is a missing part of commit c82e5173
18564           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18565
18566 2015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18567
18568         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18569           decoder: mpeg4: remove an spurious comparison
18570           The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
18571           less than zero. Hence this pre-condition test is a no-op. This patch removes
18572           that code.
18573           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18574
18575 2015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18576
18577         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18578           encoder: h264: casts slice_param->slice_type
18579           slice_type in slice_param is defined as (char *), but it is compared against a
18580           signed integer. clang complains about this comparison.
18581           This patch casts the variable.
18582           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18583
18584 2015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18585
18586         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
18587           encoder: avoid GstVaapiCodedBuffer redefinition
18588           The symbol GstVaapiCodedBuffer is already defined in
18589           gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
18590           gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
18591           This patch removes that redefinition.
18592           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18593
18594 2015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18595
18596         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
18597         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
18598           libs: remove unused variables
18599           clang reports these unused variables. Let's get rid of them.
18600           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18601
18602 2015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18603
18604         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18605           encoder: mpeg2: use fabsf() instead of abs()
18606           The member value in frame_rate_tab is float, the result of the abs() function
18607           should be float too. But abs() only manages integers.
18608           This patch replaces abs() with fabsf() to handle correctly the possible floats
18609           values.
18610           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18611
18612 2015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18613
18614         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18615         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18616         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
18617         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18618         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18619           decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
18620           Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
18621           GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
18622           https://bugzilla.gnome.org/show_bug.cgi?id=747312
18623
18624 2015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18625
18626         * README:
18627           Update README
18628
18629 2015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18630
18631         * .gitmodules:
18632         * README:
18633           Changing source code download links from https://gitorious  to https://github
18634           -- gitmodules: Change gstreamer-codecparsers submodule source download link
18635           -- README: Change the gstreamer-vaapi webpage link
18636
18637 2015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18638
18639         * ext/codecparsers:
18640           codecparsers: update to gst-vaapi-branch commit 1f792e4
18641           87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
18642           7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
18643           2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
18644           2b92a67: h264parse: reset the parser information when caps changes
18645           05eee86: codecparsers: Indent file
18646           e27a38b: codecparsers: Add READ_UE_MAX macro
18647           2036471: Constify some static arrays everywhere
18648
18649 2015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18650
18651         * gst/vaapi/gstvaapivideoconverter_glx.c:
18652         * gst/vaapi/gstvaapivideoconverter_x11.c:
18653           Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
18654
18655 2015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18656
18657         * gst/vaapi/gstvaapidecode.c:
18658         * gst/vaapi/gstvaapidecodebin.c:
18659         * gst/vaapi/gstvaapiencode_h264.c:
18660         * gst/vaapi/gstvaapiencode_jpeg.c:
18661         * gst/vaapi/gstvaapiencode_mpeg2.c:
18662         * gst/vaapi/gstvaapiencode_vp8.c:
18663         * gst/vaapi/gstvaapipluginbase.c:
18664         * gst/vaapi/gstvaapipluginutil.c:
18665         * gst/vaapi/gstvaapipluginutil.h:
18666         * gst/vaapi/gstvaapipostproc.c:
18667         * gst/vaapi/gstvaapisink.c:
18668         * gst/vaapi/gstvaapivideobuffer.c:
18669         * gst/vaapi/gstvaapivideobufferpool.c:
18670         * gst/vaapi/gstvaapivideocontext.c:
18671         * gst/vaapi/gstvaapivideocontext.h:
18672         * gst/vaapi/gstvaapivideoconverter_glx.h:
18673         * gst/vaapi/gstvaapivideoconverter_x11.h:
18674         * gst/vaapi/gstvaapivideomemory.h:
18675         * gst/vaapi/gstvaapivideometa_texture.c:
18676           Removal of gstreamer-1.0 support
18677           The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
18678           GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
18679           This patch removes all the pre-processor conditional code compilation guarded
18680           for gstreamer-1.0.
18681           Thus, all the video converters were removed too.
18682           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18683           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18684           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18685
18686 2015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18687
18688         * gst-libs/gst/vaapi/gstcompat.h:
18689         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18690         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18691         * gst-libs/gst/vaapi/sysdeps.h:
18692         * gst/vaapi/gstcompat.h:
18693         * gst/vaapi/gstvaapi.c:
18694         * gst/vaapi/gstvaapidecode.c:
18695         * gst/vaapi/gstvaapidecodebin.c:
18696         * gst/vaapi/gstvaapiencode.c:
18697         * gst/vaapi/gstvaapiencode_h264.c:
18698         * gst/vaapi/gstvaapiencode_jpeg.c:
18699         * gst/vaapi/gstvaapiencode_mpeg2.c:
18700         * gst/vaapi/gstvaapiencode_vp8.c:
18701         * gst/vaapi/gstvaapiparse.c:
18702         * gst/vaapi/gstvaapipluginbase.c:
18703         * gst/vaapi/gstvaapipluginutil.c:
18704         * gst/vaapi/gstvaapipostproc.c:
18705         * gst/vaapi/gstvaapisink.c:
18706         * gst/vaapi/gstvaapiuploader.c:
18707         * gst/vaapi/gstvaapivideobuffer.c:
18708         * gst/vaapi/gstvaapivideobufferpool.c:
18709         * gst/vaapi/gstvaapivideocontext.c:
18710         * gst/vaapi/gstvaapivideoconverter_glx.c:
18711         * gst/vaapi/gstvaapivideoconverter_x11.c:
18712         * gst/vaapi/gstvaapivideomemory.c:
18713         * gst/vaapi/gstvaapivideometa.c:
18714         * gst/vaapi/gstvaapivideometa_texture.c:
18715         * tests/codec.c:
18716           update and move gstcompat.h
18717           The purpose of gstcompat.h is to couple the API differences among
18718           gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
18719           in this compatibility layer shall be removed.
18720           Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
18721           appear in the future, but it shall live in gst/vaapi, not in gst-libs.
18722           This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
18723           In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
18724           the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
18725           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18726           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18727           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18728
18729 2015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18730
18731         * configure.ac:
18732         * gst/vaapi/Makefile.am:
18733           autotools: remove gstreamer-1.0 support
18734           This patch only removes the support of gstreamer-1.0 in the autotools
18735           scripts. No other files are touched.
18736           In the automake file all the converters were deprecated.
18737           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18738           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18739           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18740
18741 2015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18742
18743         * .gitmodules:
18744         * ext/Makefile.am:
18745         * ext/videoutils:
18746           Remove the gstreamer-videoutils submodule
18747
18748 2015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18749
18750         * configure.ac:
18751         * gst-libs/gst/Makefile.am:
18752         * gst-libs/gst/vaapi/Makefile.am:
18753         * gst-libs/gst/video/Makefile.am:
18754         * gst/vaapi/Makefile.am:
18755         * tests/Makefile.am:
18756           Remove libgstvaapi-videoutils.so
18757           This library was intended to add the base classes for video decoders which
18758           where not included in gstreamer-0.10.
18759           Since the support of gstreamer-0.10 is deprecated those classes are not
18760           required, thus the whole library is removed.
18761           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18762           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18763           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18764
18765 2015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18766
18767         * configure.ac:
18768         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
18769         * gst-libs/gst/vaapi/gstvaapiutils.c:
18770         * tests/test-subpicture.c:
18771           Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
18772           This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
18773           defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
18774           deprecated these guards are not required.
18775           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18776           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18777           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18778
18779 2015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18780
18781         * gst-libs/gst/vaapi/gstcompat.h:
18782         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
18783         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18784         * gst-libs/gst/vaapi/gstvaapiimage.c:
18785         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18786         * gst-libs/gst/vaapi/video-format.c:
18787         * gst-libs/gst/vaapi/video-format.h:
18788         * gst/vaapi/gstvaapi.c:
18789         * gst/vaapi/gstvaapidecode.c:
18790         * gst/vaapi/gstvaapidecodebin.c:
18791         * gst/vaapi/gstvaapidownload.c:
18792         * gst/vaapi/gstvaapidownload.h:
18793         * gst/vaapi/gstvaapiencode.c:
18794         * gst/vaapi/gstvaapiencode_h264.c:
18795         * gst/vaapi/gstvaapiencode_jpeg.c:
18796         * gst/vaapi/gstvaapiencode_mpeg2.c:
18797         * gst/vaapi/gstvaapiencode_vp8.c:
18798         * gst/vaapi/gstvaapiparse.c:
18799         * gst/vaapi/gstvaapipluginbase.c:
18800         * gst/vaapi/gstvaapipluginbase.h:
18801         * gst/vaapi/gstvaapipluginutil.c:
18802         * gst/vaapi/gstvaapipluginutil.h:
18803         * gst/vaapi/gstvaapipostproc.c:
18804         * gst/vaapi/gstvaapisink.c:
18805         * gst/vaapi/gstvaapiupload.c:
18806         * gst/vaapi/gstvaapiupload.h:
18807         * gst/vaapi/gstvaapiuploader.c:
18808         * gst/vaapi/gstvaapivideobuffer.c:
18809         * gst/vaapi/gstvaapivideoconverter_glx.c:
18810         * gst/vaapi/gstvaapivideoconverter_x11.c:
18811         * gst/vaapi/gstvaapivideometa.c:
18812         * gst/vaapi/gstvaapivideometa.h:
18813         * tests/test-filter.c:
18814         * tests/test-subpicture.c:
18815           Removal of gstreamer-0.10 support
18816           This patch removes all the pre-processor conditional code compilation guarded
18817           for gstreamer-0.10.
18818           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18819           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18820           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18821
18822 2015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18823
18824         * configure.ac:
18825         * debian.upstream/control.in:
18826         * gst-libs/gst/video/Makefile.am:
18827         * gst/vaapi/Makefile.am:
18828           autotools: remove gstreamer-0.10 support
18829           This patch only removes the support of gstreamer-0.10 in the autotools
18830           scripts. No other files are touched.
18831           The configuration parameter --gstreamer-api was deleted since now it is always
18832           auto-detected.
18833           The verification of vmethod query in GstBaseSinkClass was removed since it was
18834           added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
18835           its format flags.
18836           The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
18837           remained.
18838           The automake files were changed accordingly.
18839           Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
18840           https://bugzilla.gnome.org/show_bug.cgi?id=732666
18841           https://bugzilla.gnome.org/show_bug.cgi?id=745728
18842           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18843
18844 2015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18845
18846         * gst/vaapi/gstvaapidecode.c:
18847           vaapidecode: add drain() vmethod
18848           In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
18849           class. This patch implements this new method.
18850           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18851           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18852           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18853
18854 2015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18855
18856         * gst/vaapi/gstvaapidecode.c:
18857           vaapidecode: remove vmethod reset()
18858           Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
18859           this patch removes the method reset() which was deprecated in GStreamer 1.2.
18860           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18861           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18862           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18863
18864 2015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18865
18866         * gst/vaapi/gstvaapidecode.c:
18867           vaapidecode: handle flush() vmethod
18868           Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
18869           and flush() was added.
18870           This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
18871           superior. Otherwise, reset() is set.
18872           v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
18873           was renamed to gst_vaapidecode_internal_flush().
18874           2) The new vmethod flush() always do a hard full reset.
18875           v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
18876           gather all collected data with  gst_video_decoder_have_frame()
18877           https://bugzilla.gnome.org/show_bug.cgi?id=742922
18878           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18879           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18880
18881 2015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18882
18883         * gst/vaapi/gstvaapidecode.c:
18884           vaapidecode: call the correct query function
18885           In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
18886           a bug was introduced: when calling the parent's query function of the
18887           src pad, the one of the sink pad is called instead. This patch fixes
18888           this issue.
18889           https://bugzilla.gnome.org/show_bug.cgi?id=746248
18890
18891 2015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18892
18893         * .gitmodules:
18894           gitmodules: Use https:// url instead of git:// for submodules.
18895           Gitorious is failing to clone repositories over git:// url.
18896
18897 2015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
18898
18899         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18900           vaapidisplay: mark X11 display as compatible with EGL
18901           GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
18902           gst-launch-1.0 ... ! vaapidecode ! glimagesink
18903           https://bugzilla.gnome.org/show_bug.cgi?id=745902
18904           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
18905
18906 2015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
18907
18908         * gst/vaapi/gstvaapidecode.c:
18909           vaapidecode: Don't crash if a buffer outlives the decoder
18910           Sometimes, for example, when switching video streams but keeping
18911           the same sink, the surface will be released after the decoder is
18912           stopped and replaced. This caused a crash because the release
18913           callback was called on an invalid pointer.
18914           The patch adding an additional reference to the decoder object in the buffer.
18915           https://bugzilla.gnome.org/show_bug.cgi?id=745189
18916           Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
18917           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18918
18919 2015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18920
18921         * gst/vaapi/gstvaapidecode.c:
18922           vaapidecode: clean-ups (indentation, drop unused variables)
18923
18924 2015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18925
18926         * gst/vaapi/gstvaapidecode.c:
18927           vaapidecode: use the query virtual methods in 1.4
18928           GstVideoDecoder, the base class of vaapidecode, added support for
18929           pad queries as virtual methods. This patch enables the use of that
18930           support, while keeping support for lower versions of gstreamer.
18931           This patch is important because GstVideoDecoder takes care of other
18932           queries that might be important in the pipeline managing.
18933           v2: 1) rebase to current master
18934           2) fix indentation with gst-indent
18935           3) simplify the patch layout
18936           4) fix the context query
18937           5) initialise the filter to NULL
18938           6) improve the query log message for gst-1.2
18939           https://bugzilla.gnome.org/show_bug.cgi?id=744406
18940
18941 2015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18942
18943         * gst/vaapi/gstvaapipostproc.c:
18944         * gst/vaapi/gstvaapipostproc.h:
18945           vaapipostproc: always activate buffer pool
18946           The vaapipostproc has a proxy flag to know if the the buffer pool is
18947           already active. But this fails in some situations where it is needed
18948           to renegotiate the buffer pool.
18949           This patch removes that flag so the renegotiation is done whenever is
18950           required.
18951           https://bugzilla.gnome.org/show_bug.cgi?id=745535
18952
18953 2015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18954
18955         * gst/vaapi/gstvaapisink.c:
18956           vaapisink: fix minor memory leak in debug mode.
18957           The gst_video_colorimetry_to_string() function returns a newly created
18958           string that represents the GstVideoColorimetry value. So, that needs
18959           to be released after usage, in e.g. GST_DEBUG().
18960
18961 2015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18962
18963         * gst/vaapi/gstvaapidecodebin.h:
18964           vaapidecodebin: Avoid usage of "__" prefix in macro names
18965           Avoiding "__" prefix usage in Header File Guards as per
18966           C standard recommendation.
18967
18968 2015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18969
18970         * gst/vaapi/gstvaapi.c:
18971           plugins: Disable vaapidecodebin for GStreamer < 1.4
18972           There are autoplugging issues in GStreamer-1.2.
18973           Lets disable vaapidecodebin untill we get some workarounds for this.
18974
18975 2015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18976
18977         * gst/vaapi/Makefile.am:
18978         * gst/vaapi/gstvaapi.c:
18979         * gst/vaapi/gstvaapidecodebin.c:
18980         * gst/vaapi/gstvaapidecodebin.h:
18981           plugins: Add a vaapidecodebin element
18982           Add a "vaapidecodebin" element to vaapi plugins.
18983           Child Elements: "vaapidecode ! queue ! vaapipostproc"
18984           The Reasons for implementing a new bin element:
18985           -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
18986           with out any dependency to upstream gstreamer.
18987           This is to overcome the *unacceptable* delay in upstream gstreamer to get new
18988           features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
18989           Also customers using older gstreamer versions (1.2 and 1.4) will get the
18990           benefit of autoplugging, hardware accelerated deinterlacing support etc.
18991           -- Help to maintain a single thread implementation in vaapidecode.
18992           This will result a dead-lock free vaapidecode in most of the cases.
18993           More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
18994           https://bugzilla.gnome.org/show_bug.cgi?id=745216
18995
18996 2015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18997
18998         * gst/vaapi/gstvaapidecode.c:
18999           vaapidecode: re-indent (gst-indent) gstvaapidecode.c
19000
19001 2015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19002
19003         * gst/vaapi/gstvaapidecode.c:
19004         * gst/vaapi/gstvaapidecode.h:
19005           vaapidecode: Switch back to Single thread implementation
19006           Because the decoder uses the thread from handle_frame() to decode a frame,
19007           the src pad task creates an unsolveable AB-BA deadlock between
19008           handle_frame() waiting for a free surface and decode_loop() pushing
19009           decoded frames out.
19010           Instead, have handle_frame() take responsibility for pushing surfaces,
19011           and remove the deadlock completely. If you need a separate thread
19012           downstream, you can insert a queue between vaapidecode and its downstream
19013           to get one.
19014           Another justification for the single thread implementation is,
19015           there are two many point of locking in gstreamer-vaapi's current
19016           implementation which can lead to deadlocks.
19017           https://bugzilla.gnome.org/show_bug.cgi?id=742605
19018           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19019           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
19020           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19021
19022 2015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19023
19024         * gst/vaapi/gstvaapipluginbase.c:
19025           plugins: fix detection of upstream v4l2src element.
19026           Improve check for upstream element that requires DMABUF buffer pool,
19027           e.g. v4l2src element. In particular, make sure to traverse through
19028           any additional capsfilter for instance.
19029           Note: the traversal to the top-most upstream element could be made
19030           more generic, but we are insofar only interested in supporting pipes
19031           similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
19032           specification for a desired video camera format, or resolution.
19033
19034 2015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19035
19036         * gst/vaapi/gstvaapivideomemory.c:
19037           plugins: fix allocation of DMABUF memory.
19038           The dmabuf allocator would close the DMABUF handle passed in the init
19039           function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
19040           to avoid a double close, ultimately in the underlying driver that owns
19041           the DMABUF handle.
19042
19043 2015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
19044
19045         * gst/vaapi/gstvaapidecode.c:
19046           vaapidecode: keep src caps and output state in sync
19047           vaapidecode keeps an output state that use the format
19048           GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
19049           for a correct negotiation.
19050           I don't see the rational behind this decoupling, it looks like
19051           unnecessary complexity. This patch simplify this logic keeping
19052           in sync the output state and the src caps.
19053           This patch improves the readability of the function
19054           gst_vaapidecode_update_src_caps() and simplify its logic. Also,
19055           the patch validates if the buffer pool has the configuration for
19056           the GL texture upload meta, in order to set the caps feature
19057           meta:GLTextureUpload. Otherwise, the I420 format is set back.
19058           https://bugzilla.gnome.org/show_bug.cgi?id=744618
19059           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
19060           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19061
19062 2015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
19063
19064         * gst/vaapi/gstvaapidecode.c:
19065           vaapidecode: upload meta only if feature and allocation
19066           When vaapidecode finishes the decoding of a frame and pushes it,
19067           if, in the decide_allocation() method, it is determined if the
19068           next element supports the GL texture upload meta feature, the
19069           decoder adds the buffer's meta.
19070           Nonetheless, in the same spirit of the commit 71d3ce4d, the
19071           determination if the next element supports the GL texture upload
19072           meta needs to check both the preferred caps feature *and* if the
19073           allocation query request the API type.
19074           This patch, first removes the unused variable need_pool, and
19075           determines the attribute has_texture_upload_meta using the
19076           preferred caps feature *and* the allocation query.
19077           Also, the feature passed to GstVaapPluginBase is not longer
19078           determined by has_texture_upload_meta, but by the computed
19079           preferred one.
19080           https://bugzilla.gnome.org/show_bug.cgi?id=744618
19081           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
19082           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19083
19084 2015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
19085
19086         * gst/vaapi/gstvaapidecode.c:
19087         * gst/vaapi/gstvaapidecode.h:
19088         * gst/vaapi/gstvaapipluginutil.c:
19089         * gst/vaapi/gstvaapipluginutil.h:
19090           vaapidecode: delayed src caps negotiation
19091           Currently the src caps are set immediately after the sink caps are set, but in
19092           that moment the pipeline might not fully constructed and the video sink has
19093           not negotiated its supported caps and features. As a consequence, in many cases
19094           of playback, the least optimized caps feature is forced. This is partially the
19095           responsible of bug #744039.
19096           Also, vaapidecode doesn't attend the reconfigure events from downstream,
19097           which is a problem too, since the video sink can be changed with different
19098           caps features.
19099           This patch delays the src caps, setting them until the first frame arrives to
19100           the decoder, assuming until that very moment the whole pipeline is already
19101           negotiated. Particularly, it checks if the src pad needs to be reconfigured,
19102           as a consequence of a reconfiguration event from downstream.
19103           A key part of this patch is the new GstVaapiCapsFeature
19104           GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
19105           doesn't have a peer yet. Also, for a better report of the caps allowed
19106           through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
19107           instead of gst_pad_peer_query_caps() when looking for the preferred feature.
19108           v3: move the input_state unref to close(), since videodecoder resets at
19109           some events such as navigation.
19110           v4: a) the state_changed() callback replaces the input_state if the media
19111           changed, so this case is also handled.
19112           b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
19113           always the input_state, the parameter were removed.
19114           c) there were a lot of repeated code handling the input_state, so I
19115           refactored it with the function gst_vaapi_decode_input_state_replace().
19116           https://bugzilla.gnome.org/show_bug.cgi?id=744618
19117           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
19118           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19119
19120 2015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19121
19122         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19123         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
19124           encoder: h264: add support for more than 2 views
19125           Add support for H.264 MVC Multiview High profile encoding with
19126           more than 2 views. All views within the same accesss unit are
19127           provided in increasing order of view order index (VOIdx).
19128           Upto 10 view are supported for now.
19129           A new property "view-ids" has been provided for the plugins to
19130           set the view ids (which is an array of guint values) to be used
19131           for mvc encoding.
19132           https://bugzilla.gnome.org/show_bug.cgi?id=732453
19133
19134 2015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19135
19136         * gst/vaapi/gstvaapipluginbase.c:
19137           plugins: upload meta only if feature and allocation
19138           Working on bug #743687, I realized that vaapidecode always adds to its buffer
19139           pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
19140           the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
19141           Nevertheless, there are occasions where the query has the API type, but the
19142           last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
19143           Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
19144           buffer pool configuration, and adds its buffer's meta to each output buffer,
19145           even if the negotiated caps feature is memory:SystemMemory with I420 color
19146           format.
19147           This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
19148           that relates caps <-> GL upload method. If it receives a buffer with color
19149           format I420, it assumes that it doesn't have a texture upload meta, because
19150           only those with RGB color format has it. Our buffers, with I420 format, say
19151           that they have the upload meta too. In that case the mapped method is a dummy
19152           one which does nothing. I reported this issue in bug #744039 (the patch,
19153           obviously, was rejected).
19154           This patch workarounds the problem: the buffer pool's configuration option
19155           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
19156           query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
19157           caps feature is meta:GstVideoGLTextureUploadMeta.
19158           I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
19159           in all they seem to work correctly.
19160           https://bugzilla.gnome.org/show_bug.cgi?id=744618
19161           [adapted to fit current EGL changes]
19162           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19163
19164 2015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19165
19166         * gst-libs/gst/vaapi/gstvaapitexture.c:
19167         * gst-libs/gst/vaapi/gstvaapitexture.h:
19168         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19169         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
19170         * gst/vaapi/gstvaapivideometa_texture.c:
19171           plugins: add support for GstVideoGLTextureOrientation.
19172           Add support for GstVideoGLTextureOrientation modes. In particular,
19173           add orientation flags to the GstVaapiTexture wrapper and the GLX
19174           implementations. Default mode is that texture memory is laid out
19175           with top lines first, left row first. Flags indicate whether the
19176           X or Y axis need to be inverted.
19177
19178 2015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19179
19180         * gst/vaapi/gstvaapidecode.c:
19181         * gst/vaapi/gstvaapipluginbase.c:
19182         * gst/vaapi/gstvaapipluginutil.c:
19183         * gst/vaapi/gstvaapipluginutil.h:
19184         * gst/vaapi/gstvaapipostproc.c:
19185         * gst/vaapi/gstvaapivideometa_texture.c:
19186           plugins: add support for BGRA textures.
19187           Some frameworks (EFL) expect BGRA textures for storage. However,
19188           adding support for that broadly into GStreamer framework  implies
19189           two kinds of hacks: (i) libgstgl helpers currently do not support
19190           BGRA textures correctly, (ii) we need to better parse downstream
19191           suggested caps and intersect them with what the VA plugin elements
19192           can offer to them for GL texturing.
19193
19194 2015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19195
19196         * gst/vaapi/gstvaapipluginutil.c:
19197           plugins: fix support for Wayland/EGL running alongside X11.
19198           When multiple display servers are available, the glimagesink element
19199           (from GStreamer 1.4) may not be able to derive a global display in
19200           Wayland. Rather, a "window"-specific display is created. In this case,
19201           the GstGLDisplay handle available through GstGLContext is invalid.
19202           So, try to improve heuristics for display server characterisation in
19203           those particular situations.
19204
19205 2015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19206
19207         * configure.ac:
19208         * gst/vaapi/Makefile.am:
19209         * gst/vaapi/gstvaapidecode.c:
19210         * gst/vaapi/gstvaapipluginbase.c:
19211         * gst/vaapi/gstvaapipluginutil.c:
19212         * gst/vaapi/gstvaapivideobufferpool.c:
19213         * gst/vaapi/gstvaapivideometa_texture.c:
19214           plugins: add initial support for EGL.
19215           Add initial support for EGL through GstVideoGLTextureUploadMeta.
19216           Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
19217           downstream supplied GstGLContext configuration, i.e. use its native
19218           display handle to create a GstVaapiDisplay of type X11 or Wayland ;
19219           and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
19220           wrapper.
19221           https://bugzilla.gnome.org/show_bug.cgi?id=741079
19222
19223 2014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19224
19225         * gst/vaapi/gstvaapivideometa_texture.c:
19226           plugins: track video texture size changes.
19227           Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
19228           i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
19229           now update the texture size from the GstVideoMeta, if any, or reset
19230           to some defaults otherwise.
19231
19232 2014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19233
19234         * gst/vaapi/gstvaapipluginbase.c:
19235         * gst/vaapi/gstvaapipluginbase.h:
19236         * gst/vaapi/gstvaapipluginutil.c:
19237           plugins: ensure VA display matches GL context expectations.
19238           If a GstGLContext is supplied by the downstream element, then make
19239           sure that the VA plugin element gets a compatible display to what
19240           is requested by the GL context. e.g. re-allocate a VA/GLX display
19241           when a GLX context is provided by the downstream element.
19242
19243 2014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19244
19245         * configure.ac:
19246         * gst/vaapi/Makefile.am:
19247         * gst/vaapi/gstvaapipluginbase.c:
19248         * gst/vaapi/gstvaapipluginbase.h:
19249           plugins: record downstream GstGLContext.
19250           Record GL context supplied by downstream elements. This can be useful,
19251           and further needed, to enforce run-time check that the GL context is
19252           compatible for use by libgstvaapi. e.g. check that we don't create a
19253           VA/GLX display for EGL/X11 contexts.
19254           https://bugzilla.gnome.org/show_bug.cgi?id=725643
19255           Original-path-by: Matthew Waters <ystreet00@gmail.com>
19256
19257 2014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19258
19259         * tests/Makefile.am:
19260         * tests/output.c:
19261           egl: update tests.
19262           Add initial support for EGL to tests. The new EGL backend can be selected
19263           through the --egl command line option. The OpenGL|ES version can further
19264           be selected with the --gles-version command line option, where the default
19265           of 0 means "desktop" OpenGL.
19266
19267 2015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19268
19269         * gst-libs/gst/vaapi/Makefile.am:
19270         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
19271         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
19272         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
19273         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
19274         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
19275           egl: add windowing support.
19276           This provides for some basic EGL window abstraction.
19277
19278 2015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19279
19280         * gst-libs/gst/vaapi/Makefile.am:
19281         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
19282         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
19283         * gst-libs/gst/vaapi/gstvaapitexture_egl.h:
19284           egl: add texture abstraction.
19285           Add GstVaapiTextureEGL abstraction that can create its own GL texture,
19286           or import a foreign allocated one, while still allowing updates from a
19287           VA surface.
19288
19289 2014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19290
19291         * gst-libs/gst/vaapi/Makefile.am:
19292         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
19293         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
19294           egl: allow for EGLImage imports into VA Surfaces.
19295           Add helpers to import EGLImage objects into VA surfaces. There are
19296           two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
19297           which allows for implicit conversion from EGLImage to a VA surface
19298           in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
19299           which exactly wraps the source EGLImage, typically in RGBA format
19300           with linear storage.
19301           Note: in case of (i), the EGLImage can be disposed right after the
19302           VA surface creation call, unlike in (ii) where the user shall ensure
19303           that the EGLImage is live until the associated VA surface is no longer
19304           needed.
19305           https://bugzilla.gnome.org/show_bug.cgi?id=743847
19306
19307 2015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19308
19309         * configure.ac:
19310         * gst-libs/gst/vaapi/Makefile.am:
19311         * gst-libs/gst/vaapi/egl_compat.h:
19312         * gst-libs/gst/vaapi/egl_vtable.h:
19313         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19314         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19315         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
19316         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
19317         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
19318         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
19319         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
19320         * gst-libs/gst/vaapi/ogl_compat.h:
19321           Add initial support for EGL.
19322           Add initial support for EGL to libgstvaapi core library. The target
19323           display server and the desired OpenGL API can be programmatically
19324           selected at run-time.
19325           A comprehensive set of EGL utilities are provided to support those
19326           dynamic selection needs, but also most importantly to ensure that
19327           the GL command stream is executed from within a single thread.
19328           https://bugzilla.gnome.org/show_bug.cgi?id=743846
19329
19330 2015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19331
19332         * gst-libs/gst/vaapi/gstvaapivalue.c:
19333           libs: initialize GValues in a thread-safe manner.
19334
19335 2015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19336
19337         * gst-libs/gst/vaapi/gstvaapivalue.c:
19338           libs: re-indent all GValue related source code.
19339
19340 2015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19341
19342         * gst/vaapi/gstvaapidecode.c:
19343           vaapidecode: partially revert 0777f35.
19344           Reset the VA decoder after updating the base plugin caps, and most
19345           importantly, after GstVideoDecoder negotiation. The reason behind
19346           this is that the negotiation could trigger a last decide_allocation()
19347           where we could actually derive a new GstVaapiDisplay to use from the
19348           downstream element. e.g. GLX backend.
19349
19350 2015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19351
19352         * gst/vaapi/gstvaapidecode.c:
19353           vaapidecode: Caps query should return the list of all supported caps.
19354           Query caps filtering should be always done on top of allowed caps instead
19355           of existing fixed caps on a particular pad.
19356           This fixes the mvc stream decoding when there is a base view(high profile)
19357           and non-base view(stereo-high profile).
19358
19359 2015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19360
19361         * gst/vaapi/gstvaapidecode.c:
19362           vaapidecode: intersect filter from query caps
19363           According to documentation[1] when receiving a GST_QUERY_CAPS
19364           the return value should be all formats that this elements supports,
19365           taking into account limitations of peer elements further downstream
19366           or upstream, sorted by order of preference, highest preference first.
19367           This patch add those limitations intersecting with the received
19368           filter in the query. Also takes into account the already negotiated
19369           caps. Also adds the processing of the query on the SRC pad.
19370           1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
19371           https://bugzilla.gnome.org/show_bug.cgi?id=744406
19372
19373 2015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19374
19375         * gst-libs/gst/vaapi/Makefile.am:
19376         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19377         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19378         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19379         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19380         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
19381         * gst/vaapi/gstvaapivideomemory.c:
19382           Fix compiler warnings
19383           This patch fixes some warnings that gcc 4.9 reports.
19384           https://bugzilla.gnome.org/show_bug.cgi?id=744411
19385
19386 2015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19387
19388         * gst/vaapi/gstvaapidecode.c:
19389           vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
19390           Hence the function name is shown in the gst-inspect-1.0 information
19391           rather than the memory address.
19392           https://bugzilla.gnome.org/show_bug.cgi?id=744330
19393
19394 2015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19395
19396         * gst/vaapi/gstvaapidecode.c:
19397           vaapidecode: log flow error name
19398           https://bugzilla.gnome.org/show_bug.cgi?id=744387
19399
19400 2015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19401
19402         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19403           VC1: decoder: Ignore VC1 user BDU's
19404           Don't return error if the processed BDU is a user one, just ignore them.
19405           https://bugzilla.gnome.org/show_bug.cgi?id=741237
19406           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19407
19408 2015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
19409
19410         * gst/vaapi/gstvaapidecode.c:
19411         * gst/vaapi/gstvaapipluginbase.c:
19412           vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
19413           This is required in GStreamer, elements should never return
19414           GST_FLOW_ERROR without posting an ERROR message on the bus.
19415           https://bugzilla.gnome.org/show_bug.cgi?id=744620
19416
19417 2015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19418
19419         * gst/vaapi/Makefile.am:
19420         * gst/vaapi/gstvaapi.c:
19421         * gst/vaapi/gstvaapiencode_vp8.c:
19422         * gst/vaapi/gstvaapiencode_vp8.h:
19423           plugins: Add VP8 Encoder
19424
19425 2015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19426
19427         * gst-libs/gst/vaapi/Makefile.am:
19428         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
19429         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
19430           Add VP8 Encoder to core libgstvaapi.
19431
19432 2015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19433
19434         * configure.ac:
19435           configure: Add Check for VP8 Encoding API
19436
19437 2015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
19438
19439         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19440           decoder: vc1: Rounding control handling for VC1 simple and Main profile
19441           Added rounding control handling for VC1 simple and Main profile
19442           based on VC1 standard spec: section 8.3.7
19443           https://bugzilla.gnome.org/show_bug.cgi?id=743958
19444           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
19445           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19446
19447 2015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19448
19449         * gst/vaapi/Makefile.am:
19450           build: fix make dist when certain conditionals not met.
19451           Fix typo which was preventing the inclusion of jpeg encoder
19452           source files from make dist (when there is no jpeg encoder
19453           API support in libva).
19454
19455 2015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19456
19457         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
19458           encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
19459           If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
19460           use native YUV420 format (which is i420) as default.
19461
19462 2015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19463
19464         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19465           encoder: Only support YUV420 native format as input for now
19466           Practically we should be able to support more formats, for eg:
19467           JPEG Encoder can support YUV422, RGBA and all.
19468           But this is causing more issues which need proper fix here and there.
19469
19470 2015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
19471
19472         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19473         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19474         * gst/vaapi/gstvaapidecode.c:
19475           vaapidecode: Check the condition after taking the lock
19476           Otherwise the condition could become true before the lock
19477           is taken and the g_cond_signal() could be called
19478           before the g_cond_wait(), so the g_cond_wait() is never
19479           awoken.
19480           https://bugzilla.gnome.org/show_bug.cgi?id=740645
19481
19482 2015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19483
19484         * gst/vaapi/Makefile.am:
19485         * gst/vaapi/gstvaapi.c:
19486         * gst/vaapi/gstvaapiencode_jpeg.c:
19487         * gst/vaapi/gstvaapiencode_jpeg.h:
19488           plugins: Add JPEG encoder element
19489
19490 2015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19491
19492         * gst-libs/gst/vaapi/gstvaapicontext.c:
19493           gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
19494
19495 2015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19496
19497         * gst-libs/gst/vaapi/gstvaapicontext.c:
19498           gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
19499           Don't add the VAConfigAttribRateControl to the attribute list using
19500           for the vaCreateConfig if it is not supported by the driver.
19501
19502 2015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19503
19504         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19505           gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
19506
19507 2015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19508
19509         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19510           gstvaapiencoder: Fix crash when handling rate control mask
19511           Having a ratecontrol_mask equal to zero is not a bug, but the driver
19512           might not be supporting any kind of rate control mechanisms.
19513           Eg: JPEG Encoding
19514
19515 2015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19516
19517         * gst-libs/gst/vaapi/Makefile.am:
19518         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
19519         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
19520           encoder: Add JPEG Encoder
19521
19522 2015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19523
19524         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
19525         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
19526           encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
19527
19528 2015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19529
19530         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19531         * gst-libs/gst/vaapi/gstvaapiencoder.c:
19532         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19533         * gst-libs/gst/vaapi/gstvaapiprofile.h:
19534           Encode: Add support for Picture level Entrypoint
19535           This is useful for JPEG encoding which is utilizing picture level
19536           entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
19537
19538 2015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19539
19540         * configure.ac:
19541           configure: Add Check for JPEG encoding API
19542
19543 2015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19544
19545         * AUTHORS:
19546           AUTHORS: Updates
19547
19548 2015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19549
19550         * configure.ac:
19551           Bump version for development.
19552
19553 === release 0.5.10 ===
19554
19555 2015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19556
19557         * configure.ac:
19558           0.5.10
19559
19560 2015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19561
19562         * NEWS:
19563           NEWS: Updates
19564
19565 2015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19566
19567         * gst/vaapi/gstvaapivideometa_texture.c:
19568           Fix compilation error if there is no GL/gl.h header file installed
19569
19570 2015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19571
19572         * gst/vaapi/gstvaapivideomemory.h:
19573           plugins: drop leftover declaration.
19574           GstVaapiVideoMemory quark is not needed any more, and the actual
19575           implementation was already removed bfore the merge. i.e. this is
19576           an oversight for a hunk that was not meant to be pushed.
19577
19578 2015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19579
19580         * gst/vaapi/gstvaapipluginbase.c:
19581         * gst/vaapi/gstvaapivideobufferpool.c:
19582         * gst/vaapi/gstvaapivideobufferpool.h:
19583         * gst/vaapi/gstvaapivideomemory.c:
19584         * gst/vaapi/gstvaapivideomemory.h:
19585           plugins: add support for dma_buf exports (v4l2src).
19586           Allow v4l2src element to connected to vaapipostproc or vaapisink when
19587           "io-mode" is set to "dmabuf-import". In practice, this is a more likely
19588           operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
19589           to "dmabuf" could work, but with more demanding driver or kernel reqs.
19590           Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
19591           with --without-libv4l2.
19592           https://bugzilla.gnome.org/show_bug.cgi?id=743635
19593
19594 2014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
19595
19596         * configure.ac:
19597         * gst/vaapi/Makefile.am:
19598         * gst/vaapi/gstvaapipluginbase.c:
19599           plugins: add support for dma_buf imports.
19600           Allow imports of v4l2 buffers into VA surfaces for further operation
19601           with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
19602           https://bugzilla.gnome.org/show_bug.cgi?id=735362
19603           [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
19604           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19605
19606 2014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19607
19608         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19609         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19610           surface: add support for GEM buffer imports.
19611           Add support for GEM buffer imports. This is useful for VA/EGL interop
19612           with legacy Mesa implementations, or when it is desired or required to
19613           support outbound textures for instance.
19614           https://bugzilla.gnome.org/show_bug.cgi?id=736718
19615
19616 2014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19617
19618         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19619         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19620           surface: add support for dma_buf imports.
19621           Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
19622           to allow for creating VA surfaces from a foreign DRM PRIME fd. The
19623           resulting VA surface owns the supplied buffer handle.
19624           https://bugzilla.gnome.org/show_bug.cgi?id=735362
19625
19626 2015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19627
19628         * gst-libs/gst/vaapi/gstvaapisurface.c:
19629         * gst-libs/gst/vaapi/gstvaapisurface.h:
19630         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
19631           surface: add initial support for foreign buffer imports.
19632           Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
19633           create a VA surface from an external buffer provided throug the
19634           new GstVaapiBufferProxy object.
19635
19636 2014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19637
19638         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19639         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19640         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19641         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19642           surface: add support for GEM buffer exports.
19643           Add support for GEM buffer exports. This will only work with VA drivers
19644           based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
19645           to support interop with EGL and the "Desktop" GL specification. Indeed,
19646           the EXT_image_dma_buf_import extension is not going to be supported in
19647           Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
19648           there.
19649           This is useful for implementing VA/EGL interop with legacy Mesa stacks,
19650           in Desktop OpenGL context.
19651           https://bugzilla.gnome.org/show_bug.cgi?id=736717
19652
19653 2014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19654
19655         * gst-libs/gst/vaapi/Makefile.am:
19656         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19657         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19658         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
19659         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
19660           surface: add support for dma_buf exports.
19661           Use the new VA buffer export APIs to allow for a VA surface to be
19662           exposed as a plain PRIME fd. This is in view to simplifying interop
19663           with EGL or OpenCL for instance.
19664           https://bugzilla.gnome.org/show_bug.cgi?id=735364
19665
19666 2014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19667
19668         * gst-libs/gst/vaapi/Makefile.am:
19669         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
19670         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
19671         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
19672           Add abstraction for exported VA buffers.
19673           The VA buffer export APIs work for a particular lifetime starting from
19674           vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
19675           it could be much more convenient to support implicit releases by simply
19676           having a refcount reaching zero.
19677           https://bugzilla.gnome.org/show_bug.cgi?id=736721
19678
19679 2015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19680
19681         * gst-libs/gst/vaapi/Makefile.am:
19682           Add missing header file to Makefile
19683           Add gstvaapitexture_glx.h to Makefile.am
19684
19685 2015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19686
19687         * gst-libs/gst/vaapi/gstvaapicontext.c:
19688         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19689         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19690         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19691         * gst/vaapi/gstvaapipostproc.c:
19692         * gst/vaapi/gstvaapiuploader.c:
19693         * gst/vaapi/gstvaapivideobufferpool.c:
19694         * gst/vaapi/gstvaapivideomemory.c:
19695         * gst/vaapi/gstvaapivideomemory.h:
19696         * tests/test-surfaces.c:
19697           videopool: add optional flags for surface pool allocation.
19698           Reword surface pool allocation helpers so that to allow for a simple
19699           form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
19700           somewhat more elaborated/flexible form with optional allocation flags
19701           and precise GstVideoInfo specification.
19702           This is an API/ABI change, and SONAME version needs to be bumped.
19703
19704 2015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19705
19706         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19707         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
19708         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19709         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19710         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19711         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19712         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19713           videopool: re-indent all GstVaapiVideoPool related source code.
19714
19715 2014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19716
19717         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19718         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19719           window: add toplevel display indirection for visualid and colormap.
19720           Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
19721           the best suitable window visual id and colormap. This is an indirection in
19722           view to supporting EGL and custom/generic replacements.
19723
19724 2014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19725
19726         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19727         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19728         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19729         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19730           window: add toplevel API to determine the colormap.
19731           Add GstVaapiWindowClass::get_colormap() hook to help determine the
19732           currently active colormap bound to the supplied window, or actually
19733           create it if it does not already exist yet.
19734
19735 2014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19736
19737         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
19738         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
19739         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19740         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19741         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19742         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19743           window: add toplevel API to determine a visual id.
19744           Add GstVaapiWindowClass::get_visual_id() function hook to help find
19745           the best suitable visual id for the supplied window. While doing so,
19746           also simplify the process by which an X11 window is created with a
19747           desired Visual, i.e. now use a visual id instead of a Visual object.
19748
19749 2014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19750
19751         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19752         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19753         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19754         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19755         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19756         * gst-libs/gst/vaapi/gstvaapiwindow.c:
19757         * gst-libs/gst/vaapi/gstvaapiwindow.h:
19758         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19759         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19760         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19761         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19762         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19763           window: add generic helper to create windows.
19764           Add a new generic helper function gst_vaapi_window_new() to create
19765           a window without having the caller to check for the display type
19766           himself. i.e. internally, there is now a GstVaapiDisplayClass hook
19767           to create windows, and the actual backend implementation fills it in.
19768           Add new generic helper functions gst_vaapi_texture_new_wrapped()
19769           This is a simplification in view to supporting EGL.
19770
19771 2014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19772
19773         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19774         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19775         * gst-libs/gst/vaapi/gstvaapitexture.c:
19776         * gst/vaapi/gstvaapivideometa_texture.c:
19777           display: add utility function to check for OpenGL rendering.
19778           Add gst_vaapi_display_has_opengl() helper function to help determining
19779           whether the display can support OpenGL context to be bound to it, i.e.
19780           if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
19781
19782 2014-12-10 18:02:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19783
19784         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19785         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19786         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19787         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
19788         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19789         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
19790         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19791         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19792         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
19793         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19794         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
19795         * gst/vaapi/gstvaapipluginutil.c:
19796         * gst/vaapi/gstvaapivideobuffer.c:
19797         * gst/vaapi/gstvaapivideometa_texture.c:
19798           display: refine the meaning of display type.
19799           Make gst_vaapi_display_get_display_type() return the actual VA display
19800           type. Conversely, add a gst_vaapi_display_get_class_type() function to
19801           return the type of the GstVaapiDisplay instance. The former is used to
19802           identify the display server onto which the application is running, and
19803           the latter to identify the original object class.
19804
19805 2014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19806
19807         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19808         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19809         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19810         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19811         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19812         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19813           display: cosmetics (helper macros, new internal API names).
19814           Add more helper macros to the top-level GstVaapiDisplay interfaces.
19815           Rename a few others used internally for improved consistency.
19816
19817 2014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19818
19819         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19820         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19821         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19822         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
19823         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19824         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19825         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19826         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19827           display: record native display object.
19828           Record the underlying native display instance into the toplevel
19829           GstVaapiDisplay object. This is useful for fast lookups to the
19830           underlying native display, e.g. for creating an EGL display.
19831
19832 2014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19833
19834         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19835         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
19836         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19837           display: use a recursive mutex for the display cache.
19838           Use a recursive mutex for the display cache so that a 3rdparty display
19839           object could be initialized during the initialization of the parent
19840           display.
19841
19842 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19843
19844         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19845         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19846         * gst-libs/gst/vaapi/gstvaapitexture.c:
19847         * gst-libs/gst/vaapi/gstvaapitexture.h:
19848         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19849         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
19850           texture: add generic helper to create textures.
19851           Add new generic helper functions gst_vaapi_texture_new_wrapped()
19852           and gst_vaapi_texture_new() to create a texture without having
19853           the caller to uselessly check for the display type himself. i.e.
19854           internally, there is now a GstVaapiDisplayClass hook to create
19855           textures, and the actual backend implementation fills it in.
19856           This is a simplification in view to supporting EGL.
19857
19858 2014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19859
19860         * gst-libs/gst/vaapi/Makefile.am:
19861         * gst-libs/gst/vaapi/gstvaapitexture.c:
19862         * gst-libs/gst/vaapi/gstvaapitexture.h:
19863         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
19864         * gst-libs/gst/vaapi/gstvaapitexture_glx.h:
19865         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
19866         * gst/vaapi/gstvaapivideoconverter_glx.c:
19867         * gst/vaapi/gstvaapivideometa_texture.c:
19868         * tests/test-textures.c:
19869           texture: move to core libgstvaapi base library.
19870           GstVaapiTexture is a generic abstraction that could be moved to the
19871           core libgstvaapi library. While doing this, no extra dependency needs
19872           to be added. This means that a GstVaapitextureClass is now available
19873           for any specific code that needs to be added, e.g. creation of the
19874           underlying GL texture objects, or backend dependent ways to upload
19875           a surface to the texture object.
19876           Generic OpenGL data types (GLuint, GLenum) are also replaced with a
19877           plain guint.
19878           https://bugzilla.gnome.org/show_bug.cgi?id=736715
19879
19880 2014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19881
19882         * configure.ac:
19883         * gst-libs/gst/vaapi/Makefile.am:
19884         * gst-libs/gst/vaapi/gstvaapicompat.h:
19885         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19886         * gst-libs/gst/vaapi/gstvaapitexture.c:
19887           texture: drop support for VA/GLX interfaces.
19888           The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
19889           ease of use, but they had other caveats to deal with. It's now better
19890           to move on to legacy mode, whereby VA/GLX interop is two be provided
19891           through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
19892           https://bugzilla.gnome.org/show_bug.cgi?id=736711
19893
19894 2014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19895
19896         * gst-libs/gst/vaapi/gstvaapitexture.c:
19897         * gst-libs/gst/vaapi/gstvaapitexture.h:
19898         * gst/vaapi/gstvaapivideoconverter_glx.c:
19899         * gst/vaapi/gstvaapivideometa_texture.c:
19900         * tests/test-textures.c:
19901           texture: add support for cropping rectangle during transfer.
19902           The gst_vaapi_texture_put_surface() function is missing a crop_rect
19903           argument that would be used during transfer for cropping the source
19904           surface to the desired dimensions.
19905           Note: from a user point-of-view, he should create the GstVaapiTexture
19906           object with the cropped size. That's the default behaviour in software
19907           decoding pipelines that we need to cope with.
19908           This is an API/ABI change, and SONAME version needs to be bumped.
19909           https://bugzilla.gnome.org/show_bug.cgi?id=736712
19910
19911 2014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19912
19913         * gst-libs/gst/vaapi/gstvaapitexture.c:
19914         * gst-libs/gst/vaapi/gstvaapitexture.h:
19915           texture: re-indent all GstVaapiTexture related source code.
19916
19917 2015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19918
19919         * gst-libs/gst/vaapi/gstvaapisurface.c:
19920         * gst-libs/gst/vaapi/gstvaapisurface.h:
19921           surface: add more fine-grained allocation helper.
19922           Add new gst_vaapi_surface_new_full() helper function that allocates
19923           VA surface from a GstVideoInfo template in argument. Additional flags
19924           may include ways to
19925           - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
19926           - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
19927           - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
19928
19929 2014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19930
19931         * gst-libs/gst/vaapi/gstvaapisurface.c:
19932         * gst-libs/gst/vaapi/gstvaapisurface.h:
19933         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
19934           surface: re-indent all GstVaapiSurface related source code.
19935
19936 2015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19937
19938         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19939         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19940           surfaceproxy: add helper to create a wrapped surface object.
19941           Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
19942           a proxy. The main use case for that is to convey additional information
19943           at the proxy level that would not be suitable to the plain surface.
19944
19945 2015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19946
19947         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19948         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19949         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19950           surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
19951
19952 2015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19953
19954         * configure.ac:
19955           libs: bump library major version.
19956
19957 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19958
19959         * gst-libs/gst/vaapi/gstvaapitypes.h:
19960           libs: re-introduce a GST_VAAPI_ID_INVALID value.
19961           Re-introduce a GST_VAAPI_ID_INVALID value that represents
19962           a non-zero and invalid id. This is useful to have a value
19963           that is still invalid for cases where zero could actually
19964           be a valid value.
19965
19966 2014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19967
19968         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19969         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19970           libs: expose GstVaapiMiniObject APIs to all backends.
19971           Make it possible to have all libgstvaapi backends (libs) access to a
19972           common GstVaapiMiniObject API and implementation. This is a minor step
19973           towards full exposure when needed, but restrict it to libgstvaapi at
19974           this time.
19975
19976 2014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19977
19978         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19979         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19980         * gst-libs/gst/vaapi/gstvaapiobject.c:
19981         * gst-libs/gst/vaapi/gstvaapiobject.h:
19982         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19983           libs: re-indent all GstVaapiObject related source code.
19984           Re-indent and provide additional minor cosmetical changes to the
19985           GstVaapiMiniObject and GstVaapiObject source files.
19986
19987 2015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19988
19989         * gst/vaapi/gstvaapipluginutil.c:
19990           pluginutil: Fix clearing of subtitle overlay
19991           dvbsuboverlay signals no subtitles present by not setting
19992           GstVideoOverlayCompositionMeta on a buffer.
19993           Detect this, and remove subtitles whenever we have no overlay composition to
19994           hand.
19995           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19996
19997 2015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
19998
19999         * gst/vaapi/gstvaapipostproc.c:
20000           vaapipostproc: clear state on stop
20001           Otherwise restarting may fail because the state of vaapipluginbase and
20002           vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
20003           initailization and not call gst_vaapi_plugin_base_set_caps()
20004
20005 2015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
20006
20007         * gst/vaapi/gstvaapidecode.c:
20008           vaapidecode: don't print an error message for GST_FLOW_FLUSHING
20009
20010 2015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20011
20012         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20013           gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
20014           Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
20015           since the vaaapi context creation (gstvaapicontext.c) can still use the
20016           default chroma type which is YUV420.
20017           https://bugzilla.gnome.org/show_bug.cgi?id=743567
20018           https://bugzilla.gnome.org/show_bug.cgi?id=743035
20019
20020 2015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20021
20022         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
20023         * patches/videoparsers/series.frag:
20024           h264parse: drop patches merged upstream.
20025           0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
20026
20027 2015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20028
20029         * ext/codecparsers:
20030           codecparsers: update to gst-vaapi-branch commit d3b5c1b
20031           8194cac: h264parse: parse SPS subset
20032           64b7f52: h264parse: expose stereo-high profile
20033           774360a: h264parse: add initial support for MVC NAL units
20034           258478f: h264parser: fix stack smashing
20035
20036 2015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20037
20038         * gst/vaapi/gstvaapivideometa_texture.c:
20039           Fix compilation error if there is no GL/gl.h header file installed
20040
20041 2015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20042
20043         * gst/vaapi/gstvaapidecode.c:
20044           vaapidecode: commit updated srcpad caps to base plugin.
20045           Make sure that the GstVaapiPluginBase instance receives the new src
20046           pad caps whenever they get updated from within the GstVaapiDecoder
20047           decode routines.
20048           This also ensures that downstream elements receive correctly sized
20049           SW decoded buffers if needed.
20050           https://bugs.tizen.org/jira/browse/TC-114
20051
20052 2015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20053
20054         * gst/vaapi/gstvaapidecode.c:
20055           vaapidecode: always reset decoder on ::set_format().
20056           Split GstVideoDecoder::set_format() handler to first update the sink
20057           pad caps and reset the active VA decoder instance based on those, and
20058           then update the src pad caps whenever possible, e.g. when the caps
20059           specify a valid video resolution.
20060
20061 2015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20062
20063         * gst/vaapi/gstvaapivideomemory.c:
20064           vaapivideomemory: don't crash when trying to allocate 0x0 images.
20065           In some occasions, a buffer pool is created for pre-initialization
20066           purposes regardless of whether a valid image size is available or
20067           not. However, during actual decode stage, the vaapidecode element
20068           is expected to update the srcpad caps with the new dimensions, thus
20069           also triggering a reset of the underlying bufferpool.
20070
20071 2015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20072
20073         * ext/codecparsers:
20074           codecparsers: update to gst-vaapi-branch commit 191cb2f
20075           347605a: h264parse: expose compatible profiles to downstream
20076           d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
20077           24a3126: Revert "h264parse: expose compatible profiles to downstream"
20078           8661740: h264parse: expose compatible profiles to downstream
20079           8b7ef3f: codecparsers: fix some compiler warnings
20080
20081 2014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20082
20083         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20084           encoder: h264: Fix the period between I/P frames
20085           If the key-frame period is set as one, then ip_period shuld be zero
20086           https://bugzilla.gnome.org/show_bug.cgi?id=734992
20087
20088 2014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20089
20090         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20091           encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
20092           https://bugzilla.gnome.org/show_bug.cgi?id=734993
20093
20094 2014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20095
20096         * gst/vaapi/gstvaapisink.c:
20097           vaapisink: Protect the X11 API invokations with proper locking
20098           https://bugzilla.gnome.org/show_bug.cgi?id=739808
20099
20100 2014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20101
20102         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20103           encoder: h264: fix pixel-aspect-ratio in encoded stream.
20104           Really report sample aspect ratio (SAR) as present, and make it match
20105           what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
20106           really make sure VUI parameter aspect_ratio_info_present_flag is set
20107           to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
20108           This is a leftover from git commit a12662f.
20109           https://bugzilla.gnome.org/show_bug.cgi?id=740360
20110
20111 2014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20112
20113         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20114           decoder: mpeg4: fix uninitialized variables.
20115           Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
20116           GST_MPEG4_USER_DATA so that a parse error would result in skipping
20117           that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
20118           initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
20119
20120 2014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20121
20122         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20123           encoder: h264: fix profile limits.
20124           Fix ensure_profile_limits() to lower profile to the desired limits,
20125           only if the latter are actually known and the profile needed to be
20126           changed to fit.
20127
20128 2014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20129
20130         * gst/vaapi/gstvaapipostproc.c:
20131           vaapipostproc: fix out caps for GLMemory.
20132           If the best downstream capsfeature turns out to be GLMemory, then make
20133           sure to propagate RGBA video format in caps to that element. This fixes
20134           the following pipeline: ... ! vaapipostproc ! glimagesink.
20135
20136 2014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20137
20138         * gst/vaapi/gstvaapipostproc.c:
20139           vaapipostproc: fix check for compatible src pad capsfilters.
20140           When an explicit output video format is selected, from an src pad
20141           capsfilter, make sure that the downstream element actually supports
20142           that format. In particular, fix crash with the following pipelines:
20143           ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
20144           XXX is a format not supported by xvimagesink.
20145           While doing so, also reduce the set of src pad filter caps to the
20146           actual set of allowed src pad caps.
20147
20148 2014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20149
20150         * gst/vaapi/gstvaapipostproc.c:
20151         * gst/vaapi/gstvaapipostproc.h:
20152         * gst/vaapi/gstvaapiuploader.c:
20153         * gst/vaapi/gstvaapiuploader.h:
20154           plugins: re-indent all video processing related source code.
20155
20156 2014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20157
20158         * gst/vaapi/gstvaapivideomemory.c:
20159           plugins: further fixes to the new "current" storage tracker.
20160           The ensure_surface() and ensure_image() functions shall only relate
20161           to the underlying backing store. The actual current flags are to be
20162           updated only through ensure_{surface,image}_is_current() or very other
20163           particular cases in GstMemory hooks.
20164
20165 2014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20166
20167         * gst/vaapi/gstvaapivideomemory.c:
20168           plugins: fix "current" video memory flags.
20169           If the surface proxy is updated into the GstVaapiVideoMemory, then
20170           it is assumed it is the most current representation of the current
20171           video frame. Likewise, make a few more arrangements to have the
20172           "current " flags set more consistently.
20173
20174 2014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20175
20176         * gst/vaapi/gstvaapivideomemory.c:
20177         * gst/vaapi/gstvaapivideomemory.h:
20178         * gst/vaapi/gstvaapivideometa.c:
20179           plugins: ensure VA surface is current prior to using it.
20180           When interacting with SW elements, the buffers and underlying video
20181           memory could be mapped as read/write. However, we need to use those
20182           buffers again as plain VA surfaces, we have to make sure the VA image
20183           is thus committed back to VA surface memory.
20184           This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
20185
20186 2013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
20187
20188         * gst/vaapi/gstvaapivideomemory.c:
20189           plugins: enable memory maps for read & write.
20190           Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
20191           buffers can be further processed in-place, e.g. with a textoverlay.
20192           https://bugzilla.gnome.org/show_bug.cgi?id=704078
20193           [ported to current git master branch, amended commit message]
20194           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20195
20196 2014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20197
20198         * gst/vaapi/gstvaapidecode.c:
20199         * gst/vaapi/gstvaapipluginutil.c:
20200         * gst/vaapi/gstvaapipluginutil.h:
20201         * gst/vaapi/gstvaapipostproc.c:
20202           plugins: preserve framerate when updating src caps video format.
20203           In the current implementation, gst_video_info_set_format() would reset
20204           the whole GstVideoInfo structure first, prior to setting video format
20205           and size. So, coleteral information like framerate or pixel-aspect-
20206           ratio are lost.
20207           Provide and use a unique gst_video_info_change_format() for overcome
20208           this issue, i.e. only have it change the format and video size, and
20209           copy over the rest of the fields.
20210           https://bugzilla.gnome.org/show_bug.cgi?id=734665
20211
20212 2014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20213
20214         * gst/vaapi/gstvaapi.c:
20215           vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
20216           This is for helping decodebin to autoplug the vaapidecode element.
20217           Decodebin is selecting decoder elements only based on rank and caps.
20218           Without overriding the autoplug-* signals there is no way to autoplug
20219           HW decoders inside decodebin. An easier soulution is to raise the
20220           rank of vaapidecode, so that it gets selected first.
20221           https://bugzilla.gnome.org/show_bug.cgi?id=739332
20222
20223 2014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20224
20225         * gst-libs/gst/vaapi/gstvaapiprofile.c:
20226         * gst/vaapi/gstvaapidecode.c:
20227           vaapidecode: only expose supported profiles when needed.
20228           JPEG and VP8 codecs do not really support the concept of "profile". So,
20229           don't try to expose any set that wouldn't be supported by jpegparse, or
20230           ivfparse for instance.
20231           https://bugzilla.gnome.org/show_bug.cgi?id=739713
20232           https://bugzilla.gnome.org/show_bug.cgi?id=739714
20233
20234 2014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20235
20236         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20237         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20238         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20239         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
20240           decoder: h264: add initial support for repeat-first-field (RFF) flag.
20241           Use the SEI pic_timing() message to track and propagate down the repeat
20242           first field (RFF) flag. This is only initial support as there is one
20243           other condition that could induce the RFF flag, which is not handled
20244           yet.
20245
20246 2014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20247
20248         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20249           decoder: h264: fix picture ordering count type 0 with previous MMCO5.
20250           Fix the decoding process for picture order count type 0 when the previous
20251           picture had a memory_management_control_operation = 5. In particular, fix
20252           the actual variable type for prev_pic_structure to hold the full bits of
20253           the picture structure.
20254           In practice, this used to work though, due to the underlying type used to
20255           express a gboolean.
20256
20257 2014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20258
20259         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20260           decoder: h264: fix detection of top-field-first (TFF) flag.
20261           Use the SEI pic_timing() message to track the pic_struct variable when
20262           present, or infer it from the regular slice header flags field_pic_flag
20263           and bottom_field_flag. This fixes temporal sequence ordering when the
20264           output pictures are to be displayed.
20265           https://bugzilla.gnome.org/show_bug.cgi?id=739291
20266
20267 2014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20268
20269         * ext/codecparsers:
20270           codecparsers: update to gst-vaapi-branch commit 3d05d9f.
20271           1241840 h264: fix derivation of MaxPicNum variable
20272           3bd718e h264: fix GstH264ParserResult documentation typo
20273           b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
20274           b08e4be h264parse: don't unnecesarily set src_caps
20275
20276 2014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20277
20278         * gst/vaapi/gstvaapipostproc.c:
20279           vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
20280           Added the same Klass specifications used in other upstream
20281           video postprocessing elements like videoconvert, videoscale,
20282           videobalance and deinterlace.
20283           An example use case is for this is to help the playsink
20284           to autoplug the hardware accelerated deinterlacer.
20285
20286 2014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20287
20288         * gst/vaapi/gstvaapipostproc.c:
20289           vaapipostproc: Tweak the output video format setting to enable the autoplugging
20290           This is a workaround until auto-plugging is fixed when
20291           format=ENCODED + memory:VASurface caps feature are provided.
20292           Use the downstream negotiated video format as the output video format
20293           if the user didn't ask for the colorspace conversion explicitly.
20294           Usecase: This will help to connect elements like videoscale, videorate etc
20295           to vaapipostproc.
20296           https://bugzilla.gnome.org/show_bug.cgi?id=739443
20297
20298 2014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20299
20300         * gst/vaapi/gstvaapipostproc.c:
20301         * gst/vaapi/gstvaapipostproc.h:
20302           vaapipostproc: allow user defined scaling mode.
20303           Add new "scale-method" property to expose the scaling mode to use during
20304           video processing. Note that this is only a hint, and the actual behaviour
20305           may differ from implementation (VA driver) to implementation.
20306
20307 2014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20308
20309         * gst-libs/gst/vaapi/gstvaapifilter.c:
20310         * gst-libs/gst/vaapi/gstvaapifilter.h:
20311         * gst-libs/gst/vaapi/gstvaapiutils.c:
20312         * gst-libs/gst/vaapi/gstvaapiutils.h:
20313           filter: add initial support for high quality scaling.
20314           Add support for video scaling options in VPP pipelines. Only the
20315           DEFAULT mode is bound to exist. Others might be folded into that
20316           mode.
20317
20318 2014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20319
20320         * gst-libs/gst/vaapi/gstvaapifilter.c:
20321         * gst-libs/gst/vaapi/gstvaapifilter.h:
20322           filter: re-indent all GstVaapiFilter related source code.
20323
20324 2014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20325
20326         * ext/codecparsers:
20327           codecparsers: update to gst-vaapi-branch commit f9d3bde.
20328           2218b02 h264parse: expose parsed profile and level to downstream
20329           3dbfab4 h264parse: return flushing if we get chained while being set to READY
20330           d40fa8b h264: fix frame packing SEI parsing
20331           32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
20332           b3e022e h264: initialize some fields of pic_timing structure
20333           a70661d vc1: fix expected level in sequence-layer parsing unit test
20334           6cee88d vc1: fix level values for simple/main profile
20335           356c189 vc1: add unit test for sequence-layer parsing
20336           ab9f641 vc1: take care of endianness when parsing sequence-layer
20337           8dc8e35 mpeg4: fix vlc table used for sprite trajectory
20338
20339 2014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20340
20341         * gst/vaapi/gstvaapidecode.c:
20342           vaapidecode: Expose the supported profiles as caps to upstream
20343           This will allows the playbin to fallback to Software Decoder
20344           if the Hardware Decoder does not support a particular profile.
20345           https://bugzilla.gnome.org/show_bug.cgi?id=730997
20346
20347 2014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20348
20349         * gst/vaapi/gstvaapiencode.c:
20350         * gst/vaapi/gstvaapiencode.h:
20351         * gst/vaapi/gstvaapiencode_h264.c:
20352           encode: Attach the codec-data to out caps only based on negotiated caps
20353           Attach the codec_data to out_caps only if downstream needed.
20354           For eg: h264 encoder doesn't need to stuff codec_data to the
20355           src caps if the negotiated caps has a stream format of byte-stream.
20356           https://bugzilla.gnome.org/show_bug.cgi?id=734902
20357
20358 2014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20359
20360         * configure.ac:
20361           configure: echoing installation prefix path
20362
20363 2014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20364
20365         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
20366           display: add support for DRM Render-Nodes.
20367           Add support for DRM Render-Nodes. This is a new feature that appeared
20368           in kernel 3.12 for experimentation purposes, but was later declared
20369           stable enough in kernel 3.15 for getting enabled by default.
20370           This allows headless usages without authentication at all, i.e. usages
20371           through plain ssh connections is possible.
20372
20373 2014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20374
20375         * gst/vaapi/gstvaapisink.c:
20376           vaapisink: clean-ups (indentation, drop unused variables).
20377
20378 2014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20379
20380         * configure.ac:
20381         * gst/vaapi/gstvaapisink.c:
20382           vaapisink: fix GstNavigation "key-press" / "key-release" events.
20383           Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
20384           to a KeySym. In particular, there is no such Window argument. Also
20385           make sure to check for, and use, the correct <X11/XKBlib.h> header
20386           where that new function is defined. Otherwise, default to the older
20387           XKeycodeToKeysym() function.
20388
20389 2014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20390
20391         * gst/vaapi/gstvaapisink.c:
20392           vaapisink: fix GstNavigation "mouse-move" event.
20393           Really use the motion event coordinates to propagate the "mouse-move"
20394           event to upper layer, instead of those from a button event. Those are
20395           technically the same though.
20396
20397 2014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20398
20399         * gst/vaapi/gstvaapisink.c:
20400           vaapisink: implement the GstNavigation interface
20401           This is useful for things like DVD menus, where key/mouse events
20402           would need to be forwarded from the upstream sink element.
20403           https://bugzilla.gnome.org/show_bug.cgi?id=711479
20404
20405 2014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20406
20407         * gst/vaapi/gstvaapipluginbase.c:
20408           vaapipostproc: fix deinterlacing from non VA memory buffers.
20409           When we copy a buffer because we're moving it into VA-API memory, we
20410           need to copy flags. Otherwise, interlaced YUV buffers from a capture
20411           source (e.g. V4L2) don't get flagged as interlaced.
20412           https://bugzilla.gnome.org/show_bug.cgi?id=726270
20413           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20414           [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
20415           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20416
20417 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20418
20419         * gst/vaapi/gstvaapipostproc.c:
20420           vaapipostproc: add support for GLTextureUploadMeta output.
20421           This allows for vaapipostproc to be chained to the glimagesink element
20422           for instance.
20423           https://bugzilla.gnome.org/show_bug.cgi?id=735231
20424
20425 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20426
20427         * gst/vaapi/gstvaapipluginutil.c:
20428         * gst/vaapi/gstvaapipluginutil.h:
20429         * gst/vaapi/gstvaapipostproc.c:
20430           vaapipostproc: add support for "download" capability.
20431           Allow implicit conversions to raw video formats, while still keeping
20432           VA surfaces underneath. This allows for chaining the vaapipostproc
20433           element to a software-only element that takes care of maps/unmaps.
20434           e.g. xvimagesink.
20435           https://bugzilla.gnome.org/show_bug.cgi?id=720174
20436
20437 2014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20438
20439         * gst/vaapi/gstvaapipostproc.c:
20440         * gst/vaapi/gstvaapipostproc.h:
20441           vaapipostproc: use pooled vaapi video meta.
20442           Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
20443           video buffer allocation. Also optimize copy of additional metadata info
20444           into the resulting video buffer: only copy the video cropping info and
20445           the source surface proxy.
20446           https://bugzilla.gnome.org/show_bug.cgi?id=720311
20447           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20448           [fixed proxy leak, fixed double free on error, optimized meta copy]
20449           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20450
20451 2014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20452
20453         * gst/vaapi/gstvaapipostproc.c:
20454           vaapipostproc: fix passthrough mode.
20455           If no explicit output surface format is supplied try to keep the one
20456           supplied through the sink pad caps. This avoids a useless copy, even
20457           if things are kept in GPU memory.
20458           This is a performance regression from git commit dfa70b9.
20459
20460 2014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20461
20462         * gst/vaapi/gstvaapipostproc.c:
20463         * gst/vaapi/gstvaapipostproc.h:
20464           vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
20465           https://bugzilla.gnome.org/show_bug.cgi?id=720311
20466           [used new infrastructure through base decide_allocation() impl]
20467           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20468
20469 2014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20470
20471         * gst/vaapi/gstvaapipostproc.c:
20472           vaapipostproc: enable advanced deinterlacing with same format.
20473           If only advanced deinterlacing is requested, i.e. deinterlacing is
20474           the only active algorithm to apply with source and output surface
20475           formats being the same, then make sure to enable VPP processing.
20476           Otherwise, allow fallback to bob-deinterlacing with simple rendering
20477           flags alteration.
20478
20479 2014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20480
20481         * gst/vaapi/gstvaapivideomemory.c:
20482           vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
20483           https://bugzilla.gnome.org/show_bug.cgi?id=735156
20484
20485 2014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20486
20487         * gst/vaapi/gstvaapipluginbase.c:
20488         * gst/vaapi/gstvaapipluginutil.c:
20489           plugins: fix memory leaks.
20490
20491 2014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20492
20493         * gst/vaapi/gstvaapidecode.c:
20494         * gst/vaapi/gstvaapipluginbase.c:
20495         * gst/vaapi/gstvaapipluginbase.h:
20496           plugins: factor out decide_allocation() hook.
20497           Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
20498           feature argument can be used to force a bufferpool with a specific kind
20499           of memory.
20500
20501 2014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20502
20503         * gst/vaapi/gstvaapivideobufferpool.c:
20504         * gst/vaapi/gstvaapivideobufferpool.h:
20505         * gst/vaapi/gstvaapivideomemory.c:
20506           plugins: allow bufferpool to not allocate vaapi video meta.
20507           Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
20508           can be used to disable early allocations of vaapi video metas on buffers,
20509           thus delagating that to the bufferpool user.
20510
20511 2014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20512
20513         * gst/vaapi/gstvaapivideobuffer.c:
20514         * gst/vaapi/gstvaapivideobuffer.h:
20515         * gst/vaapi/gstvaapivideobufferpool.c:
20516         * gst/vaapi/gstvaapivideobufferpool.h:
20517         * gst/vaapi/gstvaapivideocontext.c:
20518         * gst/vaapi/gstvaapivideocontext.h:
20519         * gst/vaapi/gstvaapivideoconverter_glx.c:
20520         * gst/vaapi/gstvaapivideoconverter_glx.h:
20521         * gst/vaapi/gstvaapivideoconverter_x11.c:
20522         * gst/vaapi/gstvaapivideoconverter_x11.h:
20523         * gst/vaapi/gstvaapivideomemory.c:
20524         * gst/vaapi/gstvaapivideomemory.h:
20525         * gst/vaapi/gstvaapivideometa.c:
20526         * gst/vaapi/gstvaapivideometa.h:
20527         * gst/vaapi/gstvaapivideometa_texture.c:
20528         * gst/vaapi/gstvaapivideometa_texture.h:
20529           plugins: re-indent all GstVaapiVideo* related source code.
20530
20531 2014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20532
20533         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20534           surfaceproxy: fix copy to propagate view_id.
20535           Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
20536           fixing random frames skipped when vaapipostproc element is used in
20537           passthrough mode. In that mode, GstMemory is copied, thus including
20538           the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
20539
20540 2014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20541
20542         * gst/vaapi/gstvaapipostproc.c:
20543           vaapipostproc: fix detection of output surface format changes.
20544           Default to I420 format for output surfaces so that to match the usual
20545           GStreamer pipelines. Though, internally, we could still opt for NV12
20546           surface formats, i.e. default format=ENCODED is a hint for that, thus
20547           delegating the decision to the VA driver.
20548
20549 2014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20550
20551         * gst/vaapi/gstvaapipostproc.c:
20552           vaapipostproc: fix construction of allowed sink pad caps.
20553           Fix construction of the set of caps allowed on the sink pad to filter
20554           out unsupported raw video caps with GStreamer >= 1.2.
20555
20556 2014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20557
20558         * gst/vaapi/gstvaapipostproc.c:
20559         * gst/vaapi/gstvaapipostproc.h:
20560           vaapipostproc: improve heuristics for detecting native VA surfaces.
20561           Use the new gst_caps_has_vaapi_surface() helper function to detect
20562           whether the sink pad caps contain native VA surfaces, or not, i.e.
20563           no raw video caps.
20564           Also rename is_raw_yuv to get_va_surfaces to make the variable more
20565           explicit as we just want a way to differentiate raw video caps from
20566           VA surfaces actually.
20567
20568 2014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20569
20570         * gst/vaapi/gstvaapipostproc.c:
20571           vaapipostproc: disable discontinuity detection code.
20572           The "discontinuity" tracking code, whereby lost frames are tentatively
20573           detected, is inoperant if the sink pad buffer timestamps are not right
20574           to begin with.
20575           This is a temporary workaround until the following bug is fixed:
20576           https://bugzilla.gnome.org/show_bug.cgi?id=734386
20577
20578 2014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20579
20580         * gst/vaapi/gstvaapipostproc.c:
20581           vaapipostproc: fix heuristic for detecting discontinuity.
20582           In order to make the discontinuity detection code useful, we need to
20583           detect the lost frames in the history as early as the previous frame.
20584           This is because some VA implementations only support one reference
20585           frame for advanced deinterlacing.
20586           In practice, turn the condition for detecting new frame that is beyond
20587           the previous frame from field_duration*2 to field_duration*3, i.e.
20588           nothing received for the past frame and a half because of possible
20589           rounding errors when calculating the field-duration either in this
20590           element (vaapipostproc), or from the upstream element (parser element).
20591           This is a regression introduced with commit faefd62.
20592           https://bugzilla.gnome.org/show_bug.cgi?id=734135
20593
20594 2014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20595
20596         * gst/vaapi/gstvaapipluginbase.c:
20597         * gst/vaapi/gstvaapipluginbase.h:
20598           plugins: fix detection of raw video caps.
20599           Use the new gst_caps_has_vaapi_surface() helper function to better
20600           detect raw video caps, and in particular those from RGB colorspace.
20601           https://bugzilla.gnome.org/show_bug.cgi?id=734665
20602
20603 2014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20604
20605         * gst/vaapi/gstvaapipluginutil.c:
20606         * gst/vaapi/gstvaapipluginutil.h:
20607           plugins: add helper for detecting VA surfaces in caps.
20608           Introduce new gst_caps_has_vaapi_surface() helper function to detect
20609           whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
20610           implies a check for memory:VASurface caps features, and format=ENCODED
20611           for earlier versions of GStreamer.
20612
20613 2014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
20614
20615         * gst/vaapi/gstvaapidecode.c:
20616           vaapidecode: start the decoder task again after finishing
20617           This allows the element to accept data again after draining without
20618           a hard reset or caps change happening in between.
20619           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20620
20621 2014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
20622
20623         * gst/vaapi/gstvaapidecode.c:
20624           vaapidecode: unlock condition variables before shutting down the element
20625           Otherwise threads might wait for them, causing the shutdown of the element
20626           to deadlock on the streaming thread.
20627           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20628
20629 2014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
20630
20631         * gst/vaapi/gstvaapidecode.c:
20632           vaapidecode: reset decoder_finish variable after stopping the decoder thread
20633           Otherwise the element is not usable again after draining/EOS.
20634           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20635
20636 2014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
20637
20638         * gst/vaapi/gstvaapidecode.c:
20639           vaapidecode: don't try flushing the decoder instance if we didn't create one yet
20640           This otherwise results in unnecessary error messages.
20641           https://bugzilla.gnome.org/show_bug.cgi?id=734616
20642
20643 2014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20644
20645         * gst-libs/gst/vaapi/Makefile.am:
20646         * gst/vaapi/Makefile.am:
20647           build: fix with --no-undefined linker flags.
20648           https://bugzilla.gnome.org/show_bug.cgi?id=729352
20649
20650 2014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
20651
20652         * gst/vaapi/gstvaapisink.c:
20653         * gst/vaapi/gstvaapisink.h:
20654           vaapisink: add support for GstColorBalance interface.
20655           https://bugzilla.gnome.org/show_bug.cgi?id=722390
20656           [fixed channel names, simplified range factor, fixed memory leak]
20657           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20658
20659 2014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
20660
20661         * gst/vaapi/gstvaapisink.c:
20662         * gst/vaapi/gstvaapisink.h:
20663           vaapisink: add support for colorbalance adjustment.
20664           https://bugzilla.gnome.org/show_bug.cgi?id=722390
20665           [fixed and simplified tracking of colorbalance value changes]
20666           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20667
20668 2014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20669
20670         * gst/vaapi/gstvaapisink.c:
20671           vaapisink: improve installation of properties.
20672           Simplify the creation and installation process of properties, by first
20673           accumulating them into a g_properties[] array, and next calling into
20674           g_object_class_install_properties().
20675           Also add missing docs and flags to some properties.
20676
20677 2014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20678
20679         * gst/vaapi/gstvaapisink.c:
20680         * gst/vaapi/gstvaapisink.h:
20681           vaapisink: code clean-ups.
20682           Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
20683           helper macro and use it wherever we know the object is a GstBaseSink or
20684           any base class. Drop explicit initializers for values that have defaults
20685           set to zero.
20686
20687 2014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20688
20689         * gst/vaapi/gstvaapisink.c:
20690         * gst/vaapi/gstvaapisink.h:
20691           vaapisink: re-indent all GstVaapiSink related source code.
20692
20693 2014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20694
20695         * gst/vaapi/gstvaapisink.c:
20696         * gst/vaapi/gstvaapisink.h:
20697           vaapisink: introduce separate backends.
20698           Introduce new backends vtable so that to have clean separation between
20699           display dependent code and common base code. That's a "soft" separation,
20700           we don't really need dedicated objects.
20701           https://bugzilla.gnome.org/show_bug.cgi?id=722248
20702
20703 2014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20704
20705         * gst/vaapi/gstvaapisink.c:
20706         * gst/vaapi/gstvaapisink.h:
20707           vaapisink: drop unused "synchronous" mode.
20708           Support for X11 "synchronous" mode was never implemented, and was only
20709           to be useful for debugging. Drop that altogether, that's not going to
20710           be useful in practice.
20711           https://bugzilla.gnome.org/show_bug.cgi?id=733985
20712
20713 2014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20714
20715         * gst/vaapi/gstvaapisink.c:
20716         * gst/vaapi/gstvaapisink.h:
20717           vaapisink: drop unused variables.
20718           Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
20719           variables. They got merged into the GstVaapiPluginBase object.
20720
20721 2014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20722
20723         * gst/vaapi/gstvaapisink.c:
20724         * gst/vaapi/gstvaapisink.h:
20725           vaapisink: drop GLX rendering and fancy effects.
20726           Rendering with GLX in vaapisink is kind of useless nowadays, including
20727           OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
20728           deprecated in favor of EGL, or more direct buffer sharing with actual
20729           GL textures.
20730           Should testing of interop with GLX be needed, one could still be using
20731           the modern cluttersink or glimagesink elements.
20732           https://bugzilla.gnome.org/show_bug.cgi?id=733984
20733
20734 2013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
20735
20736         * gst/vaapi/gstvaapisink.c:
20737         * gst/vaapi/gstvaapisink.h:
20738           vaapisink: listen to window size changes on X11.
20739           Allow dynamic changes to the window, e.g. performed by the user, and
20740           make sure to refresh its contents, while preserving aspect ratio.
20741           In practice, Expose and ConfigureNotify events are tracked in X11
20742           display mode by default. This occurs in a separte event thread, and
20743           this is similar to what xvimagesink does. Any of those events will
20744           trigger a reconfiguration of the window "soft" size, subsequently
20745           the render-rect when necessary, and finally _expose() the result.
20746           The default of handle_events=true can be changed programatically via
20747           gst_x_overlay_handle_events().
20748           Thanks to Fabrice Bellet for rebasing the patch.
20749           https://bugzilla.gnome.org/show_bug.cgi?id=711478
20750           [dropped XInitThreads(), cleaned up the code a little]
20751           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20752
20753 2014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20754
20755         * gst/vaapi/gstvaapidecode.c:
20756           vaapidecode: decode and output all pending frames on normal EOS.
20757           The gst_vaapidecode_decode_loop() function is called within a separate
20758           task to fetch and output all frames that were decoded so far. So, if
20759           the decoder_loop_status is forcibly set to EOS when _finish() is called,
20760           then we are bound to exist the task without submitting the pending
20761           frames.
20762           If the downstream element error'ed out, then the gst_pad_push() would
20763           propagate up an error and so we will get it right for cutting off
20764           _finish() early in that case.
20765           This is a regression from 6003596.
20766           https://bugzilla.gnome.org/show_bug.cgi?id=733897
20767
20768 2014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20769
20770         * configure.ac:
20771           Bump version for development.
20772
20773 2014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20774
20775         * AUTHORS:
20776           AUTHORS: updates.
20777
20778 2014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20779
20780         * NEWS:
20781           NEWS: updates.
20782
20783 2014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
20784
20785         * gst/vaapi/gstvaapidecode.c:
20786           vaapidecode: properly return from decode loop on downstream errors.
20787           Fixes a hang/race on shutdown where _decode_loop() had already completed
20788           its execution and _finish() was waiting on a GCond for decode_loop()
20789           to complete.  Also fixes the possible race where _finish() is called
20790           but _decode_loop() endlessly returns before signalling completion
20791           iff the decoder instance returns GST_FLOW_OK.
20792           Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
20793           https://bugzilla.gnome.org/show_bug.cgi?id=733897
20794           [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
20795           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20796
20797 2014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20798
20799         * NEWS:
20800         * configure.ac:
20801           0.5.9.
20802
20803 2014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20804
20805         * gst/vaapi/gstvaapisink.c:
20806           vaapisink: fix GstVideoOverlay::expose() implementation.
20807           Now that we always track the currently active video buffer, it is
20808           not necessary to automatically increase its reference since this is
20809           implicitly performed in ::show_frame() through the get_input_buffer()
20810           helper from GstVaapiPluginBase class.
20811           This is a regression from a26df80.
20812
20813 2014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20814
20815         * gst/vaapi/gstvaapidecode.c:
20816         * gst/vaapi/gstvaapipluginutil.c:
20817           vaapidecode: simplify bufferpool configuration.
20818           Rework the logics behind the configuration of an adequate bufferpool,
20819           especially when OpenGL meta or additional capsfeatures are needed.
20820           Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
20821           and that is not system memory, is now selected by default.
20822
20823 2014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20824
20825         * gst/vaapi/gstvaapidecode.c:
20826           vaapidecode: fix auto-plugging of vaapisink element.
20827           Make sure to propagate memory:VASurface capsfeature to srcpad caps
20828           only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
20829           core currently miss additional patches available in 1.5-git (1.6).
20830           This is a temporary workaround.
20831
20832 2014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20833
20834         * configure.ac:
20835           configure: allow builds against GStreamer git (1.5.x).
20836           https://bugzilla.gnome.org/show_bug.cgi?id=733688
20837
20838 2014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20839
20840         * configure.ac:
20841           configure: fix build with GStreamer 1.4.0 release.
20842
20843 2014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20844
20845         * configure.ac:
20846         * debian.upstream/Makefile.am:
20847         * debian.upstream/control.in:
20848           debian: fix packaging for new naming scheme.
20849
20850 2014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20851
20852         * NEWS:
20853           NEWS: updates.
20854
20855 2014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20856
20857         * configure.ac:
20858           configure: mark support for GStreamer < 1.2 as deprecated.
20859           Supporting anything thing below GStreamer 1.2 is asking for trouble
20860           for keeping up with the required facilities to make efficient pipelines.
20861           Users are invited to upgrade to the very latest GStreamer 1.2.x release,
20862           at the minimum.
20863
20864 2014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20865
20866         * configure.ac:
20867           configure: mark support for GStreamer 0.10 as obsolete.
20868           Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
20869           and may actually be removed altogether for a future release. There is
20870           no real point to maintain a build for such an ancient GStreamer version
20871           that is not even supported upstream.
20872
20873 2014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20874
20875         * gst/vaapi/gstvaapisink.c:
20876         * gst/vaapi/gstvaapisink.h:
20877           vaapisink: allow a specific view component to be displayed.
20878           If a multiview stream is decoded, multiple view components are submitted
20879           as is downstream. It is the responsibility of the sink element to display
20880           the required view components. By default, always select the frame buffer
20881           that matches the view-id of the very first frame to be displayed.
20882           However, introduce a "view-id" property to allow the selection of a
20883           specific view component of interest to display.
20884
20885 2014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20886
20887         * gst/vaapi/gstvaapisink.c:
20888           vaapisink: always keep the last displayed buffer around.
20889           Always record the VA surface that is currently being rendered, no matter
20890           the fact we are using texturedblit or overlay. That's because in some
20891           occasions, we need to refresh or resize the displayed contents based on
20892           new events. e.g. user-resized window.
20893           Besides, it's simpler to track the last video buffer in GstVaapiSink than
20894           through the base sink "last-sample".
20895
20896 2014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20897
20898         * gst/vaapi/gstvaapipluginbase.c:
20899         * gst/vaapi/gstvaapipluginbase.h:
20900         * gst/vaapi/gstvaapipluginutil.c:
20901         * gst/vaapi/gstvaapisink.c:
20902           vaapisink: add support for "display-name" property.
20903           Add a "display-name" property to vaapisink so that the end user could
20904           select the desired output. Keep "display-name" in-line with the existing
20905           "display" (GstVaapiDisplayXXX type).
20906           So, for X11 or GLX, the "display-name" is the usual display name as we
20907           know for XOpenDisplay(); for Wayland, the "display-name" is the name used
20908           for wl_display_connect(); and for DRM, the "display-name" is actually the
20909           DRI device name.
20910           https://bugzilla.gnome.org/show_bug.cgi?id=722247
20911
20912 2014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20913
20914         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20915           window: make gst_vaapi_window_reconfigure() thread-safe.
20916           Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
20917           thread-safe by default, so that upper layer users don't need to handle
20918           that explicitly.
20919
20920 2013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
20921
20922         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20923         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20924           window: allow for updating size from current geometry.
20925           Add gst_vaapi_window_reconfigure() interface to force an update of
20926           the GstVaapiWindow "soft" size, based on the current geometry of the
20927           underlying native window.
20928           This can be useful for instance to synchronize the window size when
20929           the user changed it.
20930           Thanks to Fabrice Bellet for rebasing the patch.
20931           [changed interface to gst_vaapi_window_reconfigure()]
20932           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20933
20934 2014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20935
20936         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20937         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20938         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
20939         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
20940         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20941         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
20942         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
20943         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20944         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
20945         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20946         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
20947         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
20948           window: re-indent all GstVaapiWindow related source code.
20949
20950 2014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20951
20952         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20953         * gst-libs/gst/vaapi/gstvaapidisplay.h:
20954         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20955           display: add interface to retrieve the display name.
20956           Add gst_vaapi_display_get_display_name() helper function to determine
20957           the name associated with the underlying native display. Note that for
20958           raw DRM backends, the display name is actually the device path.
20959
20960 2014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20961
20962         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20963           display: fix comparison of X11 display names.
20964           Make sure to not only compare display host names, but also the actual
20965           display number. The screen number does not need to be checked at this
20966           time.
20967
20968 2014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20969
20970         * gst/vaapi/gstvaapidecode.c:
20971         * gst/vaapi/gstvaapivideobufferpool.c:
20972           vaapidecode: add support for VideoAlignment bufferpool option.
20973           Always add VideoAlignment bufferpool option if the downstream element
20974           expects its own pool to be used but does not offer it through a proper
20975           propose_allocation() implementation for instance, and that the ALLOCATION
20976           query does not expose the availability of the Video Meta API.
20977           This fixes propagation of video buffer stride information to Firefox.
20978
20979 2014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20980
20981         * gst/vaapi/gstvaapivideomemory.c:
20982           vaapivideomemory: always prefer native VA surface formats.
20983           Make sure to always prefer native internal formats for the VA surfaces
20984           that get allocated. Also disable "direct-rendering" mode in this case.
20985           This is needed so that to make sure that anything that gets out of the
20986           decoder, or anything that gets into the encoder, is in native format
20987           for the hardware, and thus the driver doesn't need to perform implicit
20988           conversions in there. Interop with SW elements is still available with
20989           fast implementations of VA imaging APIs.
20990
20991 2014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20992
20993         * gst/vaapi/gstvaapivideomemory.c:
20994           vaapivideomemory: disallow memory shares across buffers, use a copy.
20995           Forbid shares of GstMemory instances, and rather make copy of it. This
20996           effectively copies the GstMemory structure and enclosed metadata, but
20997           this does not copy the VA surface contents itself. It should though.
20998           This fixes preroll and makes sure to not download garbage for the first
20999           frame when a SW rendering sink is used.
21000
21001 2014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21002
21003         * gst/vaapi/gstvaapivideomemory.c:
21004         * gst/vaapi/gstvaapivideomemory.h:
21005           vaapivideomemory: use an image pool to cache objects.
21006           Use an image pool to hold VA images to be used for downloads/uploads
21007           of contents for the associated surface.
21008           This is an optmization for size. So, instead of creating as many VA
21009           images as there are buffers (then VA surfaces) allocated, we only
21010           maintain a minimal set of live VA images, thus preserving memory
21011           resources.
21012
21013 2014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21014
21015         * gst/vaapi/gstvaapivideomemory.c:
21016           vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
21017           Disable read-write mappings if "direct-rendering" is not supported.
21018           Since the ordering of read and write operations is not specified,
21019           this would require to always download the VA surface on _map(), then
21020           commit the temporary VA image back to the VA surface on _unmap().
21021           Some SW decoding plug-in elements still use R/W mappings though.
21022           https://bugzilla.gnome.org/show_bug.cgi?id=733242
21023
21024 2014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21025
21026         * gst/vaapi/gstvaapivideomemory.c:
21027           vaapivideomemory: minor code clean-ups.
21028           Fix error messages introduced in the previous commit for the _map()
21029           imaplementation. Also use the new get_image_data() helper function
21030           to determine the base pixels data buffer from a GstVaapiImage when
21031           updating the video info structure from it.
21032
21033 2014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21034
21035         * gst/vaapi/gstvaapivideomemory.c:
21036         * gst/vaapi/gstvaapivideomemory.h:
21037           vaapivideomemory: add support for raw pixels mappings.
21038           Allow raw pixels of the whole frame to be mapped read-only. i.e. in
21039           cases where the buffer pool is allocated without VideoMeta API, thus
21040           individual planes cannot be mapped.
21041           This is initial support for Firefox >= 30.
21042           https://bugzilla.gnome.org/show_bug.cgi?id=731886
21043
21044 2014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21045
21046         * gst/vaapi/gstvaapivideomemory.c:
21047           vaapivideomemory: fix determination of the surface pool format.
21048           While creating the vaapi video allocator, make sure the associated
21049           surface pool has correct format instead of defaulting to NV12 video
21050           format even though there is no direct rendering support.
21051           https://bugzilla.gnome.org/show_bug.cgi?id=732691
21052
21053 2014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21054
21055         * gst/vaapi/gstvaapivideomemory.c:
21056           vaapivideomemory: fix association of surface to proxy.
21057           Make sure to always update the VA surface pointer whenever the proxy
21058           changes. This used to only work when the VA surface is written to, in
21059           interop with SW element ("upload" feature), and this now fixes cases
21060           when the VA surface is needed for reading, in interop with SW element
21061           ("download" feature).
21062
21063 2014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21064
21065         * gst/vaapi/gstvaapidecode.c:
21066         * gst/vaapi/gstvaapipluginutil.c:
21067         * gst/vaapi/gstvaapivideomemory.c:
21068           plugins: expose I420 format for interop with SW elements.
21069           Always expose I420 format by default when the VA surface could be
21070           mapped for interoperability with non harware accelerated elements.
21071           However, the default behaviour remains the auto-plugging of vaapi
21072           elements, down to the sink.
21073           Side effect: "direct-rendering" mode is also disabled most of the
21074           times as plain memcpy() from uncached speculative write combining
21075           memory is not going to be efficient enough.
21076
21077 2014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21078
21079         * gst/vaapi/gstvaapidecode.c:
21080         * gst/vaapi/gstvaapivideomemory.c:
21081           plugins: allow download capability to vaapidecode element.
21082           Fix support for VA surface download capability in vaapidecode element
21083           for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
21084           but also the libva-intel-driver while performing hardware accelerated
21085           conversions from the native VA surface format (NV12) to the desired
21086           output VA image format.
21087           For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
21088           https://bugzilla.gnome.org/show_bug.cgi?id=733243
21089
21090 2014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
21091
21092         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21093           decoder: mpeg4: fix picture decoder return value for skipped frames.
21094           The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
21095           when a frame should be skipped, so the stream processing is not stalled.
21096           https://bugzilla.gnome.org/show_bug.cgi?id=733324
21097
21098 2014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
21099
21100         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21101           decoder: mpeg2: respect any input PTS provided for a frame.
21102           The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
21103           frame timestamps within a GOP, even when it's been fed input PTS for
21104           every frame.
21105           That leads to incorrect output timestamps in some situations - for example
21106           live playback where input timestamps have been scaled based on arrival time
21107           from the network and don't exactly match the framerate.
21108           https://bugzilla.gnome.org/show_bug.cgi?id=732719
21109
21110 2014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21111
21112         * gst-libs/gst/vaapi/gstvaapiobject.c:
21113           GstVaapiObject: make gst_vaapi_object_new() more robust.
21114           Forbid GstVaapiObject to be created without an associated klass spec.
21115           It is mandatory that the subclass implements an adequate .finalize()
21116           hook, so it shall provide a valid GstVaapiObjectClass.
21117           https://bugzilla.gnome.org/show_bug.cgi?id=722757
21118           [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
21119           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21120
21121 2014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21122
21123         * gst-libs/gst/vaapi/gstvaapiobject.c:
21124           GstVaapiObject: initialize the derived object data with init() hook.
21125           Call the subclass .init() function in gst_vaapi_object_new(), if
21126           needed. The default behaviour is to zero initialize the subclass
21127           object data, then the .init() function can be used to initialize
21128           fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
21129           Also fix the gst_vaapi_object_new() description, which was merely
21130           copied from GstVaapiMiniObject.
21131           https://bugzilla.gnome.org/show_bug.cgi?id=722757
21132           [changed to always zero initialize the subclass]
21133           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21134
21135 2014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
21136
21137         * gst/vaapi/gstvaapidecode.c:
21138           vaapidecode: make decoder work with playbin
21139           When playbin/decodebin builds the pipeline, it puts decoders and sinks
21140           into different bins and forwards the queries from bins to bins. So in
21141           the initials steps the pipeline is built iteratively by playbin and
21142           looks like this :
21143           [filesrc]
21144           [filesrc] -> [typefind]
21145           [filesrc] -> [typefind] -> [demuxer]
21146           [filesrc] -> [typefind] -> [demuxer] -> [decoder]
21147           At this point the decoder is asked for its SRC caps and it will make a
21148           choice based on what gst_pad_peer_query_caps() returns. The problem is
21149           that the caps returns at that point includes caps features like ANY,
21150           essentially because playbin can plug in additional elements like
21151           videoscale, videoconv or deinterlace.
21152           This patch adds a another call to
21153           gst_vaapi_find_preferred_caps_feature() when the decoder decides its
21154           allocation, to make sure we asks the downstream elements when the
21155           entire pipeline has been built.
21156           https://bugzilla.gnome.org/show_bug.cgi?id=731645
21157
21158 2014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21159
21160         * gst/vaapi/gstvaapipostproc.c:
21161           vaapipostproc: don't let tmp_rect go out of scope.
21162           A compiler change showed me that tmp_rect went out of scope before
21163           it was used. Move it to the beginning of the function instead.
21164           https://bugzilla.gnome.org/show_bug.cgi?id=726363
21165           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21166           [added guards for GStreamer 0.10 builds]
21167           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21168
21169 2014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21170
21171         * AUTHORS:
21172           AUTHORS: updates.
21173
21174 2014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21175
21176         * README:
21177           README: updates.
21178           Drop references to deprecated plugins (vaapiupload, vaapidownload),
21179           mention that support for GStreamer 0.10 is deprecated, make overview
21180           more descriptive in certain aspects.
21181
21182 2014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21183
21184         * NEWS:
21185           NEWS: updates.
21186
21187 2014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21188
21189         * README:
21190         * configure.ac:
21191           build: mention that support for GStreamer 0.10 is deprecated.
21192
21193 2014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21194
21195         * configure.ac:
21196         * gst/vaapi/gstvaapidecode.c:
21197           build: fix for GStreamer 0.10.
21198
21199 2014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21200
21201         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
21202         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
21203         * patches/videoparsers/series.frag:
21204           build: fix for GStreamer 1.0.x.
21205
21206 2014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21207
21208         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21209           decoder: h264: detect incorrectly paired fields in frames.
21210           When a DPB flush is required, e.g. at a natural and of stream or issued
21211           explicitly through an IDR, try to detect any frame left in the DPB that
21212           is interlaced but does not contain two decoded fields. In that case, mark
21213           the picture as having a single field only.
21214           This avoids a hang while decoding tv_cut.mkv.
21215
21216 2014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21217
21218         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21219           decoder: h264: simplify the DPB output process.
21220           Simplify the dpb_output() function to exclusively rely on the frame store
21221           buffer to output, since this is now always provided. Besides, also fix
21222           cases where split fields would not be displayed.
21223           This is a regression from f48b1e0.
21224
21225 2014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21226
21227         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
21228         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
21229         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
21230         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
21231         * patches/videoparsers/series.frag:
21232           h264parse: drop patches merged upstream.
21233           0003-h264parse-fix-and-optimize-NAL-collection-function.patch
21234           0005-h264parse-introduce-new-state-tracking-variables.patch
21235           0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
21236           0007-h264parse-fix-collection-of-access-units-to-preserve.patch
21237
21238 2014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21239
21240         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21241           decoder: h264: fix memory leak in PPS.
21242           Cope with latest changes from codecparsers/h264. It is now required
21243           to explicitly clear the GstH264PPS structure as it could contain
21244           additional allocations (slice_group_ids).
21245
21246 2014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21247
21248         * ext/codecparsers:
21249           codecparsers: update to gst-vaapi-branch commit 2d53b69.
21250           c4ace00 h264parse: fix collection of access units to preserve config headers
21251           0f9f7c9 h264parse: improve conditions for skipping NAL units
21252           9ffb25c h264parse: introduce new state tracking variables
21253           64955d3 h264parse: fix and optimize NAL collection function
21254           13cd2a3 h264: clarifications and documentation fixes
21255           53e7dd1 h264: fix identification of EOSEQ and EOS NALs
21256           18f0de0 h264: fix memory leak in GstH264PPS
21257           fdcb54c h264: fix typo in GstH264VUIParams description
21258           fd4dae9 vp8: move up built-in range decoder private data
21259
21260 2014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21261
21262         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21263         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21264         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21265         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
21266           decoder: propagate MVC metadata ("view-id", head of multiview set).
21267           Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
21268           bundle", and really expresses the first view component of a multi
21269           view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
21270           set if VOIdx = 0.
21271           Likewise, new API is exposed to retrieve the associated "view-id".
21272
21273 2014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21274
21275         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21276         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21277           decoder: propagate "one-field" flags.
21278           Allow decoders to set the "one-field" attribute when the decoded frame
21279           genuinely has a single field, or if the second field was mis-decoded but
21280           we still want to display the first field.
21281
21282 2014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21283
21284         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21285           decoder: output decoded frames only once.
21286           Make sure to output the decoded picture, and push the associated
21287           GstVideoCodecFrame, only once. The frame fully represents what needs
21288           to be output, included for interlaced streams. Otherwise, the base
21289           GstVideoDecoder class would release the frame twice.
21290           Anyway, the general process is to output decoded frames only when
21291           they are complete. By complete, we mean a full frame was decoded or
21292           both fields of a frame were decoded.
21293
21294 2014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21295
21296         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21297           decoder: h264: decode current picture earlier.
21298           Slightly optimize decoding process by submitting the current VA surface
21299           for decoding earlier to the hardware, and perform the reference picture
21300           marking process and DPB update process afterwards.
21301           This is a minor optimization to let the video decode engine kick in work
21302           earlier, thus improving parallel resources utilization.
21303
21304 2014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21305
21306         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21307           decoder: h264: fix output of second field when first field is not in DPB.
21308           Fix decoding of interlaced streams where a first field (e.g. B-slice)
21309           was immediately output and the current decoded field is to be paired
21310           with that former frame, which is no longer in DPB.
21311           https://bugzilla.gnome.org/show_bug.cgi?id=701340
21312
21313 2014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21314
21315         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21316           decoder: h264: slightly optimize the process to detect new pictures.
21317           Optimize the process to detect new pictures or start of new access
21318           units by checking if the previous NAL unit was the end of a picture,
21319           or the end of the previous access unit.
21320
21321 2014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21322
21323         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21324           decoder: h264: handle access unit ("au") optimization.
21325           Optimize parsing when buffers are supplied with access unit alignment.
21326           This helps determining faster when the end of an access unit is reached.
21327
21328 2014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21329
21330         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21331           decoder: h264: fix tracking of DPB size changes.
21332           Add support for MVC streams with multiple SPS and subset SPS headers
21333           emitted regularly, e.g. at around every I-frame. Track the maximum
21334           number of views in ensure_context() and really reset the DPB size to
21335           the expected value, always. i.e. even if it decreased. dpb_reset()
21336           only cares of ensuring the DPB allocation.
21337
21338 2014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21339
21340         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21341           decoder: h264: fix the DPB compaction process.
21342           Fix the compaction process when the DPB is cleared for a specific
21343           view, i.e. fix the process of filling in the holes resulting from
21344           removing frame buffers matching the current picture.
21345
21346 2014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21347
21348         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21349           encoder: h264: generate new SPS only when codec config changed.
21350           It is not necessary to periodically send SPS or subset SPS headers.
21351           This is up to the upper layer (e.g. transport layer) to decide on
21352           if/how to periodically submit those. For now, only generate new SPS
21353           or subset SPS headers when the codec config changed.
21354           Note: the upper layer could readily determine the config headers
21355           (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
21356           https://bugzilla.gnome.org/show_bug.cgi?id=732083
21357           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21358
21359 2014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21360
21361         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21362           encoder: h264: track encoder config changes.
21363           Track and report when encoder configuration changed. For now, this covers
21364           resolution, profile/level and bitrate changes.
21365
21366 2014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21367
21368         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21369           encoder: h264: add pixel-aspect-ratio to VUI parameters.
21370           Report sample aspect ratio (SAR) as present, and make it match what
21371           we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
21372           VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
21373
21374 2014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21375
21376         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21377           encoder: h264: fix number of anchor and non-anchor reference pictures.
21378           Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
21379           and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
21380           supported.
21381
21382 2014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21383
21384         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21385           encoder: h264: fix timing_info_present_flag value in subset SPS.
21386           When the seq_parameter_set_data() syntax structure is present in a subset
21387           sequence parameter set and vui_parameters_present_flag is equal to 1, then
21388           timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
21389
21390 2014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21391
21392         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21393           encoder: h264: add cpbBrNalFactor values for MVC profiles.
21394
21395 2014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21396
21397         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
21398           h264parse: fix detection of access unit boundaries for MVC.
21399           The gst_h264_parse_collect_nal() function is a misnomer. In reality,
21400           this function is used to determine access unit boundaries, i.e. that
21401           is the key function for alignment=au output format generation.
21402
21403 2014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21404
21405         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
21406         * patches/videoparsers/series.frag:
21407           h264parse: fix collection of access units to preserve config headers.
21408           Always use a GstAdapter when collecting access units (alignment="au")
21409           in either byte-stream or avcC format. This is required to properly
21410           preserve config headers like SPS and PPS when invalid or broken NAL
21411           units are subsequently parsed.
21412           More precisely, this fixes scenario like:
21413           <SPS> <PPS> <invalid-NAL> <slice>
21414           where we used to reset the output frame buffer when an invalid or
21415           broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
21416           preventing the next slice unit to be decoded, should this also
21417           represent any valid data.
21418           https://bugzilla.gnome.org/show_bug.cgi?id=732203
21419
21420 2014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21421
21422         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
21423         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
21424         * patches/videoparsers/series.frag:
21425           h264parse: improve conditions for skipping NAL units.
21426           Carefully track cases when skipping broken or invalid NAL units is
21427           necessary. In particular, always allow NAL units to be processed
21428           and let that gst_h264_parse_process_nal() function decide on whether
21429           the current NAL needs to be dropped or not.
21430           This fixes parsing of streams with SEI NAL buffering_period() message
21431           inserted between SPS and PPS, or SPS-Ext NAL following a traditional
21432           SPS NAL unit, among other cases too.
21433           Practical examples from the H.264 AVC conformance suite include
21434           alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
21435           when parsing in stream-format=byte-stream,alignment=au mode.
21436           https://bugzilla.gnome.org/show_bug.cgi?id=732203
21437
21438 2014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21439
21440         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
21441         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
21442         * patches/videoparsers/series.frag:
21443           h264parse: introduce new state tracking variables.
21444           Improve parser state tracking by introducing new flags reflecting
21445           it: "got-sps", "got-pps" and "got-slice". This is an addition for
21446           robustness purposes.
21447           Older have_sps and have_pps variables are kept because they have
21448           a different meaning. i.e. they are used for deciding on when to
21449           submit updated caps or not, and rather mean "have new SPS/PPS to
21450           be submitted?"
21451
21452 2014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21453
21454         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
21455         * patches/videoparsers/series.frag:
21456           h264parse: default to byte-stream/nalu format (Annex B).
21457           Always default to stream-format=byte-stream,alignment=nalu if avcC
21458           format was not detected. This is the natural stream format specified
21459           in the standard (Annex.B): a series of NAL units prefixed with the
21460           usual start code.
21461           https://bugzilla.gnome.org/show_bug.cgi?id=732167
21462
21463 2014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21464
21465         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
21466         * patches/videoparsers/series.frag:
21467           h264parse: fix and optimize NAL collection function.
21468           Use gst_h264_parser_identify_nalu_unchecked() to identify the next
21469           NAL unit. We don't want to parse the full NAL unit, but only the
21470           header bytes and possibly the first RBSP byte for identifying the
21471           first_mb_in_slice syntax element.
21472           Also fix check for failure when returning from that function. The
21473           only success condition for that is GST_H264_PARSER_OK, so use it.
21474           https://bugzilla.gnome.org/show_bug.cgi?id=732154
21475
21476 2014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21477
21478         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21479           encoder: h264: fix NAL unit types in packed headers.
21480           Submit Prefix NAL headers (nal_unit_type = 14) before every packed
21481           slice header (nal_unit_type = 1 or 5) only for the base view. In non
21482           base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
21483           is required, with an appropriate nal_unit_header_mvc_extension() in
21484           the NAL header bytes.
21485           https://bugzilla.gnome.org/show_bug.cgi?id=732083
21486
21487 2014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21488
21489         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21490           encoder: h264: add missing field in packed Subset SPS header.
21491           Write the missing num_level_values_signalled_minus1 syntax element
21492           into the packed header for subset sequence parameter set.
21493           https://bugzilla.gnome.org/show_bug.cgi?id=732083
21494
21495 2014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21496
21497         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21498           decoder: h264: fix marking of non-reference picture into DPB.
21499           Fix search for a picture in the DPB that has a lower POC value than
21500           the current picture. The dpb_find_lowest_poc() function will return
21501           a picture with the lowest POC in DPB and that is marked as "needed
21502           for output", but an additional check against the actual POC value
21503           of the current picture is needed.
21504           This is a regression from 1c46990.
21505           https://bugzilla.gnome.org/show_bug.cgi?id=732130
21506
21507 2014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21508
21509         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21510           decoder: h264: fix DPB clear when no decoding actually started.
21511           Fix dpb_clear() to clear previous frame buffers only if they actually
21512           exist to begin with. If the decoder bailed out early, e.g. when it
21513           does not support a specific profile, that array of previous frames
21514           might not be allocated beforehand.
21515
21516 2014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21517
21518         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21519         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
21520         * gst/vaapi/gstvaapidecode.c:
21521           decoder: h264: add support for NALU "alignment" optimization.
21522           We can avoid scanning for start codes again if the bitstream is fed
21523           in NALU chunks. Currently, we always scan for start codes, and keep
21524           track of remaining bits in a GstAdapter, even if, in practice, we
21525           are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
21526           "nal" alignment.
21527           https://bugzilla.gnome.org/show_bug.cgi?id=723284
21528           [use gst_adapter_available_fast() to determine the top buffer size]
21529           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21530
21531 2014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21532
21533         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21534           decoder: h264: fix caps to report interlace-mode accordingly.
21535           The `vaapipostproc' element could never determine if the H.264 stream
21536           was interlaced, and thus always assumed it to be progressive. Fix the
21537           H.264 decoder to report interlace-mode accordingly, thus allowing the
21538           vaapipostproc element to automatically enable deinterlacing.
21539
21540 2014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21541
21542         * gst/vaapi/gstvaapipostproc.c:
21543           vaapipostproc: don't crash with dynamic framerate (0/1).
21544           Avoid reaching an assert if dynamic framerates (0/1) are used. One
21545           way to solve this problem is to just stick field_duration to zero.
21546           However, this means that, in presence of interlaced streams, the
21547           very first field will never be displayed if precise presentation
21548           timestamps are honoured.
21549           https://bugzilla.gnome.org/show_bug.cgi?id=729604
21550
21551 2014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21552
21553         * gst/vaapi/gstvaapipostproc.c:
21554           vaapipostproc: create filter surface pool if it does not exist yet.
21555           ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
21556           recreating filter_pool. Unfortunately, this also meant it didn't create
21557           it if it did not exist.
21558           Fix it to always create the buffer pool if it does not exist.
21559           https://bugzilla.gnome.org/show_bug.cgi?id=723834
21560           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21561
21562 2013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
21563
21564         * gst/vaapi/gstvaapipostproc.c:
21565           vaapipostproc: reset deinterlacer state when there is a discontinuity.
21566           Reset deinterlacer state, i.e. past reference frames used for advanced
21567           deinterlacing, when there is some discontinuity detected in the course
21568           of processing source buffers.
21569           This fixes support for advanced deinterlacing when a seek occurred.
21570           https://bugzilla.gnome.org/show_bug.cgi?id=720375
21571           [fixed type of pts_diff variable, fetch previous buffer PTS from the
21572           history buffer, reduce heuristic for detecting discontinuity]
21573           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21574
21575 2014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21576
21577         * gst/vaapi/gstvaapipostproc.c:
21578           vaapipostproc: add support for crop regions in VPP mode.
21579           Apply video cropping regions stored in GstVideoCropMeta, or in older
21580           GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
21581           the crop meta are already propagated to the output buffers.
21582           https://bugzilla.gnome.org/show_bug.cgi?id=720730
21583
21584 2014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21585
21586         * gst/vaapi/gstvaapipostproc.c:
21587           vaapipostproc: make deinterlace-mode behave as expected.
21588           deinterlace-mode didn't behave in the way you'd expect if you have
21589           past experience of the deinterlace element. There were two bugs:
21590           1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
21591           2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
21592           Fix these up, and add assertions and error messages to detect cases that
21593           aren't handled.
21594           https://bugzilla.gnome.org/show_bug.cgi?id=726361
21595           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
21596           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21597
21598 2014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21599
21600         * gst/vaapi/gstvaapidecode.c:
21601           vaapidecode: do not discard video info props when the format changed.
21602           gst_video_info_set_format() does not preserve video info properties. In
21603           order to keep important information in the caps such as interlace mode,
21604           framerate, pixel aspect ratio, ... we need to manually copy back those
21605           properties after setting the new video format.
21606           https://bugzilla.gnome.org/show_bug.cgi?id=722276
21607
21608 2014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
21609
21610         * gst/vaapi/gstvaapidecode.c:
21611           vaapidecode: plug a memory leak.
21612           It can happen that there is a pool provided that does not advertise
21613           the vappivideometa. We should unref that pool before using our own.
21614           Discovered with vaapidecode ! {glimagesink,cluttersink}
21615           https://bugzilla.gnome.org/show_bug.cgi?id=724957
21616           [fixed compilation by adding the missing semi-colon]
21617           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21618
21619 2014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21620
21621         * gst/vaapi/gstvaapidecode.c:
21622           vaapidecode: parse source data until a frame is obtained.
21623           Parse any pending data until a complete frame is obtained. This is a
21624           memory optimization to avoid expansion of video packets stuffed into
21625           the GstAdapter, and a fix to EOS condition to detect there is actually
21626           pending data that needs to be decoded, and subsequently output.
21627           https://bugzilla.gnome.org/show_bug.cgi?id=731831
21628
21629 2014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21630
21631         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21632           encoder: h264: fix multiple slices support in packed headers mode.
21633           Handle packedi slice headers and packed raw data on a per-slice basis,
21634           which is necessary for multi slice encoding.
21635
21636 2014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21637
21638         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
21639         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
21640           encoder: add infrastructure for per-slice handling of packed headers.
21641           The packed slice header and packed raw data need to be paired with
21642           the submission of VAEncSliceHeaderParameterBuffer. So handle them
21643           on a per-slice basis insted of a per-picture basis.
21644           [removed useless initializer]
21645           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21646
21647 2014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21648
21649         * gst/vaapi/gstvaapisink.c:
21650           vaapisink: fix initialization with "drm" display type.
21651           Force early initializatin of the GstVaapiDisplay so that to make sure
21652           that the sink element display object is presented first to upstream
21653           elements, as it will be correctly featuring the requested display type
21654           by the user.
21655           Otherwise, we might end up in situations where a VA/X11 display is
21656           initialized in vaapidecode, then we try VA/DRM display in vaapisink
21657           (as requested by the "display" property), but this would cause a failure
21658           because we cannot acquire a DRM display that was previously acquired
21659           through another backend (e.g. VA/X11).
21660
21661 2014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21662
21663         * gst/vaapi/gstvaapipluginbase.c:
21664           plugins: fix initialization with foreign context.
21665           When a new display is settled through GstElement::set_context() (>= 1.2),
21666           or GstVideoContext::set_context() (<= 1.0), then we shall also update the
21667           associated display type.
21668
21669 2014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21670
21671         * Makefile.am:
21672         * configure.ac:
21673         * ext/Makefile.am:
21674         * gst/vaapi/Makefile.am:
21675         * gst/vaapi/gstvaapiparse.c:
21676         * gst/vaapi/gstvaapiparse.h:
21677         * patches/Makefile.am:
21678         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
21679         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
21680         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
21681         * patches/videoparsers/Makefile.am:
21682         * patches/videoparsers/series.frag:
21683           plugins: add built-in video parsers as "vaapiparse" element.
21684           The built-in video parsers elements are built into a single DSO named
21685           libgstvaapi_parse.so. The various video parsers could be accessed as
21686           vaapiparse_CODEC.
21687           For now, this only includes a modified version of h264parse so that to
21688           support H.264 MVC encoded streams.
21689
21690 2014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21691
21692         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21693           decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
21694           New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
21695           from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
21696
21697 2014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21698
21699         * ext/codecparsers:
21700           codecparsers: update to gst-vaapi-branch commit d6325ac.
21701           7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
21702           d2f965a h264parse: set field_pic_flag when parsing a slice header
21703           24c15b8 Import h264parse
21704           a9283e5 bytereader: Use concistant derefence method
21705           a8252c6 bytereader: Use pointer instead of index access
21706           b1bebfc Import GstBitReader and GstByteReader
21707           2f58788 h264: recognize SVC NAL units
21708           4335da5 h264: fix SPS copy code for MVC
21709           cf9b6dc h264: fix quantization matrix conversion routine names
21710           b11ce2a h264: add gst_h264_video_calculate_framerate()
21711           126dc6f add C++ guards for MPEG-4 and VP8 parsers
21712
21713 2014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21714
21715         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21716           decoder: h264: factor out DPB pruning for MVC.
21717           Factor out the removal process of unused inter-view only reference
21718           pictures from the DPB, prior to the possible insertion of the current
21719           picture.
21720           Ideally, the compiler could still opt for generating two loops. But
21721           at least, the code is now clearer for maintenance.
21722
21723 2014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21724
21725         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21726           decoder: h264: clean-ups.
21727           Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
21728           the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
21729
21730 2014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21731
21732         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21733           decoder: h264: improve pruning of unused MVC inter-view frames.
21734           Improve process for the removal of pictures from DPB before possible
21735           insertion of the current picture (C.4.4) for H.264 MVC inter-view only
21736           reference components. In particular, handle cases where picture to be
21737           inserted is not the last one of the access unit and if it was already
21738           output and is no longer marked as used for reference, including for
21739           decoding next view components within the same access unit.
21740
21741 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21742
21743         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21744           decoder: h264: improve DPB bumping process for MVC.
21745           While invoking the DPB bumping process in presence of many views,
21746           it could be necessary to output previous pictures that are ready,
21747           in a whole. i.e. emitting all view components from the very first
21748           view order index zero to the very last one in its original access
21749           unit; and not starting from the view order index of the picture
21750           that caused the DPB bumping process to be invoked.
21751           As a reminder, the maximum number of frames in DPB for MultiView
21752           High profile with more than 2 views is not necessarily a multiple
21753           of the number of views.
21754           This fixes decoding of MVCNV-4.264.
21755
21756 2014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21757
21758         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21759           decoder: h264: fix inter-view references array growth.
21760           Let the utility layer handle dynamic growth of the inter-view pictures
21761           array. By definition, setting a new size to the array will effectively
21762           grow the array, but would also fill in the newly created elements with
21763           empty entries (NULL), thus also increasing the reported length, which
21764           is not correct.
21765
21766 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21767
21768         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21769           decoder: h264: reduce ReferenceFrames entries to the essential set.
21770           When decoding Multiview High profile streams with a large number of
21771           views, it is not possible to make the VAPictureParameterBufferH264.
21772           ReferenceFrames[] array hold the complete DPB, with all possibly
21773           active pictures to be used for inter-view prediction in the current
21774           access unit.
21775           So reduce the scope of the ReferenceFrames[] array to only include
21776           the set of reference pictures that are going to be used for decoding
21777           the current picture. Basically, this is a union of all RefPicListX[]
21778           array, for all slices constituting the decoded picture.
21779
21780 2014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21781
21782         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21783           decoder: h264: fix MVC inter-view prediction process.
21784           The inter-view reference components and inter-view only reference
21785           components that are included in the reference picture lists shall
21786           be considered as not being marked as "used for short-term reference"
21787           or "used for long-term reference". This means that reference flags
21788           should all be removed from VAPictureH264.flags.
21789           This fixes decoding of MVCNV-2.264.
21790
21791 2014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21792
21793         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21794           decoder: h264: fix detection of profile changes for MVC.
21795           If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
21796           be careful to detect profiles changes and not reset the underlying
21797           VA context erroneously. In MVC situations, we could indeed get a
21798           profile_idc change for every SPS that gets activated, alternatively
21799           (base-view -> non-base view -> base-view, etc.).
21800           An improved fix would be to characterize the exact profile to use
21801           once and for all when SPS NAL units are parsed. This would also
21802           allow for fallbacks to a base-view decoding only mode.
21803
21804 2014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21805
21806         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21807           encoder: h264: drop extraneous definitions.
21808           Re-use definitions from the codecparser headers instead of duplicating
21809           them here again. That covers NALU definitions and slice types.
21810
21811 2014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21812
21813         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21814           encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
21815           https://bugzilla.gnome.org/show_bug.cgi?id=727418
21816
21817 2014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21818
21819         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21820           encoder: h264: don't allow CABAC with Extended profile.
21821           The H.264 specification does not support CABAC entropy coding for the
21822           Extended profile.
21823           https://bugzilla.gnome.org/show_bug.cgi?id=727418
21824
21825 2014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21826
21827         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21828           encoder: h264: use packed headers mode for MVC encoding.
21829           Exclusively use VA drivers that support raw packed headers for encoding.
21830           i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
21831           provides for better compatibility accross the various VA drivers and HW
21832           generations since no particular API is needed beyond what readily exists.
21833
21834 2014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21835
21836         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21837           encoder: h264: add support for packed slice headers.
21838           https://bugzilla.gnome.org/show_bug.cgi?id=722905
21839
21840 2014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21841
21842         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21843           encoder: h264: store subset sps to generate the codec-data
21844           Store the SubsetSPS nal unit which we need for MVC specific
21845           codec_data generation.
21846
21847 2014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21848
21849         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21850           encoder: h264: fix MVC pipeline hang while encoding with B-frames.
21851           Since we are encoding each view independently from each other, we
21852           need a higher number of pre-allocated surfaces to be used as the
21853           reconstructed frames. For Stereo High profile encoding, this means
21854           to effectively double the number of frames to be stored in the DPB.
21855
21856 2014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21857
21858         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21859         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21860         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21861         * gst/vaapi/gstvaapiencode_h264.c:
21862           encoder: h264: add initial support for H.264 Stereo High profile.
21863           Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
21864           for non-base-view streams encoding, and the usual SPS, PPS and Slice
21865           NALs for base-view encoding.
21866           The H.264 Stereo High profile encoding mode will be turned on when the
21867           "num-views" parameter is set to 2. The source (raw) YUV frames will be
21868           considered as Left/Right view, alternatively.
21869           Each of the two views has its own frames reordering pool and reference
21870           frames list management system. Inter-view references are not supported
21871           yet, so the views are encoded independently from each other.
21872           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21873           [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
21874           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21875
21876 2014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21877
21878         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21879           encoder: h264: wrap pools for refs and frames reordering.
21880           Create structures to maintain the reference frames list (RefPool) and
21881           frames reordering (ReorderPool) logic.
21882           This is a prerequisite for H.264 MVC support.
21883           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21884
21885 2014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21886
21887         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21888           encoder: h264: add provisional support for subset SPS headers.
21889           Add provisions to write subset SPS headers to the bitstream in view
21890           to supporting the H.264 MVC specification.
21891           This assumes the libva "staging" branch is in use.
21892           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21893
21894 2013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
21895
21896         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21897         * gst-libs/gst/vaapi/gstvaapiutils.c:
21898           utils: add H.264 MVC profiles.
21899           Add "MultiView High" and "Stereo High" definitions.
21900           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
21901           [require VA-API >= 0.35.2 for MVC profiles]
21902           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21903
21904 2014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21905
21906         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21907         * gst-libs/gst/vaapi/gstvaapiutils.c:
21908           utils: only enable VP8 profiles for newer VA-API versions.
21909           VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
21910           involving VP8 codec on earlier versions of the API.
21911
21912 2014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21913
21914         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21915           decoder: h264: compute view ids only once per slice.
21916           Optimize lookups of view ids / view order indices by caching the result
21917           of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
21918           terribly simplifies is_new_access_unit() and find_first_field() functions.
21919
21920 2014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21921
21922         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21923           decoder: h264: add support for MVC interlaced streams.
21924           Fix support for MVC Stereo High profile streams with interlaced frames.
21925           Also improve the detection logic of the first field.
21926
21927 2014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21928
21929         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21930           decoder: h264: add MVC profiles compatibility logic.
21931           Add safe fallbacks for MVC profiles:
21932           - all MultiView High profile streams with 2 views at most can be decoded
21933           with a Stereo High profile compliant decoder ;
21934           - all Stereo High profile streams with only progressive views can be
21935           decoded with a MultiView High profile compliant decoder ;
21936           - all drivers that support slice-level decoding could normally support
21937           MVC profiles when the DPB holds at most 16 frames.
21938
21939 2014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21940
21941         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21942         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21943         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21944           decoder: h264: add initial support for MVC.
21945           https://bugzilla.gnome.org/show_bug.cgi?id=721772
21946
21947 2014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21948
21949         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21950           decoder: h264: dynamically allocate the DPB.
21951           Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
21952           for supporting the MVC allocation requirements.
21953
21954 2014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21955
21956         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21957           decoder: h264: fix detection of access unit boundaries.
21958           In order to have a stricter conforming implementation, we need to carefully
21959           detect access unit boundaries. Additional operations could be necessary to
21960           perform at those boundaries.
21961
21962 2013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21963
21964         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21965           decoder: h264: detect the first VCL NAL unit of a picture for MVC.
21966           Detect the first VCL NAL unit of a picture for MVC, based on the
21967           view_id as per H.7.4.1.2.4. Note that we only need to detect new
21968           view components.
21969           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21970
21971 2013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21972
21973         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21974           decoder: h264: properly handle Prefix NAL units.
21975           Always cache the previous NAL unit so that we could check whether
21976           there is a Prefix NAL unit immediately preceding the current slice
21977           or IDR NAL unit. In that case, the NAL unit metadata is copied into
21978           the current NAL unit. Otherwise, some default values are inferred,
21979           tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
21980           [infer default values for slice if previous NAL was not a Prefix]
21981           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21982
21983 2013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
21984
21985         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21986           decoder: h264: add support for MVC base views.
21987           Allow decoding for base views of MVC encoded streams. For now, just skip
21988           the slice extension and prefix NAL units, and skip non-base view frames.
21989           Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
21990           [fixed memory leak, improved check for MVC NAL units]
21991           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21992
21993 2014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21994
21995         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21996           decoder: h264: simplify storage of decoded picture into DPB.
21997           Factor out process by which the decoded picture with the lowest POC
21998           is found, and possibly output. Likewise, the storage and marking of
21999           a reference decoded, or non-reference decoded picture, into the DPB
22000           could also be simplified as they mostly share the same operations.
22001
22002 2014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22003
22004         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22005           decoder: h264: minor clean-ups.
22006           Make init_picture_ref_lists() more consistent with other functions
22007           related to the reference marking process by supplying the current
22008           picture as argument.
22009
22010 2014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22011
22012         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22013         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22014         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22015           display: add utility function to query VA driver name.
22016           Add gst_vaapi_display_get_vendor_string() helper function to query
22017           the underlying VA driver name. The display object owns the resulting
22018           string, so it shall not be deallocated.
22019           That function is thread-safe. It could be used for debugging purposes,
22020           for instance.
22021
22022 2014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22023
22024         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22025         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
22026         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22027         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22028         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
22029         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
22030         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
22031           display: make cache maintenance really MT-safe.
22032           Make sure to initialize one GstVaapiDisplay at a time, even in threaded
22033           environments. This makes sure the display cache is also consistent
22034           during the whole display creation process. In the former implementation,
22035           there were risks that display cache got updated in another thread.
22036
22037 2014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22038
22039         * gst-libs/gst/vaapi/gstvaapicontext.c:
22040           context: allow dynamic growth of VA surfaces pool.
22041           Add support for dynamic growth of the VA surfaces pool. For decoding,
22042           this implies the recreation of the underlying VA context, as per the
22043           requirement from VA-API. Besides, only increases are supported, not
22044           shrinks.
22045
22046 2014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22047
22048         * gst-libs/gst/vaapi/gstvaapicontext.c:
22049           context: reset VA context if VA surfaces set changed.
22050           It is a requirement from VA-API specification that the VA context got
22051           from vaCreateContext(), for decoding purposes, binds the supplied set
22052           of VA surfaces. This means that if the set of VA surfaces is to be
22053           changed for the current decode session, then the VA context needs to
22054           be recreated with the new set of VA surfaces.
22055
22056 2014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22057
22058         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22059           decoder: h264: fix assignment of LongTermFrameIdx.
22060           Complement fix committed as e95a42e.
22061           The H.264 AVC standard has to say: if the field is part of a reference
22062           frame or a complementary reference field pair, and the other field of
22063           the same reference frame or complementary reference field pair is also
22064           marked as "used for long-term reference", the reference frame or
22065           complementary reference field pair is also marked as "used for long-term
22066           reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
22067           This fixes decoding of MR9_BT_B in strict mode.
22068           https://bugs.freedesktop.org/show_bug.cgi?id=64624
22069           https://bugzilla.gnome.org/show_bug.cgi?id=724518
22070
22071 2014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22072
22073         * gst-libs/gst/vaapi/gstvaapicontext.c:
22074         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22075         * gst-libs/gst/vaapi/gstvaapiutils.c:
22076         * gst-libs/gst/vaapi/gstvaapiutils.h:
22077           decoder: h264: properly support grayscale formats.
22078           Request the correct chroma format for decoding grayscale streams.
22079           i.e. make lookups of the VA chroma format more generic, thus possibly
22080           supporting more formats in the future.
22081           This means that, if a VA driver doesn't support grayscale formats,
22082           it is now going to fail. We cannot safely assume that maybe grayscale
22083           was implemented on top of some YUV 4:2:0 with the chroma components
22084           all set to 0x80.
22085
22086 2014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22087
22088         * gst-libs/gst/vaapi/gstvaapifilter.c:
22089         * gst-libs/gst/vaapi/gstvaapifilter.h:
22090         * tests/test-filter.c:
22091           build: fix source file modes.
22092           A few source files are marked executable in error - fix them
22093           https://bugzilla.gnome.org/show_bug.cgi?id=723748
22094           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22095
22096 2014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22097
22098         * configure.ac:
22099         * gst-libs/gst/vaapi/Makefile.am:
22100         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
22101         * gst/vaapi/gstvaapidecode.c:
22102           build: fix conditional compilation of VP8 decoder.
22103           https://bugzilla.gnome.org/show_bug.cgi?id=729170
22104           [added check for VASliceParameterBufferBase fields]
22105           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22106
22107 2014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22108
22109         * gst-libs/gst/codecparsers/Makefile.am:
22110           build: fix make dist for codecparsers.
22111
22112 2014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22113
22114         * ext/codecparsers:
22115           codecparsers: update to gst-vaapi-branch commit eaa3f7e.
22116           h264: fix parsing of slice groups for map type = 2
22117
22118 2014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22119
22120         * ext/codecparsers:
22121           codecparsers: update to gst-vaapi branch commit f44edfc.
22122           h264: fix derivation of default scaling lists
22123
22124 2013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
22125
22126         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22127           decoder: h264: fix long-term reference picture marking process.
22128           Fix reference picture marking process with memory_management_control_op
22129           set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
22130           picture, or the current picture.
22131           This fixes decoding of FRExt_MMCO4_Sony_B.
22132           https://bugs.freedesktop.org/show_bug.cgi?id=64624
22133           https://bugzilla.gnome.org/show_bug.cgi?id=724518
22134           [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
22135           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22136
22137 2014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22138
22139         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22140           decoder: h264: fix initialization of RefPicLists for multiple slices.
22141           The initialization of reference picture lists (8.2.4.2) applies to all
22142           slices. So, the RefPicList0/1 lists need to be constructed prior to
22143           each slice submission to the HW decoder.
22144           This fixes decoding of video sequences where frames are encoded with
22145           multiple slices of different types, e.g. 4 slices in this order I, P,
22146           I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
22147           https://bugzilla.gnome.org/show_bug.cgi?id=724518
22148
22149 2013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
22150
22151         * ext/codecparsers:
22152         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22153           decoder: h264: skip SPS extension and auxiliary slice NALs.
22154           When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
22155           are present in a video, decoders shall perform the (optional) decoding
22156           process specified for these NAL units or shall ignore them (7.4.1).
22157           Implement option 2 (skip) for now, as alpha composition is not
22158           supported yet during the decoding process.
22159           This fixes decoding of the primary coded video in alphaconformanceG.
22160           https://bugzilla.gnome.org/show_bug.cgi?id=703928
22161           https://bugzilla.gnome.org/show_bug.cgi?id=728869
22162           https://bugzilla.gnome.org/show_bug.cgi?id=724518
22163           [skip NAL units earlier, i.e. at parsing time]
22164           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22165
22166 2013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
22167
22168         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22169           decoder: h264: fix slice data bit offset with MVC NAL units.
22170           When MVC slice NAL units (coded slice extension and prefix NAL) are
22171           present, the number of NAL header bytes is 3, not 1 as usual.
22172           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
22173           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22174
22175 2014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22176
22177         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22178           decoder: h264: fix activation of picture and sequence parameters.
22179           At the time the first VCL NAL unit of a primary coded picture is found,
22180           and if that NAL unit was parsed to be an SPS or PPS, then the entries
22181           in the parser may have been overriden. This means that, when the picture
22182           is to be decoded, slice_hdr->pps could point to an invalid (the next)
22183           PPS entry.
22184           So, one way to solve this problem is to not use the parser PPS and
22185           SPS info but rather maintain our own activation chain in the decoder.
22186           https://bugzilla.gnome.org/show_bug.cgi?id=724519
22187           https://bugzilla.gnome.org/show_bug.cgi?id=724518
22188
22189 2014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22190
22191         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22192           decoder: h264: retain SEI messages until the end of frame.
22193           Retain the SEI messages that were parsed from the access unit until we
22194           have completely decoded the current frame. This is done so that we can
22195           peek at that data whenever necessary during decoding. e.g. for exposing
22196           3D stereoscopic information at a later stage.
22197
22198 2014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22199
22200         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22201           decoder: h264: add support for grayscale encoded clips.
22202           Fix support for grayscale encoded video clips, and possibly others if
22203           the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
22204           the decision that a surface with the desired chroma format is not
22205           supported to the actual VA driver implementation.
22206           https://bugzilla.gnome.org/show_bug.cgi?id=728144
22207
22208 2014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22209
22210         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22211         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22212         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22213         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22214         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22215         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
22216           decoder: default to YUV 4:2:0 VA surfaces.
22217           Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
22218           make sure all codecs use YUV 4:2:0 output format for now, by default.
22219
22220 2014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22221
22222         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22223         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22224         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22225           decoder: re-indent GstVaapiDecoder base object.
22226
22227 2014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22228
22229         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22230           encoder: derive chroma type from video format.
22231           Cope with previous VA context change to derive the correct surface chroma
22232           type from the input video format.
22233
22234 2014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22235
22236         * gst-libs/gst/vaapi/gstvaapicontext.c:
22237         * gst-libs/gst/vaapi/gstvaapicontext.h:
22238           context: add support for non-YUV 4:2:0 formats.
22239           Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
22240           for the upper layer to specify the desired chroma type. If the chroma
22241           type field is not set (or yields zero), then YUV 4:2:0 format is used
22242           by default.
22243
22244 2014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22245
22246         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
22247           vp8: fix per-segment deblocking filter level in relative mode.
22248           Fix possible bug when a per-segment deblocking filter level value
22249           needs to be set in non-absolute mode, i.e. when the loop filter update
22250           value is negative in delta mode.
22251           Also clamp the resulting filter level value to 0..63 range.
22252
22253 2014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22254
22255         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
22256           vp8: fix check for disabling the loop filter (again).
22257           Improve condition to disable the loop filter. The previous heuristic
22258           used to check all filter levels, for all segments. It turns out that
22259           only the base filter_level value defined in the frame header needs
22260           to be checked.
22261           This fixes 00-comprehensive-013.
22262
22263 2014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22264
22265         * gst-libs/gst/codecparsers/Makefile.am:
22266         * gst/vaapi/Makefile.am:
22267           build: fix make dist with certain conditionals not met.
22268           Fix generation of source tarballs when certain conditionals are not
22269           met. e.g. always include all buildable codecparsers sources in the
22270           distribution tarball, fix plug-in element sources set to include X11
22271           and encoder bits.
22272
22273 2014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22274
22275         * ext/Makefile.am:
22276           build: add missing files for GStreamer 0.10.
22277           Add missing GstVideoEncoder implementation files to fix build with ancient
22278           GStreamer 0.10 stack.
22279           https://bugzilla.gnome.org/show_bug.cgi?id=723964
22280
22281 2014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22282
22283         * ext/Makefile.am:
22284           build: add missing files for VP8 bitstream parser.
22285           Fix make dist for building the VP8 bitstream parser.
22286
22287 2014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22288
22289         * configure.ac:
22290         * ext/libvpx/Makefile.am:
22291         * gst-libs/gst/codecparsers/Makefile.am:
22292           vp8: allow compilation without the built-in libvpx.
22293           The built-in libvpx serves multiple purposes, among which the most
22294           important ones could be: track the most up-to-date, and optimized,
22295           range decoder; allow for future hybrid implementations (non-VLD);
22296           and have a completely independent range decoder implementation.
22297
22298 2014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22299
22300         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
22301           vp8: propagate PTS from demux frame.
22302           gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
22303           or parser would already have determined the PTS from a previous stage.
22304
22305 2014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22306
22307         * Makefile.am:
22308         * debian.upstream/libgstvaapi.install.in:
22309         * ext/libvpx/Makefile.am:
22310         * ext/libvpx/sources.frag:
22311         * gst-libs/gst/codecparsers/Makefile.am:
22312           vp8: fix compilation with built-in libvpx.
22313           Apply correct patch from fd.o #722760 to fix several issues: update the
22314           license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
22315           make dist.
22316
22317 2014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22318
22319         * .gitmodules:
22320         * autogen.sh:
22321         * configure.ac:
22322         * ext/Makefile.am:
22323         * ext/libvpx/Makefile.am:
22324         * ext/libvpx/gstlibvpx.c:
22325         * ext/libvpx/gstlibvpx.h:
22326         * ext/libvpx/libgstcodecparsers_vpx.vers:
22327         * ext/libvpx/sources.frag:
22328         * ext/libvpx/upstream:
22329         * gst-libs/gst/codecparsers/Makefile.am:
22330         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
22331           vp8: use range decoder from libvpx.
22332           Add libvpx submodule that tracks the upstream version 1.3.0. This is
22333           needed to build a libgstcodecparsers_vpx.so library with all symbols
22334           placed into the GSTREAMER namespace.
22335
22336 2014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22337
22338         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
22339           vp8: fix check for disabling the loop filter.
22340
22341 2013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
22342
22343         * configure.ac:
22344         * ext/Makefile.am:
22345         * gst-libs/gst/codecparsers/Makefile.am:
22346         * gst-libs/gst/vaapi/Makefile.am:
22347         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
22348         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
22349         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22350         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22351         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
22352         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
22353         * gst-libs/gst/vaapi/gstvaapiprofile.c:
22354         * gst-libs/gst/vaapi/gstvaapiprofile.h:
22355         * gst/vaapi/gstvaapidecode.c:
22356           Add initial VP8 decoder.
22357           https://bugzilla.gnome.org/show_bug.cgi?id=722761
22358           [complete overhaul, fixed support for resolution changes]
22359           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22360
22361 2014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22362
22363         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22364           decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
22365           The gst_h264_parse_parse_sei() function now returns an array of SEI
22366           messages, instead of a single SEI message. Reason: it is allowed to
22367           have several SEI messages packed into a single SEI NAL unit, instead
22368           of multiple NAL units.
22369
22370 2014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22371
22372         * ext/codecparsers:
22373           codecparsers: update to gst-vaapi-branch commit a454f86.
22374           b2eb5f6 vp8: rename dboolhuff symbols
22375           b74a881 vp8: add GStreamer native utilities
22376           2940ac6 add VP8 bitstream parser
22377
22378 2014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22379
22380         * ext/codecparsers:
22381           codecparsers: update to gst-vaapi-branch commit d459bc5.
22382           d459bc5 h264: set framerate even for interlaced videos
22383           c78b82c h264: add support for Recovery Point SEI message
22384           7693bac h264: add support for Frame Packing Arrangement SEI message
22385           31fafa7 h264: add support for Stereo Video Information SEI message
22386           8b113a6 h264: parse seq_parameter_set_mvc_extension()
22387           040f9b8 h264: parse MVC syntax elements
22388           cc18ef3 h264: add nal_reader_skip_long() helper
22389           7e76a48 h264: fix slice_header() parsing for MVC
22390           caf46d8 h264: add gst_h264_parse_nalu_header() helper
22391           f75074e h264: add gst_h264_parse_sps_data() helper
22392           798c397 h264: clean-up gst_h264_parser_parse_sei_message()
22393           4e36737 h264: fix skipping of unsupported SEI messages
22394           5300766 h264: fix SEI buffering_period() parsing
22395
22396 2014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22397
22398         * ext/codecparsers:
22399         * gst-libs/gst/codecparsers/Makefile.am:
22400           codecparsers: update to gst-vaapi-branch commit 8fadf40.
22401           8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
22402           644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
22403           95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
22404           766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
22405           8ec5816 h265: Fix segfault when parsing HRD parameter
22406           5b1730f h265: Fix segfault when parsing VPS
22407           983b7f7 h265: prevent to overrun chroma_weight_l0_flag
22408           7ba641d h265: Fix debug output
22409           d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
22410
22411 2014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22412
22413         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22414           decoder: h264: fix robustness patch for bytestream format.
22415           Fix parser and decoder state to sync at the right locations. This is
22416           because we could reset the parser state, while the decoder state was
22417           not copied yet, e.g. when parsing several NAL units from multiple frames
22418           whereas the current frame was not decoded yet.
22419           This is a regression brought in by commit 6fe5496.
22420
22421 2014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22422
22423         * configure.ac:
22424         * pkgconfig/Makefile.am:
22425         * pkgconfig/gstreamer-vaapi-drm.pc.in:
22426         * pkgconfig/gstreamer-vaapi-glx.pc.in:
22427         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
22428         * pkgconfig/gstreamer-vaapi-x11.pc.in:
22429           build: fix pkgconfig file names (again).
22430           It turns out it is more convenient to have only pkgconfig files named
22431           after the installed GStreamer API version (1.0) instead of using all
22432           possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
22433           altogether anyway, so align pkgconfig file names to that.
22434
22435 2014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22436
22437         * debian.upstream/libgstvaapi-dev.install.in:
22438         * gst-libs/gst/vaapi/Makefile.am:
22439         * pkgconfig/gstreamer-vaapi.pc.in:
22440           build: fix packaging for GStreamer 1.2.
22441           Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
22442           the pkgconfig version (1.0) instead of the intended API version (1.2).
22443           libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
22444           as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
22445
22446 2014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22447
22448         * configure.ac:
22449           Bump version for development.
22450
22451 2014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22452
22453         * debian.upstream/control.in:
22454           debian: fix trailing whitespace in description.
22455
22456 2014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22457
22458         * debian.upstream/control.in:
22459         * debian.upstream/copyright:
22460           debian: fix package description.
22461           Try to improve package description for the compiled plug-in elements
22462           available in there. e.g. only display vaapidownload and vaapiupload
22463           for GStreamer 0.10 builds, display vaapiencode_* elements when VA
22464           encoding is enabled, etc.
22465           Also increase the copyright notice date.
22466
22467 2014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22468
22469         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22470           build: fix warnings on 64-bit platforms.
22471
22472 2014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22473
22474         * gst-libs/gst/vaapi/gstvaapicontext.c:
22475         * gst-libs/gst/vaapi/gstvaapiutils.c:
22476           build: fix for older versions of VA-API (< 0.34.0).
22477           Fix build with older versions of VA-API (< 0.34.0), or versions without
22478           good enough headers for encoding support for instance.
22479
22480 2014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22481
22482         * NEWS:
22483         * configure.ac:
22484           0.5.8.
22485
22486 2014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22487
22488         * README:
22489           README: updates.
22490           VA-API up to 0.34.0 is actually supported. Mention new video encoding
22491           support. Update copyright years, list of supported Intel HD Graphics
22492           hardware.
22493
22494 2014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22495
22496         * NEWS:
22497           NEWS: updates.
22498
22499 2014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22500
22501         * tests/test-filter.c:
22502           tests: test-filter: fix "deinterlace" option parse.
22503           Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
22504           string was provided, i.e. if it remained set to NULL.
22505
22506 2014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22507
22508         * gst-libs/gst/vaapi/Makefile.am:
22509         * gst-libs/gst/vaapi/gstvaapicontext.c:
22510         * gst-libs/gst/vaapi/gstvaapicontext.h:
22511         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22512         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
22513         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
22514           libs: factor out usages of vaGetConfigAttributes().
22515           Add gst_vaapi_get_config_attribute() helper function that takes a
22516           GstVaapiDisplay and the rest of the arguments with VA types. The aim
22517           is to have thread-safe VA helpers by default.
22518
22519 2014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22520
22521         * gst-libs/gst/vaapi/gstvaapiutils.c:
22522         * gst-libs/gst/vaapi/gstvaapiutils.h:
22523         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22524         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22525         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22526         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22527         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22528         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
22529         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22530         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
22531         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22532           libs: re-indent all source code related to VA utilities.
22533
22534 2014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22535
22536         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
22537           libs: add missing file (libgstvaapi_priv_check.h).
22538
22539 2014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22540
22541         * gst-libs/gst/vaapi/gstvaapicontext.c:
22542         * gst-libs/gst/vaapi/gstvaapicontext.h:
22543         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22544         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22545         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22546         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22547           encoder: notify the encoder of the submitted packed headers.
22548           Make sure to configure the encoder with the set of packed headers we
22549           intend to generate and submit. i.e. make selection of packed headers
22550           to submit more robust.
22551
22552 2014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22553
22554         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22555         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22556         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22557         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22558           encoder: fix and factor out check for supported rate-control modes.
22559           Cache the first compatible GstVaapiProfile found if the encoder is not
22560           configured yet. Next, factor out the code to check for the supported
22561           rate-control modes by moving out vaGetConfigAttributes() to a separate
22562           function, while also making sure that the attribute type is actually
22563           supported by the encoder.
22564           Also fix the default set of supported rate control modes to not the
22565           "none" variant. It's totally useless to expose it at this point.
22566
22567 2014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22568
22569         * gst-libs/gst/vaapi/gstvaapicontext.c:
22570         * gst-libs/gst/vaapi/gstvaapicontext.h:
22571         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22572           context: move rate-control mode to encoder specific config.
22573           Move usage-specific config out of the common GstVaapiContextInfo.
22574           Create a specialized config for encoding and move rate-control mode
22575           to there.
22576
22577 2014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22578
22579         * gst-libs/gst/vaapi/gstvaapicontext.c:
22580         * gst-libs/gst/vaapi/gstvaapicontext.h:
22581         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22582         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22583           context: introduce concept of usage.
22584           Introduce GstVaapiContextUsage so that to explicitly determine the
22585           usage of a VA context. This is useful in view to simplifying the
22586           creation of VA context for VPP too.
22587
22588 2014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22589
22590         * gst-libs/gst/vaapi/gstvaapicontext.c:
22591           context: fix get_attribute() value result.
22592           Unknown attributes, or attributes that are not supported for the given
22593           profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
22594           So, return failure in this case.
22595
22596 2014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22597
22598         * gst-libs/gst/vaapi/Makefile.am:
22599         * gst-libs/gst/vaapi/gstvaapicontext.c:
22600         * gst-libs/gst/vaapi/gstvaapicontext.h:
22601         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
22602         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
22603         * gst-libs/gst/vaapi/gstvaapisurface.c:
22604           context: move overlay composition to separate files.
22605           Move GstVideoOverlayComposition handling to separate source files.
22606           This helps keeing GstVaapiContext core implementation to the bare
22607           minimal, i.e. simpy helpers to create a VA context and handle pool
22608           of associated VA surfaces.
22609
22610 2014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22611
22612         * gst-libs/gst/vaapi/gstvaapicontext.c:
22613         * gst-libs/gst/vaapi/gstvaapicontext.h:
22614         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22615         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22616           context: clean-ups. Strip down APIs.
22617           Improve documentation and debug messages. Clean-up APIs, i.e. strip
22618           them down to the minimal set of interfaces. They are private, so no
22619           need expose getters for instance.
22620
22621 2014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22622
22623         * gst-libs/gst/vaapi/gstvaapicontext.c:
22624         * gst-libs/gst/vaapi/gstvaapicontext.h:
22625           context: re-indent all GstVaapiContext related source code.
22626
22627 2014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22628
22629         * gst-libs/gst/vaapi/Makefile.am:
22630         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22631         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22632         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
22633         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
22634         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
22635         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
22636         * gst-libs/gst/vaapi/gstvaapiutils.h:
22637         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22638         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22639         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22640         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22641         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
22642           libs: check that private headers remain private.
22643           Make sure that libgstvaapi private headers remain internally used to
22644           build libgstvaapi libraries only. All header dependencies were reviewed
22645           and checks for IN_LIBGSTVAAPI definition were added accordingly.
22646           Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
22647           consistency.
22648
22649 2014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22650
22651         * configure.ac:
22652           Bump library major version.
22653           Bump the library major version due to API/ABI changes that occurred in
22654           the imaging API. In particular, GstVaapiDisplay interfaces no longer
22655           expose any GstCaps but provide GArray based ones e.g. to determine the
22656           set of supported decode/encode profiles.
22657
22658 2014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22659
22660         * gst-libs/gst/vaapi/glibcompat.h:
22661         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
22662         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
22663         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
22664         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
22665         * gst-libs/gst/vaapi/gstvaapicontext.c:
22666         * gst-libs/gst/vaapi/gstvaapicontext.h:
22667         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22668         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22669         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22670         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22671         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22672         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22673         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22674         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22675         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22676         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22677         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22678         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22679         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22680         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22681         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22682         * gst-libs/gst/vaapi/gstvaapifilter.c:
22683         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
22684         * gst-libs/gst/vaapi/gstvaapisurface.c:
22685         * gst-libs/gst/vaapi/gstvaapisurface.h:
22686         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22687         * gst-libs/gst/vaapi/gstvaapitypes.h:
22688         * gst-libs/gst/vaapi/gstvaapiutils.c:
22689         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22690         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
22691         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22692         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
22693         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
22694         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
22695         * gst-libs/gst/vaapi/gstvaapivalue.c:
22696         * gst-libs/gst/vaapi/gstvaapivalue.h:
22697         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22698         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22699         * gst/vaapi/gstvaapidecode.c:
22700         * gst/vaapi/gstvaapiencode.c:
22701         * gst/vaapi/gstvaapiencode.h:
22702         * gst/vaapi/gstvaapiencode_h264.c:
22703         * gst/vaapi/gstvaapiencode_h264.h:
22704         * gst/vaapi/gstvaapiencode_mpeg2.c:
22705         * gst/vaapi/gstvaapiencode_mpeg2.h:
22706         * gst/vaapi/gstvaapipluginbase.c:
22707         * gst/vaapi/gstvaapipluginutil.c:
22708         * gst/vaapi/gstvaapipluginutil.h:
22709         * gst/vaapi/gstvaapipostproc.c:
22710         * gst/vaapi/gstvaapipostproc.h:
22711         * gst/vaapi/gstvaapisink.c:
22712         * gst/vaapi/gstvaapisink.h:
22713         * gst/vaapi/gstvaapivideometa_texture.c:
22714         * tests/simple-decoder.c:
22715           legal: update copyright notice dates.
22716
22717 2014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22718
22719         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22720         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22721         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22722         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22723         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22724         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22725         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22726         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22727         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22728         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22729         * gst/vaapi/gstvaapiencode.c:
22730         * gst/vaapi/gstvaapiencode.h:
22731         * gst/vaapi/gstvaapiencode_h264.c:
22732         * gst/vaapi/gstvaapiencode_h264.h:
22733         * gst/vaapi/gstvaapiencode_mpeg2.c:
22734         * gst/vaapi/gstvaapiencode_mpeg2.h:
22735           legal: add per-file authorship information.
22736
22737 2014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22738
22739         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22740         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22741           decoder: fix video codec frame number in standalone mode.
22742           Set a valid GstVideoCodecFrame.system_frame_number when decoding a
22743           stream in standalone mode. While we are at it, improve the debugging
22744           messages to also include that frame number.
22745
22746 2014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
22747
22748         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22749         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22750           decoder: fix crash on invalid pointer for GST_DEBUG().
22751           When decoding failed, or that the frame was dropped, the associated
22752           surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
22753           message needs to check whether the proxy is actually present or not.
22754           https://bugzilla.gnome.org/show_bug.cgi?id=722403
22755           [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
22756           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22757
22758 2014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22759
22760         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22761           encoder: h264: disable NAL HRD parameters for now.
22762           Don't emit NAL HRD parameters for now in the SPS headers because the
22763           SEI buffering_period() and picture_timing() messages are not handled
22764           yet. Some additional changes are necessary to get it right.
22765           https://bugzilla.gnome.org/show_bug.cgi?id=722734
22766
22767 2014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22768
22769         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22770         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22771         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
22772         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
22773           encoder: h264: fix default CPB buffer size.
22774           Fix default CPB buffer size to something more reasonable (1500 ms)
22775           and that still fits the level limits. This is a non configurable
22776           property for now. The initial CPB removal delay is also fixed to
22777           750 ms.
22778           https://bugzilla.gnome.org/show_bug.cgi?id=722087
22779
22780 2014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22781
22782         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22783           encoder: h264: fix bitrate encoding for HRD conformance.
22784           Round down the calculated, or supplied, bitrate (kbps) into a multiple
22785           of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
22786           that to have less losses in precision. Likewise, don't round up because
22787           that could be a strict constraint imposed by the user.
22788
22789 2014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22790
22791         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22792           encoder: h264: fix level lookup constraints wrt. bitrate.
22793           Fix the level calculation involving bitrate limits. Since we are
22794           targetting NAL HRD conformance, the check against MaxBR from the
22795           Table A-1 limits shall involve cpbBrNalFactor depending on the
22796           active profile.
22797
22798 2014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22799
22800         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22801           encoder: h264: submit sequence parameter only once.
22802           Submit sequence parameter buffers only once, or when the bitstream
22803           was reconfigured in a way that requires such. Always submit packed
22804           sequence parameter buffers at I-frame period, if the VA driver needs
22805           those.
22806           https://bugzilla.gnome.org/show_bug.cgi?id=722737
22807
22808 2014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22809
22810         * gst-libs/gst/vaapi/gstvaapicontext.c:
22811         * gst-libs/gst/vaapi/gstvaapicontext.h:
22812         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22813         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22814         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22815           encoder: h264: only submit packed headers when required.
22816           Make sure to submit the packed headers only if the underlying VA driver
22817           requires those. Currently, only handle packed sequence and picture
22818           headers.
22819           https://bugzilla.gnome.org/show_bug.cgi?id=722737
22820
22821 2014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22822
22823         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22824           encoder: h264: fix ip_period value in sequence parameter.
22825           The VAEncSequenceParameterBuffer.ip_period value reprents the distance
22826           between the I-frame and the next P-frame. So, this also accounts for
22827           any additional B-frame in the middle of it.
22828           This fixes rate control heuristics for certain VA drivers.
22829           https://bugzilla.gnome.org/show_bug.cgi?id=722735
22830
22831 2014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22832
22833         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22834           encoder: h264: fix level when bitrate is automatically computed.
22835           Fix level characterisation when the bitrate is automatically computed
22836           from the active coding tools. i.e. ensure the bitrate once the profile
22837           is completely characterized but before the level calculation process.
22838
22839 2014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22840
22841         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22842           encoder: h264: clean-ups.
22843           Document and rename a few functions here and there. Drop code that
22844           caps num_bframes variable in reset_properties() since they shall
22845           have been checked beforehand, during properties initialization.
22846
22847 2014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22848
22849         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22850           encoder: h264: clean-up bitwriter related utilities.
22851           Clean-up GstBitWriter related utility functions and simplify notations.
22852           While we are at it, also make bitstream writing more robust should an
22853           overflow occur. We could later optimize for writing headers capped to
22854           their maximum possible size by using the _unchecked() helper variants.
22855
22856 2014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22857
22858         * gst-libs/gst/vaapi/Makefile.am:
22859         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22860         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22861           encoder: h264: completely remove private headers.
22862           Drop private header since it was originally used to expose internals
22863           to the plugin element. The proper interface is now the properties API,
22864           thus rendering private headers totally obsolete.
22865
22866 2014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22867
22868         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22869           encoder: h264: fix PPS header packing with profile < high.
22870           Fix PPS header packing when profile is below High since 8x8 transform
22871           mode and scaling lists are High Profile features.
22872
22873 2014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22874
22875         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22876           encoder: h264: always emit VUI parameters for framerate.
22877           Always emit VUI parameters for timing_info, which includes framerate
22878           information.
22879
22880 2014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22881
22882         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22883           encoder: h264: really fix frame cropping rectangle calculation.
22884           Make frame cropping rectangle calculation future proof, i.e. exactly
22885           follow the specification (7-18) to (7-21), and subsampling definitions
22886           from Table 6-1.
22887           https://bugzilla.gnome.org/show_bug.cgi?id=722089
22888           https://bugzilla.gnome.org/show_bug.cgi?id=722238
22889
22890 2014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
22891
22892         * gst/vaapi/gstvaapisink.c:
22893         * gst/vaapi/gstvaapisink.h:
22894           vaapisink: set csc render flags from sinkpad caps.
22895           This maps GstVideoColorimetry information in vaapisink's sinkpad caps
22896           to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
22897           available.
22898           https://bugzilla.gnome.org/show_bug.cgi?id=722255
22899           [factored out code, added SMPTE240M, handle per-buffer flags]
22900           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22901
22902 2012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22903
22904         * gst-libs/gst/vaapi/gstvaapisurface.h:
22905         * gst-libs/gst/vaapi/gstvaapiutils.c:
22906         * gst/vaapi/gstvaapipostproc.c:
22907           surface: rework render flags.
22908           Pack render flags per category and provide more flags into the color
22909           standard category. In particular, cover for SMPTE-240M.
22910
22911 2013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
22912
22913         * gst-libs/gst/vaapi/gstvaapifilter.c:
22914         * gst/vaapi/gstvaapipostproc.c:
22915         * gst/vaapi/gstvaapipostproc.h:
22916           vaapipostproc: add support for colorbalance filters.
22917           Add support for hue, saturation, brightness and constrat adjustments.
22918           Also fix cap info local copy to match the really expected cap subtype
22919           of interest.
22920           https://bugzilla.gnome.org/show_bug.cgi?id=720376
22921           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22922
22923 2013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
22924
22925         * gst/vaapi/gstvaapipostproc.c:
22926           vaapipostproc: fix support for "sharpen" filter.
22927           Fix copy/paste error when submitting the "sharpen" value to the
22928           GstVaapiFilter instance.
22929           https://bugzilla.gnome.org/show_bug.cgi?id=720375
22930           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22931
22932 2013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
22933
22934         * configure.ac:
22935         * pkgconfig/gstreamer-vaapi-drm.pc.in:
22936         * pkgconfig/gstreamer-vaapi-glx.pc.in:
22937         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
22938         * pkgconfig/gstreamer-vaapi-x11.pc.in:
22939         * pkgconfig/gstreamer-vaapi.pc.in:
22940           pkgconfig: plugin dir should use PKG version not API version.
22941           Fix the pluginsdir and includedir variables in the generated pkgconfig
22942           (.pc) files. The location needs to be built with the PKG version in
22943           mind instead of the API version.
22944           While we are at it, also fix the PKG version for GStreamer >= 1.3.
22945           https://bugzilla.gnome.org/show_bug.cgi?id=720820
22946           [additional fixes for includedir and pkg requirements]
22947           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22948
22949 2014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
22950
22951         * gst/vaapi/gstvaapisink.c:
22952           vaapisink: fix display initialization in GstVideoOverlay implementation.
22953           When gst_vaapisink_video_overlay_set_window_handle() is called early,
22954           before the pipeline has been set to PLAYING, the display has not yet
22955           been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
22956           up-to-date. For this reason the foreign XID is not attached.
22957           Now _ensure_display() is called earlier.
22958           https://bugzilla.gnome.org/show_bug.cgi?id=722244
22959           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22960
22961 2013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22962
22963         * gst/vaapi/gstvaapisink.c:
22964           vaapisink: expose the raw video formats in static caps template.
22965           Expose all raw video formats in the static caps template since the
22966           vaapisink is supporting raw data. We will get the exact set of formats
22967           supported by the driver dynamically through the _get_caps() routine.
22968           https://bugzilla.gnome.org/show_bug.cgi?id=703271
22969           https://bugzilla.gnome.org/show_bug.cgi?id=720737
22970           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22971
22972 2013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22973
22974         * gst/vaapi/gstvaapidecode.c:
22975           vaapidecode: query downstream caps features like GLTextureUploadMeta.
22976           Fix vaapidecode to correctly report caps features downstream, when
22977           a custom pipeline is built manually.
22978           https://bugzilla.gnome.org/show_bug.cgi?id=719372
22979           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22980
22981 2013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22982
22983         * gst/vaapi/gstvaapidecode.c:
22984           vaapidecode: add system memory caps to template caps.
22985           Since vaapidecode provides buffer that can be mapped as regular memory,
22986           those caps should be added to the template caps. That only applies to
22987           GStreamer >= 1.2.
22988           https://bugzilla.gnome.org/show_bug.cgi?id=720608
22989           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22990
22991 2013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
22992
22993         * gst/vaapi/gstvaapidecode.c:
22994           vaapidecode: fix hang on SIGINT.
22995           vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
22996           <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
22997           locked. This fixes a deadlock on state change from PAUSED to READY.
22998           https://bugzilla.gnome.org/show_bug.cgi?id=720584
22999           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23000
23001 2013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
23002
23003         * gst/vaapi/gstvaapiencode.c:
23004           vaapiencode: fix possible hang on SIGINT.
23005           vaapiencode might hang when the pipeline is stopped without any EOS,
23006           e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
23007           running and locked. This fixes a possible deadlock on state change
23008           from PAUSED to READY.
23009           https://bugzilla.gnome.org/show_bug.cgi?id=720584
23010           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23011
23012 2014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23013
23014         * gst/vaapi/gstvaapiencode.c:
23015           vaapiencode: fix typo in error message.
23016           Fix incomplete error message in gst_vaapiencode_push_frame().
23017
23018 2014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23019
23020         * gst/vaapi/gstvaapipluginutil.c:
23021         * gst/vaapi/gstvaapipluginutil.h:
23022           plugins: add helpers to create video caps with features.
23023           Add gst_vaapi_video_format_new_template_caps_with_features() helper
23024           function to add the supplied caps feature string on GStreamer >= 1.2.
23025           Add gst_vaapi_find_preferred_caps_feature() helper function to discover
23026           the "best" caps feature to use for the supplied pad. In practice, we
23027           will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
23028           and finally the system memory caps.
23029           https://bugzilla.gnome.org/show_bug.cgi?id=719372
23030
23031 2014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23032
23033         * gst/vaapi/gstvaapivideometa_texture.c:
23034           plugins: don't apply overlay composition in GLTextureUpload function.
23035           The GLTextureUpload function is not in charge of doing the overlay
23036           composition if any.
23037           https://bugzilla.gnome.org/show_bug.cgi?id=721859
23038           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23039
23040 2014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23041
23042         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23043           encoder: re-order submission of VA objects.
23044           Change the submission order of VA objects so that to make that process
23045           more logical. i.e. submit sequence parameter first, if any; next the
23046           packed headers associated to sequece, picture or slices; and finally
23047           the actual picture and associated slices.
23048
23049 2014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23050
23051         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23052         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23053         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23054         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23055         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
23056           encoder: clean-up objects.
23057           Various clean-ups to improve consistency and readability: rename some
23058           variables, drop unused macro definitions, drop initialization of vars
23059           that are zero-initialized from the base class, drop un-necessary casts,
23060           allocate GPtrArrays with a destroy function.
23061
23062 2014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23063
23064         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23065           encoder: h264: fix frame cropping rectangle calculation.
23066           Fix frame cropping rectangle calculation to handle horizontal resolutions
23067           that don't match a multiple of 16 pixels, but also the vertical resolution
23068           that was incorrectly computed for progressive sequences too.
23069           https://bugzilla.gnome.org/show_bug.cgi?id=722089
23070
23071 2014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23072
23073         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23074           encoder: h264: improve automatic bitrate calculation.
23075           For non "Constant-QP" modes, we could provide more reasonable heuristics
23076           for the target bitrate. In general, 48 bits per macroblock with all the
23077           useful coding tools enable looks safe enough. Then, this rate is raised
23078           by +10% to +15% for each coding tool that is disabled.
23079           https://bugzilla.gnome.org/show_bug.cgi?id=719699
23080
23081 2014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23082
23083         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23084           encoder: h264: support "high-compression" tuning option.
23085           Add support for "high-compression" tuning option. First, determine the
23086           largest supported profile by the hardware. Next, check any target limit
23087           set by the user. Then, enable each individual coding tool based on the
23088           resulting profile_idc value to use.
23089           https://bugzilla.gnome.org/show_bug.cgi?id=719696
23090
23091 2014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23092
23093         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23094         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23095         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23096         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23097         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23098         * gst/vaapi/gstvaapiencode_h264.c:
23099           encoder: h264: allow target decoder constraints.
23100           Allow user to precise the largest profile to use for encoding due
23101           to target decoder constraints. For instance, if CABAC entropy coding
23102           mode is requested by "constrained-baseline" profile only is desired,
23103           then an error is returned during codec configuration.
23104           Also make sure that the suitable profile we derived actually matches
23105           what the HW can cope with.
23106           https://bugzilla.gnome.org/show_bug.cgi?id=719694
23107
23108 2014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23109
23110         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23111           encoder: h264: refine size of coded buffer.
23112           Refine the heuristic to determine the maximum size of a coded buffer
23113           to account for the exact number of slices. set_context_info() is the
23114           last step during codec reconfiguration, no additional change is done
23115           afterwards, so re-using the num_slices field here is fine.
23116           https://bugzilla.gnome.org/show_bug.cgi?id=719953
23117
23118 2013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
23119
23120         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23121         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23122         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23123           encoder: h264: expose more coding tools.
23124           Add new H.264 coding tools to improve compression:
23125           - "cabac": enable CABAC entropy coding (default: FALSE);
23126           - "dct8x8": enable spatial transform 8x8 (default: FALSE).
23127           https://bugzilla.gnome.org/show_bug.cgi?id=719693
23128           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23129
23130 2014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23131
23132         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23133         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23134         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23135           encoder: h264: derive profile and level from active coding tools.
23136           Automatically derive the minimum profile and level to be used for
23137           encoding, based on the activated coding tools. The encoder will
23138           be trying to generate a bitstream that has the best chances to be
23139           decoded on most platforms by default.
23140           Also change the default profile to "constrained-baseline" so that
23141           to ensure maximum compatibility when the stream is decoded.
23142           https://bugzilla.gnome.org/show_bug.cgi?id=719691
23143
23144 2014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23145
23146         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23147         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23148         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23149           encoder: h264: fix hardware profile lookup.
23150           Fix lookup for a suitable HW profile, as to be used by the underlying
23151           hardware, based on heuristics that lead to characterize the SW profile,
23152           i.e. the one used by the SW level encoding logic.
23153           Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
23154           as they should respectively match the baseline and main profile.
23155           https://bugzilla.gnome.org/show_bug.cgi?id=719827
23156
23157 2014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23158
23159         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23160         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23161         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23162           encoder: h264: support only the byte-stream format.
23163           The libgstvaapi core encoders are meant to support raw bitstreams only.
23164           Henceforth, we are always producing a stream in "byte-stream" format.
23165           However, the "codec-data" buffer which holds SPS and PPS headers is
23166           always available. The "lengthSizeMinusOne" field is always set to 3
23167           so that in-place "byte-stream" format to "avc" format conversion could
23168           be performed.
23169
23170 2014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23171
23172         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23173         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23174         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23175         * gst/vaapi/gstvaapiencode_h264.c:
23176           encoder: h264: clean-ups.
23177           Various clean-ups to improve consistency and readability: rename some
23178           variables, drop unused macro definitions, drop initialization of vars
23179           that are zero-initialized from the base class, drop un-necessary casts.
23180
23181 2014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23182
23183         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23184           encoder: mpeg2: fix hardware profile lookup.
23185           Fix lookup for a suitable HW profile, as to be used by the underlying
23186           hardware, based on heuristics that lead to characterize the SW profile,
23187           i.e. the one used by the SW level encoding logic.
23188
23189 2014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23190
23191         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23192         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23193           encoder: mpeg2: derive profile and level from active coding tools.
23194           Automatically derive the minimum profile and level to be used for
23195           encoding, based on the activated coding tools. Improve lookup for
23196           the best suitable level with the new MPEG-2 helper functions.
23197           Also change the default profile to "simple" so that to ensure maximum
23198           compatibility when the stream is decoded.
23199           https://bugzilla.gnome.org/show_bug.cgi?id=719703
23200
23201 2014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23202
23203         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23204         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
23205         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23206           encoder: mpeg2: clean-ups.
23207           Various clean-ups to improve consistency and readability: drop unused
23208           macro definitions, drop initialization of vars that are zero-initialized
23209           from the base class, drop un-necessary casts.
23210
23211 2014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23212
23213         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23214         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23215         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23216         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23217         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23218           encoder: add tuning options API.
23219           Add encoder "tune" option to override the default behaviour that is to
23220           favor maximum decoder compatibility at the expense of lower compression
23221           ratios.
23222           Expected tuning options to be developed are:
23223           - "high-compression": improve compression, target best-in-class decoders;
23224           - "low-latency": tune for low-latency decoding;
23225           - "low-power": tune for encoding in low power / resources conditions.
23226
23227 2014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23228
23229         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23230         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23231           encoder: fix bitrate units to match kbps.
23232           Bitrate is expressed in kilobits per second (kbps). So, this exactly
23233           means in multiple of 1000 bits, not 1024 bits.
23234           https://bugzilla.gnome.org/show_bug.cgi?id=722086
23235
23236 2014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23237
23238         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23239         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23240         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23241           encoder: clean-ups.
23242           Drop obsolete and unused macros. Add a few doc comments. Slightly
23243           improve indentation of a few leftovers.
23244
23245 2014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23246
23247         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23248         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23249         * gst-libs/gst/vaapi/gstvaapivalue.c:
23250         * gst-libs/gst/vaapi/gstvaapivalue.h:
23251           encoder: filter out the supported set of rate-control properties.
23252           Only expose the exact static set of supported rate-control properties
23253           to the upper layer. For instance, if the GstVaapiEncoderXXX class does
23254           only support CQP rate control, then only add it the the exposed enum
23255           type.
23256           Add helper macros and functions to build a GType for an enum subset.
23257
23258 2014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23259
23260         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23261         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23262         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23263         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23264         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23265         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23266         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
23267         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23268         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23269           encoder: add keyframe period API.
23270           Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
23271           user control the maximum distance between two keyframes. This new
23272           property can only be set prior to gst_vaapi_encoder_set_codec_state().
23273           A value of zero for "keyframe-period" gets it re-evaluated to the
23274           actual framerate during encoder reconfiguration.
23275
23276 2014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23277
23278         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23279         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23280         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23281         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23282           encoder: improve codec reconfiguration.
23283           Improve codec reconfiguration to be performed only through a single
23284           function. That is, remove the _set_context_info() hook as subclass
23285           should not alter the parent GstVaapiContextInfo itself. Besides, the
23286           VA context is constructed only at the final stages of reconfigure().
23287
23288 2014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23289
23290         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
23291         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
23292         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23293           encoder: fix possible memory leak of coded buffer pools.
23294           Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
23295           buffer pool only if the coded buffer size actually changed.
23296
23297 2014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23298
23299         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23300         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23301         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23302         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23303         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23304         * gst/vaapi/gstvaapiencode.c:
23305         * gst/vaapi/gstvaapiencode.h:
23306           encoder: add video codec-state API.
23307           Add interface to communicate the encoder resolution and related info
23308           like framerate, interlaced vs. progressive, etc. This new interface
23309           supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
23310           but rather use GstVideoCodecState.
23311           Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
23312           point for codec config. This means that the encoder is reconfigured
23313           there to match the latest properties.
23314
23315 2014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23316
23317         * gst/vaapi/gstvaapiencode.c:
23318           vaapiencode: don't crash on NULL encoder on _finish().
23319           Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
23320           if it was not created in the first place. Return "not-negotiated" error
23321           since this means we did not even reach GstVideoEncoder::set_format(),
23322           where the encoder could have been created.
23323           This fixes a crash when the vaapiencode_* plug-in elements get deallocated
23324           and that we failed to negotiate either pad.
23325           https://bugzilla.gnome.org/show_bug.cgi?id=719704
23326
23327 2014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23328
23329         * gst/vaapi/gstvaapiencode.c:
23330         * gst/vaapi/gstvaapiencode.h:
23331         * gst/vaapi/gstvaapiencode_h264.c:
23332           vaapiencode: use more GstVaapiPluginBase facilities.
23333           Avoid duplication of pad references or query functions since they are
23334           provided through the GstVaapiPluginBase object.
23335
23336 2014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23337
23338         * gst/vaapi/gstvaapiencode.c:
23339         * gst/vaapi/gstvaapiencode.h:
23340         * gst/vaapi/gstvaapiencode_h264.c:
23341         * gst/vaapi/gstvaapiencode_h264.h:
23342         * gst/vaapi/gstvaapiencode_mpeg2.c:
23343           vaapiencode: fix negotiation process of output caps.
23344           The specified caps in gst_video_encoder_set_output_state() function
23345           arguments should not contain any resolution, pixel-aspect-ratio,
23346           framerate, codec-data et al. Those rather should be set through the
23347           returned GstVideoCodecState. This means that output caps creation
23348           could be delayed until before gst_video_encoder_finish_frame() is
23349           called.
23350           This greatly simplifies the GstVideoEncoder::set_format() callback
23351           by the way.
23352
23353 2014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23354
23355         * gst/vaapi/gstvaapiencode.c:
23356           vaapiencode: make GstVaapiEncode an abstract type.
23357           Make base GstVaapiEncode class an abstract type so that we cannot
23358           create an instance from it without going through any of the codec
23359           specific derived class.
23360
23361 2014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23362
23363         * gst/vaapi/gstvaapiencode.c:
23364         * gst/vaapi/gstvaapiencode.h:
23365         * gst/vaapi/gstvaapiencode_h264.c:
23366         * gst/vaapi/gstvaapiencode_mpeg2.c:
23367           vaapiencode: rename a few member functions.
23368           Rename a few member functions to make them more consistent:
23369           - alloc_encoder(): now reduced to allocate the encoder object only;
23370           - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
23371
23372 2014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23373
23374         * gst/vaapi/gstvaapiencode.c:
23375         * gst/vaapi/gstvaapiencode.h:
23376         * gst/vaapi/gstvaapiencode_h264.c:
23377         * gst/vaapi/gstvaapiencode_h264.h:
23378         * gst/vaapi/gstvaapiencode_mpeg2.c:
23379           vaapiencode: update for new properties API.
23380           Update MPEG-2 and H.264 encode elements to cope with the new core
23381           libgstvaapi properties API. i.e. all configurable properties are now
23382           directly handled at the GstVaapiEncoder level.
23383           Besides, this also makes sure to not use or modify the GstVaapiEncoder
23384           private definitions directly. Private data need to remain private.
23385           https://bugzilla.gnome.org/show_bug.cgi?id=719529
23386
23387 2014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23388
23389         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23390         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23391         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23392         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23393         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23394         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
23395         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23396           encoder: add properties API.
23397           Add interface to communicate configurable properties to the encoder.
23398           This covers both the common ones (rate-control, bitrate), and the
23399           codec specific properties.
23400           https://bugzilla.gnome.org/show_bug.cgi?id=719529
23401
23402 2014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23403
23404         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23405         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23406         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23407         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23408         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23409         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23410         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23411         * gst/vaapi/gstvaapiencode.c:
23412         * gst/vaapi/gstvaapiencode_h264.c:
23413         * gst/vaapi/gstvaapiencode_mpeg2.c:
23414           encoder: add bitrate API.
23415           Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
23416           the bitrate for encoding. Currently, changing this parameter is only
23417           valid before the first frame is encoded. Should the value be modified
23418           afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
23419           returned.
23420           https://bugzilla.gnome.org/show_bug.cgi?id=719529
23421
23422 2014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23423
23424         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23425         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23426         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23427         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23428         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
23429         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23430         * gst-libs/gst/vaapi/gstvaapitypes.h:
23431         * gst/vaapi/gstvaapiencode.c:
23432         * gst/vaapi/gstvaapiencode.h:
23433         * gst/vaapi/gstvaapiencode_h264.c:
23434         * gst/vaapi/gstvaapiencode_mpeg2.c:
23435           encoder: add rate control API.
23436           Add gst_vaapi_encoder_set_rate_control() interface to request a new
23437           rate control mode for encoding. Changing the rate control mode is
23438           only valid prior to encoding the very first frame. Afterwards, an
23439           error ("operation-failed") is issued.
23440           https://bugzilla.gnome.org/show_bug.cgi?id=719529
23441
23442 2014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23443
23444         * gst/vaapi/gstvaapiencode.c:
23445         * gst/vaapi/gstvaapiencode_h264.c:
23446         * gst/vaapi/gstvaapiencode_mpeg2.c:
23447           vaapiencode: fix indentation.
23448
23449 2014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23450
23451         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23452         * gst-libs/gst/vaapi/gstvaapiencoder.h:
23453         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23454         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
23455         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
23456         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23457         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
23458         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23459         * gst/vaapi/gstvaapiencode.h:
23460           encoder: fix indentation.
23461
23462 2014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23463
23464         * gst-libs/gst/vaapi/Makefile.am:
23465         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
23466         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
23467         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
23468           utils: add new MPEG-2 helper functions.
23469           Add various helper functions to convert profile, level, chroma formats
23470           from gstreamer-vaapi world and the MPEG-2 specification world.
23471
23472 2014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23473
23474         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23475           utils: h264: don't use fatal asserts.
23476           Replace g_assert() with a g_debug() so that to not make the program
23477           abort when an unsupported value is supplied.
23478
23479 2014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23480
23481         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23482         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23483           utils: h264: add helpers for profile and level string mappings.
23484           Add profile and level helper functions to convert to/from strings.
23485
23486 2014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23487
23488         * gst-libs/gst/vaapi/Makefile.am:
23489         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23490         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23491         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23492         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
23493           utils: h264: expose levels in public header.
23494           Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
23495           H.264 levels in there. The additional helper functions are meant
23496           to be private for now.
23497
23498 2014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23499
23500         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23501         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23502         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23503         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23504           codec: add helper macros to maintain object refcount.
23505           Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
23506           to avoid explicit casts to GstVaapiMiniObject in all caller sites.
23507
23508 2014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23509
23510         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23511         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23512           codec: re-indent decoder objects.
23513
23514 2014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23515
23516         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23517         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23518           codec: re-indent base codec objects.
23519
23520 2014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23521
23522         * gst/vaapi/gstvaapipluginbase.c:
23523           plugins: do not free debug category in finalize method.
23524           Fixes a crash when multiple vaapidecode elements are finalized since
23525           the debug category is created once in the class init method.
23526           This is a regression from git commit 7e58d60.
23527           https://bugzilla.gnome.org/show_bug.cgi?id=721390
23528           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23529
23530 2014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23531
23532         * gst-libs/gst/vaapi/glibcompat.h:
23533         * tests/simple-decoder.c:
23534           tests: simple-decoder: don't use deprecated g_thread_create().
23535           Use g_thread_try_new() instead of the deprecated g_thread_create()
23536           function. Provide compatibility glue for any GLib version < 2.31.2.
23537
23538 2014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23539
23540         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23541         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
23542         * gst-libs/gst/vaapi/gstvaapisurface.c:
23543         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
23544         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
23545         * gst/vaapi/gstvaapiencode.c:
23546           Fix printf()-like formats.
23547           Fix formts for various GST_DEBUG et al. invocations. More precisely,
23548           make size_t arguments use the %zu format specifier accordingly; force
23549           XID formats to be a 32-bit unsigned integer; and fix the format used
23550           for gst_vaapi_create_surface_with_format() error cases since we have
23551           been using strings nowadays.
23552
23553 2013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23554
23555         * gst-libs/gst/vaapi/video-format.c:
23556         * gst-libs/gst/vaapi/video-format.h:
23557           utils: format: drop unused helper functions.
23558           The following helper functions are no longer used, thus are removed:
23559           - gst_vaapi_video_format_from_structure()
23560           - gst_vaapi_video_format_from_caps()
23561           - gst_vaapi_video_format_to_caps()
23562
23563 2013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23564
23565         * gst-libs/gst/vaapi/video-format.c:
23566         * gst-libs/gst/vaapi/video-format.h:
23567           utils: re-indent GstVideoFormat related helpers.
23568
23569 2013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23570
23571         * gst/vaapi/gstvaapidownload.c:
23572           download: use GstVideoInfo facilities to build output caps.
23573           Use standard GstVideoInfo related functions to build the output caps,
23574           thus directly preserving additional fields as needed, instead of
23575           manually copying them over through gst_vaapi_append_surface_caps().
23576           Also ensure that the input caps are fixated first.
23577
23578 2013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23579
23580         * gst/vaapi/gstvaapidownload.c:
23581         * gst/vaapi/gstvaapipluginutil.c:
23582         * gst/vaapi/gstvaapipluginutil.h:
23583         * gst/vaapi/gstvaapiuploader.c:
23584           plugins: factor out construction of template caps.
23585           Add new helper functions to build video template caps.
23586           - gst_vaapi_video_format_new_template_caps():
23587           create GstCaps with size, frame rate and PAR to full range
23588           - gst_vaapi_video_format_new_template_caps_from_list():
23589           try to create a "simplified" list from the supplied formats
23590
23591 2013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23592
23593         * gst/vaapi/gstvaapipluginutil.c:
23594         * gst/vaapi/gstvaapipluginutil.h:
23595         * gst/vaapi/gstvaapipostproc.c:
23596           plugins: factor out construction of GValue from GstVideoFormat.
23597           Add new helper functions to build GValues from GstVideoFormat:
23598           - gst_vaapi_value_set_format():
23599           build a GValue from the supplied video format
23600           - gst_vaapi_value_set_format_list():
23601           build a GValue list from the supplied array of video formats
23602
23603 2013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23604
23605         * gst/vaapi/gstvaapipluginutil.c:
23606         * gst/vaapi/gstvaapipluginutil.h:
23607         * gst/vaapi/gstvaapivideocontext.c:
23608         * gst/vaapi/gstvaapivideocontext.h:
23609           plugins: re-indent common and video context creation utils.
23610
23611 2013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23612
23613         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23614         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23615         * gst/vaapi/gstvaapidecode.c:
23616         * tests/test-display.c:
23617           display: don't use GstCaps for decode or encode profiles list.
23618           Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
23619           more convenient APIs that return an array of GstVaapiProfile instead
23620           of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
23621
23622 2013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23623
23624         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23625         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23626         * gst/vaapi/gstvaapidownload.c:
23627         * gst/vaapi/gstvaapiuploader.c:
23628         * tests/test-display.c:
23629           display: don't use GstCaps for image or subpicture formats list.
23630           Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
23631           returned GstCaps, with more convenient APIs that return an array of
23632           GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
23633
23634 2013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23635
23636         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23637         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23638         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23639           display: allocate queried resources on-demand.
23640           Allocate the set of decoders or encoders on-demand, when they are
23641           queried. Likewise for VA display attributes, image and subpicture
23642           formats.
23643
23644 2013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23645
23646         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23647         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23648         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
23649         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
23650         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
23651         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
23652         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
23653         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
23654         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23655         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23656         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
23657         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23658         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23659         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
23660         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
23661         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
23662         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
23663           display: re-indent all GstVaapiDisplay related source code.
23664
23665 2013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23666
23667         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23668         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23669           utils: add helper functions to get codec or profile name.
23670
23671 2013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23672
23673         * gst/vaapi/gstvaapipostproc.c:
23674         * gst/vaapi/gstvaapipostproc.h:
23675         * gst/vaapi/gstvaapiuploader.c:
23676           plugins: fix permissions for certain files.
23677           Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
23678           files.
23679
23680 2013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23681
23682         * gst/vaapi/gstvaapivideometa_texture.c:
23683           plugins: implement GLTextureUploadMeta user data copy.
23684           Makes the copies of a buffer reference their own GLTextureUploadMeta
23685           user data and prevent the original buffer accessing already freed
23686           memory if its copies has been released and freed.
23687           https://bugzilla.gnome.org/show_bug.cgi?id=720336
23688           [Propagate the original meta texture to the copy too]
23689           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23690
23691 2013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23692
23693         * gst/vaapi/gstvaapiencode.c:
23694         * gst/vaapi/gstvaapiencode.h:
23695         * gst/vaapi/gstvaapipluginbase.c:
23696         * gst/vaapi/gstvaapipluginbase.h:
23697         * gst/vaapi/gstvaapipostproc.c:
23698         * gst/vaapi/gstvaapipostproc.h:
23699         * gst/vaapi/gstvaapisink.c:
23700         * gst/vaapi/gstvaapisink.h:
23701           plugins: factor out support for raw YUV buffers on sink pads.
23702           Factor out propose_allocation() hooks, creation of video buffer pool
23703           for the sink pad, conversion from raw YUV buffers to VA surface backed
23704           buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
23705           with the new GstVaapiPluginBase abilities.
23706
23707 2013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23708
23709         * gst-libs/gst/vaapi/gstcompat.h:
23710         * gst/vaapi/gstvaapidecode.c:
23711         * gst/vaapi/gstvaapidecode.h:
23712         * gst/vaapi/gstvaapidownload.c:
23713         * gst/vaapi/gstvaapipluginbase.c:
23714         * gst/vaapi/gstvaapipluginbase.h:
23715         * gst/vaapi/gstvaapipostproc.c:
23716         * gst/vaapi/gstvaapipostproc.h:
23717         * gst/vaapi/gstvaapisink.c:
23718         * gst/vaapi/gstvaapiupload.c:
23719           plugins: factor out pad caps.
23720
23721 2013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23722
23723         * gst/vaapi/gstvaapidecode.c:
23724         * gst/vaapi/gstvaapidownload.c:
23725         * gst/vaapi/gstvaapiencode.c:
23726         * gst/vaapi/gstvaapipluginbase.c:
23727         * gst/vaapi/gstvaapipostproc.c:
23728         * gst/vaapi/gstvaapisink.c:
23729         * gst/vaapi/gstvaapiupload.c:
23730           plugins: factor out video context sharing code.
23731
23732 2013-12-13 13:24:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23733
23734         * gst/vaapi/gstvaapidecode.c:
23735         * gst/vaapi/gstvaapidownload.c:
23736         * gst/vaapi/gstvaapiencode.c:
23737         * gst/vaapi/gstvaapipluginbase.c:
23738         * gst/vaapi/gstvaapipluginbase.h:
23739         * gst/vaapi/gstvaapipostproc.c:
23740         * gst/vaapi/gstvaapisink.c:
23741         * gst/vaapi/gstvaapiupload.c:
23742           plugins: factor out GstImplementsInterface.
23743
23744 2013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23745
23746         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23747         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23748         * gst/vaapi/gstvaapipluginbase.c:
23749         * gst/vaapi/gstvaapipluginutil.c:
23750           plugins: check type of display obtained from neighbours.
23751           Fix display creation code to check that any display obtained from a
23752           neighbour actually has the type we expect. Note: if display type is
23753           set to "any", we can then accept any VA display type.
23754
23755 2013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23756
23757         * gst/vaapi/gstvaapidecode.c:
23758         * gst/vaapi/gstvaapidownload.c:
23759         * gst/vaapi/gstvaapiencode.c:
23760         * gst/vaapi/gstvaapipluginbase.c:
23761         * gst/vaapi/gstvaapipluginbase.h:
23762         * gst/vaapi/gstvaapipluginutil.c:
23763         * gst/vaapi/gstvaapipluginutil.h:
23764         * gst/vaapi/gstvaapipostproc.c:
23765         * gst/vaapi/gstvaapisink.c:
23766         * gst/vaapi/gstvaapisink.h:
23767         * gst/vaapi/gstvaapiupload.c:
23768           plugins: factor out display creation process.
23769           Move common VA display creation code to GstVaapiPluginBase, with the
23770           default display type remaining "any". Also add a "display-changed"
23771           hook so that subclasses could perform additional tasks when/if the
23772           VA display changed, due to a new display type request for instance.
23773           All plug-ins are updated to cope with the new internal APIs.
23774
23775 2013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23776
23777         * gst/vaapi/Makefile.am:
23778         * gst/vaapi/gstvaapidecode.c:
23779         * gst/vaapi/gstvaapidecode.h:
23780         * gst/vaapi/gstvaapidownload.c:
23781         * gst/vaapi/gstvaapidownload.h:
23782         * gst/vaapi/gstvaapiencode.c:
23783         * gst/vaapi/gstvaapiencode.h:
23784         * gst/vaapi/gstvaapipluginbase.c:
23785         * gst/vaapi/gstvaapipluginbase.h:
23786         * gst/vaapi/gstvaapipostproc.c:
23787         * gst/vaapi/gstvaapipostproc.h:
23788         * gst/vaapi/gstvaapisink.c:
23789         * gst/vaapi/gstvaapisink.h:
23790         * gst/vaapi/gstvaapiupload.c:
23791         * gst/vaapi/gstvaapiupload.h:
23792           plugins: add new base object, store display in there.
23793           Introduce a new GstVaapiPluginBase object that will contain all common
23794           data structures and perform all common tasks. First step is to have a
23795           single place to hold VA displays.
23796           While we are at it, also make sure to store and subsequently release
23797           the appropriate debug category for the subclasses.
23798
23799 2013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23800
23801         * gst-libs/gst/vaapi/gstvaapiobject.h:
23802         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
23803         * gst/vaapi/gstvaapivideometa_texture.c:
23804         * gst/vaapi/gstvaapivideometa_texture.h:
23805           plugins: fix GLTextureUploadMeta to work with different texture ids.
23806           The GLTextureUploadMeta implementation assumed that for each upload()
23807           sequence, the supplied texture id is always the same as the one that
23808           was previously cached into the underlying GstVaapiTexture. Cope with
23809           any texture id change the expense to recreate the underlying VA/GLX
23810           resources.
23811           https://bugzilla.gnome.org/show_bug.cgi?id=719643
23812
23813 2013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23814
23815         * gst/vaapi/gstvaapidecode.c:
23816         * gst/vaapi/gstvaapivideobufferpool.c:
23817         * gst/vaapi/gstvaapivideometa_texture.c:
23818           plugins: allow builds without GLX enabled for GStreamer 1.2.
23819           Don't try to build GLTextureUploadMeta related code if GLX is not
23820           enabled during GStreamer >= 1.2 builds.
23821
23822 2013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23823
23824         * gst/vaapi/gstvaapidecode.c:
23825         * gst/vaapi/gstvaapivideobufferpool.c:
23826         * gst/vaapi/gstvaapivideobufferpool.h:
23827         * gst/vaapi/gstvaapivideometa_texture.c:
23828         * gst/vaapi/gstvaapivideometa_texture.h:
23829           plugins: request GLTextureUpload meta on buffers in the buffer pool.
23830           Requesting the GLTextureUpload meta on buffers in the bufferpool
23831           prevents such metas from being de-allocated when buffers are released
23832           in the sink.
23833           This is particulary useful in terms of performance when using the
23834           GLTextureUploadMeta API since the GstVaapiTexture associated with
23835           the target texture is stored in the meta.
23836           https://bugzilla.gnome.org/show_bug.cgi?id=712558
23837           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23838
23839 2013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23840
23841         * gst/vaapi/gstvaapivideometa_texture.c:
23842           plugins: robustify GstVideoGLTextureUploadMeta implementation.
23843           Make GstVideoGLTextureUploadMeta::upload() implementation more robust
23844           when the GstVaapiTexture associated with the supplied texture id could
23845           not be created.
23846
23847 2013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23848
23849         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23850           h264: improve robustness when packets are missing.
23851           Improve robustness when some expected packets where not received yet
23852           or that were not correctly decoded. For example, don't try to decode
23853           a picture if there was no valid frame headers parsed so far.
23854           https://bugs.freedesktop.org/show_bug.cgi?id=57902
23855
23856 2013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23857
23858         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23859           decoder: h264: fix decoding of BA3_SVA_C.264.
23860           Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
23861           extended profile specifications. However, the SPS header has the
23862           constraint_set1_flag syntax element set to 1. This means that, if
23863           a Main profile compliant decoder is available, then it should be
23864           able to decode this stream.
23865           This changes makes it possible to fall-back from Extended profile
23866           to Main profile if constraint_set1_flag is set to 1.
23867           https://bugzilla.gnome.org/show_bug.cgi?id=720190
23868
23869 2013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23870
23871         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23872         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23873           utils: h264: add more profiles.
23874           Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
23875           profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
23876           multiview profiles (H.10.1.1, H.10.1.2).
23877           Document "Constrained Baseline" and "High 10" profiles.
23878
23879 2013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23880
23881         * ext/codecparsers:
23882           codecparsers: update to gst-vaapi-branch commit e7d0e18.
23883           e7d0e18 h264: complete set of NAL unit types
23884
23885 2013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
23886
23887         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23888         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23889           decoder: h264: add support for constrained baseline profile.
23890           Recognize streams marked as conforming to the "Constrained Baseline
23891           Profile". If VA driver supports that as is, fine. Otherwise, fallback
23892           to baseline, main or high profile.
23893           Constrained Baseline Profile conveys coding tools that are common
23894           to baseline profile and main profile.
23895           https://bugzilla.gnome.org/show_bug.cgi?id=719947
23896           [Added fallbacks to main and high profiles]
23897           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23898
23899 2013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23900
23901         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23902           decoder: h264: fix decoding of scaling lists.
23903           The GStreamer codecparser layer now parses the scaling lists in zigzag
23904           scan order, as expected, so that to match the original bitstream layout
23905           and specification. However, further convert the scaling lists into
23906           raster scan order to fit the existing practice in most VA drivers.
23907           https://bugzilla.gnome.org/show_bug.cgi?id=706406
23908
23909 2013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23910
23911         * ext/codecparsers:
23912           codecparsers: update to gst-vaapi-branch commit 177c73b.
23913           a7e3255 add H.265 (HEVC) bitstream parser
23914           177c73b h264: fix picture level scaling lists derivation (rule B)
23915           14733f1 h264: fix parsing of VCL HRD parameters
23916           59a0b47 h264: store quantization matrices in zig-zag order
23917           ffb6e26 h264: add helpers to convert quantization matrices
23918           c78a504 mpeg2: also initialize debug category in parse_sequence_header()
23919           719d1b0 mpeg2: turn internal consistency check into a g_assert()
23920           5241d8e all: remove some unused functions
23921           18eb312 all: fix for GST_DISABLE_GST_DEBUG
23922           963c04a all: make warnings more meaningful
23923
23924 2013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23925
23926         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23927         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23928         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
23929           utils: add helpers for H.264 levels.
23930           - gst_vaapi_utils_h264_get_level():
23931           Returns GstVaapiLevelH264 from H.264 level_idc value
23932           - gst_vaapi_utils_h264_get_level_idc():
23933           Returns H.264 level_idc value from GstVaapiLevelH264
23934           - gst_vaapi_utils_h264_get_level_limits():
23935           Returns level limits as specified in Table A-1 of the H.264 standard
23936           - gst_vaapi_utils_h264_get_level_limits_table():
23937           Returns the Table A-1 specification
23938
23939 2013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23940
23941         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23942         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23943         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
23944           utils: add new H.264 profiles.
23945           Add "Constrained Baseline Profile" and "High 10 Profile" definitions
23946           and helper functiions.
23947
23948 2013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23949
23950           utils: add new H.264 helper functions.
23951           * Profiles:
23952           - gst_vaapi_utils_h264_get_profile():
23953           Returns GstVaapiProfile from H.264 profile_idc value
23954           - gst_vaapi_utils_h264_get_profile_idc():
23955           Returns H.264 profile_idc value from GstVaapiProfile
23956           * Chroma formats:
23957           - gst_vaapi_utils_h264_get_chroma_type():
23958           Returns GstVaapiChromaType from H.264 chroma_format_idc value
23959           - gst_vaapi_utils_h264_get_chroma_format_idc():
23960           Returns H.264 chroma_format_idc value from GstVaapiChromaType
23961
23962 2013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
23963
23964         * gst-libs/gst/base/Makefile.am:
23965         * gst-libs/gst/vaapi/Makefile.am:
23966           Fix missing files in distribution tarball.
23967           https://bugzilla.gnome.org/show_bug.cgi?id=719776
23968           [Additional fixes and clean-ups]
23969           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23970
23971 2013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23972
23973         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23974         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23975           encoder: fix computation of max coded buffer size (again).
23976           The previous fix was only valid to express the maximum size of the
23977           macroblock layer, i.e. without any headers. Now, also account for
23978           the slice headers and top picture header, but also any other header
23979           we might stuff into the VA coded buffer, e.g. sequence headers.
23980
23981 2013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23982
23983         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23984         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23985         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23986           encoder: fix computation of max coded buffer size.
23987           Fix coded buffer size for each codec. A generic issue was that the
23988           number of macroblocks was incorrectly computed. The second issue was
23989           specific to MPEG-2 were the max number of bits per macroblock, and
23990           as defined by the standard, was incorrectly mapped to the (lower)
23991           H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
23992
23993 2013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23994
23995         * gst-libs/gst/vaapi/gstvaapiencoder.c:
23996         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
23997         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
23998         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
23999           encoder: simplify VA context initialization process.
24000           Change get_context_info() into a set_context_info() function that
24001           initializes common defaults into the base class, thus allowing the
24002           subclasses to specialize the context info further on.
24003           The set_context_info() hook is also the location where additional
24004           context specific data could be initialized. At this point, we are
24005           guaranteed to have valid video resolution size and framerate. i.e.
24006           gst_vaapi_encoder_set_format() was called beforehand.
24007
24008 2013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
24009
24010         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
24011           encoder: fix mpeg2 compilation error.
24012           https://bugzilla.gnome.org/show_bug.cgi?id=719746
24013           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24014
24015 2013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24016
24017         * gst-libs/gst/vaapi/gstvaapiencoder.c:
24018         * gst-libs/gst/vaapi/gstvaapiencoder.h:
24019         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
24020         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
24021         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
24022         * gst/vaapi/gstvaapiencode.c:
24023           encoder: clean-ups and document public APIs.
24024           Clean public APIs up so that to better align with the decoder APIs.
24025           Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
24026           return the VA coded buffer proxy. Also provide useful documentation
24027           for the public APIs.
24028
24029 2013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24030
24031         * gst-libs/gst/vaapi/gstvaapiencoder.c:
24032         * gst-libs/gst/vaapi/gstvaapiencoder.h:
24033         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
24034           encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
24035           Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
24036           allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
24037           through GstVaapiCodedBufferProxy user-data facility.
24038           Besides, use a GAsyncQueue to maintain a thread-safe queue object of
24039           coded buffers.
24040           Partial fix for the following report:
24041           https://bugzilla.gnome.org/show_bug.cgi?id=719530
24042
24043 2013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24044
24045         * gst-libs/gst/vaapi/gstvaapiencoder.c:
24046         * gst-libs/gst/vaapi/gstvaapiencoder.h:
24047         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
24048         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
24049         * gst/vaapi/gstvaapiencode.c:
24050           encoder: refactor status codes.
24051           Drop obsolete or unused status codes. Align some status codes with the
24052           decoder counterparts.
24053
24054 2013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24055
24056         * gst-libs/gst/vaapi/gstvaapiencoder.c:
24057         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
24058         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
24059         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
24060         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
24061         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
24062           encoder: fix subclassing process.
24063           Fix the GstVaapiEncoderClass parent class type. Make sure to validate
24064           subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
24065           thus avoiding useless run-time checks. Also simplify the subclass
24066           initialization process to be less error prone.
24067
24068 2013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24069
24070           encoder: rework GstVaapiCodedBuffer and related proxy.
24071           Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
24072           public and private interfaces. Besides, the map/unmap APIs should not
24073           be exposed as is but appropriate accessors should be provided instead.
24074           * GstVaapiCodedBuffer: VA coded buffer abstraction
24075           - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
24076           - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
24077           * GstVaapiCodedBufferPool: pool of VA coded buffer objects
24078           - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
24079           the specified max size, and bound to the supplied encoder
24080           * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
24081           - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
24082           - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
24083           - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
24084           Rationale: more optimized transfer functions might be provided in the
24085           future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
24086           https://bugzilla.gnome.org/show_bug.cgi?id=719775
24087
24088 2013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24089
24090         * gst/vaapi/gstvaapidecode.c:
24091         * gst/vaapi/gstvaapiencode.c:
24092         * gst/vaapi/gstvaapipostproc.c:
24093         * gst/vaapi/gstvaapisink.c:
24094           plugins: fix reference leaks of VA display objects.
24095           Fix GstElement::set_context() implementation for all plug-in elements
24096           to avoid leaking an extra reference to the VA display, thus preventing
24097           correct cleanup of VA resources in GStreamer 1.2 builds.
24098
24099 2013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24100
24101         * gst/vaapi/gstvaapipluginutil.c:
24102         * gst/vaapi/gstvaapivideocontext.c:
24103           plugins: simplify gst_vaapi_ensure_display().
24104           Return earlier if the creation of a VA display failed. Likewise, simplify
24105           gst_vaapi_video_context_propagate() now that we are guaranteed to have a
24106           valid VA display.
24107
24108 2013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24109
24110         * gst/vaapi/gstvaapivideomemory.c:
24111           plugins: fix memory leaks through GstVideoMeta maps.
24112           When GstVideoMeta maps were used, the supporting functions incorrectly
24113           used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
24114           always increasing the associated GstMemory reference count and giving
24115           zero chance to actually release that, and subsequently the VA display.
24116
24117 2013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24118
24119         * gst-libs/gst/vaapi/gstvaapifilter.c:
24120         * gst/vaapi/gstvaapiencode_h264.c:
24121         * gst/vaapi/gstvaapiencode_mpeg2.c:
24122         * gst/vaapi/gstvaapipostproc.c:
24123         * gst/vaapi/gstvaapisink.c:
24124         * gst/vaapi/gstvaapiuploader.c:
24125           plugins: use G_PARAM_STATIC_STRINGS.
24126           This avoids a few string copies during initialization.
24127
24128 2013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24129
24130         * gst/vaapi/gstvaapivideometa.c:
24131           plugins: simplify VA video meta to only reference surface proxies.
24132           Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
24133           now allocated from a surface pool. This also means that the local
24134           reference to the VA surface is also gone, as it could be extracted
24135           from the associated surface proxy.
24136
24137 2013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24138
24139         * gst/vaapi/gstvaapivideobuffer.c:
24140         * gst/vaapi/gstvaapivideobuffer.h:
24141         * gst/vaapi/gstvaapivideometa.c:
24142         * gst/vaapi/gstvaapivideometa.h:
24143           plugins: drop obsolete functions.
24144           Drop the following functions that are not longer used:
24145           - gst_vaapi_video_buffer_new_with_surface()
24146           - gst_vaapi_video_meta_new_with_surface()
24147           - gst_vaapi_video_meta_set_surface()
24148           - gst_vaapi_video_meta_set_surface_from_pool()
24149
24150 2013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24151
24152         * gst/vaapi/gstvaapivideometa.c:
24153           plugins: allow VA video meta to be allocated from surface proxy pools.
24154           Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
24155           from surface pools instead of plain VA surfaces. This is to simplify
24156           allocations now that surface proxies are created from a surface pool.
24157
24158 2013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24159
24160         * docs/reference/libs/libs-sections.txt:
24161         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24162         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24163         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24164           surfaceproxy: add copy function.
24165           Add gst_vaapi_surface_proxy_copy() function that creates a new surface
24166           proxy with the same information from the parent proxy, except that the
24167           user-defined destroy notify function is not copied over.
24168           The underlying VA surface is pushed back to the video pool only when
24169           the last reference to the parent surface proxy is released.
24170
24171 2013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24172
24173         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
24174         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
24175         * gst/vaapi/gstvaapiencode.c:
24176           vaapiencode: optimize _handle_frame() to avoid extra allocation.
24177           Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
24178           and in particular the GstVaapiEncObjUserData object. i.e. directly use
24179           the VA surface proxy from the source buffer. This also makes the user
24180           data attached to the GstVideoCodecFrame more consistent between both
24181           the decoder and encoder plug-in elements.
24182
24183 2013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24184
24185         * gst/vaapi/gstvaapiencode.c:
24186           vaapiencode: fix memory leaks in _push_frame() on error.
24187           Simplify gst_vaapiencode_push_frame(), while also removing the call
24188           to gst_video_encoder_negotiate() since this is implicit in _finish()
24189           if caps changed. Also fixed memory leaks that occured on error.
24190
24191 2013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24192
24193         * gst/vaapi/gstvaapiencode.c:
24194         * gst/vaapi/gstvaapiencode.h:
24195         * gst/vaapi/gstvaapiencode_h264.c:
24196         * gst/vaapi/gstvaapiencode_h264.h:
24197         * gst/vaapi/gstvaapiencode_mpeg2.c:
24198           vaapiencode: additional clean-ups.
24199           Constify pointers wherever possible. Drop unused variables, and use
24200           consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
24201           to correctly report errors, especially when in-place conversion from
24202           bytestream to avcC format failed.
24203
24204 2013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24205
24206         * gst/vaapi/gstvaapiencode.c:
24207         * gst/vaapi/gstvaapiencode.h:
24208         * gst/vaapi/gstvaapiencode_h264.c:
24209         * gst/vaapi/gstvaapiencode_h264.h:
24210         * gst/vaapi/gstvaapiencode_mpeg2.c:
24211         * gst/vaapi/gstvaapiencode_mpeg2.h:
24212           vaapiencode: move common properties to base class.
24213           Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
24214           base class. The actual range of supported rate control modes is currently
24215           implemented as a plug-in element hook. This ought to be determined from
24216           the GstVaapiEncoder object instead, i.e. from libgstvaapi.
24217
24218 2013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24219
24220         * gst/vaapi/gstvaapiencode_h264.c:
24221         * gst/vaapi/gstvaapiencode_mpeg2.c:
24222           vaapiencode: fix plugin description and debug name.
24223           Align the plug-in debug category to its actual name. i.e. enable debug
24224           logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
24225           the plug-in element description to make it more consistent with other
24226           VA-API plug-ins.
24227
24228 2013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24229
24230         * configure.ac:
24231         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
24232         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
24233         * gst-libs/gst/video/Makefile.am:
24234         * gst/vaapi/gstvaapiencode.c:
24235         * gst/vaapi/gstvaapiencode.h:
24236         * gst/vaapi/gstvaapiencode_h264.c:
24237         * gst/vaapi/gstvaapiencode_mpeg2.c:
24238           vaapiencode: add initial support for GStreamer 0.10.
24239
24240 2013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24241
24242         * gst-libs/gst/vaapi/gstcompat.h:
24243           libs: add more GstBuffer compat glue for GStreamer 0.10.
24244           Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
24245           Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
24246           notify function.
24247
24248 2013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24249
24250         * configure.ac:
24251         * gst-libs/gst/video/Makefile.am:
24252           libs: always use built-in videoutils for GStreamer 0.10.
24253           GStreamer 0.10.36 is the latest and ultimate version to be released
24254           from the GStreamer 0.10 branch. i.e. no further releases are to be
24255           made. So, we can safely enable the built-in videoutils replacement
24256           now that they are in sync with the 0.10 branch.
24257
24258 2013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24259
24260         * ext/videoutils:
24261           videoutils: update to master commit d4a15a5.
24262           d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
24263           86096cc videodecoder: minor cosmetic changes to align a bit more with master
24264           b4b8b52 videodecoder: allow parse function to not use all data on adapter
24265           2145495 videodecoder: warn if frame list gets long
24266           36c3753 videodecoder: Also use the object lock to protect the output_state
24267           518c93d videodecoder: fix seeking again
24268           185fb63 video: Correct usage of the base class stream lock
24269           170e944 videodecoder: Expose _negotiate function
24270
24271 2013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
24272
24273         * configure.ac:
24274         * gst-libs/gst/vaapi/Makefile.am:
24275         * tests/Makefile.am:
24276           Fix build with GStreamer >= 1.3.
24277           http://bugzilla.gnome.org/show_bug.cgi?id=715183
24278           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24279
24280 2013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24281
24282         * configure.ac:
24283           configure: disable encoders with GStreamer 0.10.
24284           Don't try to build video encoders for GStreamer 0.10. Support code is
24285           not there yet, and probably will never for such an ancient version.
24286
24287 2013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24288
24289         * gst/vaapi/gstvaapiencode.c:
24290           vaapiencode: fix error handling while allocating output buffers.
24291           Fix default GstVideoEncoder::allocate_buffer() implementation to properly
24292           unmap the coded buffer prior to returning an error.
24293
24294 2013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24295
24296         * gst/vaapi/gstvaapiencode.c:
24297           vaapiencode: fix error handling in _finish() hook.
24298           Fix GstVideoEncoder::finish() implementation to really return possible
24299           errors instead of GST_FLOW_OK. That is, fix check for timeout status.
24300
24301 2013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24302
24303         * gst/vaapi/gstvaapiencode.c:
24304         * gst/vaapi/gstvaapiencode.h:
24305         * gst/vaapi/gstvaapiencode_h264.c:
24306         * gst/vaapi/gstvaapiencode_h264.h:
24307         * gst/vaapi/gstvaapiencode_mpeg2.c:
24308         * gst/vaapi/gstvaapiencode_mpeg2.h:
24309           vaapiencode: minor clean-ups.
24310           Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
24311           the GObject type system. We are guaranteed to only deal with the same
24312           plug-in element object.
24313
24314 2013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24315
24316         * gst/vaapi/gstvaapiencode.c:
24317         * gst/vaapi/gstvaapiencode_h264.c:
24318         * gst/vaapi/gstvaapiencode_mpeg2.c:
24319           vaapiencode: fix support for raw YUV sink buffers.
24320           Allow vaapiencode plug-in elements to encode from raw YUV buffers.
24321           The most efficient way to do so is to let the vaapiencode elements
24322           allocate a buffer pool, and subsequently buffers from it. This means
24323           that upstream elements are expected to honour downstream pools.
24324           If upstream elements insist on providing their own allocated buffers
24325           to the vaapiencode elements, then it possibly would be more efficient
24326           to insert a vaapipostproc element before the vaapiencode element.
24327           This is because vaapipostproc currently has better support than other
24328           elements for "foreign" raw YUV buffers.
24329
24330 2013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24331
24332         * gst/vaapi/gstvaapiencode.c:
24333           vaapiencode: fix support for GStreamer 1.2.
24334
24335 2013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
24336
24337         * gst/vaapi/gstvaapiencode.c:
24338         * gst/vaapi/gstvaapiencode_h264.c:
24339         * gst/vaapi/gstvaapiencode_mpeg2.c:
24340           vaapiencode: initial port to GStreamer 1.2.
24341           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24342
24343 2013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
24344
24345         * gst/vaapi/Makefile.am:
24346         * gst/vaapi/gstvaapi.c:
24347         * gst/vaapi/gstvaapiencode_mpeg2.c:
24348         * gst/vaapi/gstvaapiencode_mpeg2.h:
24349           plugins: add mpeg2 encoder element.
24350           Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
24351           is called "vaapiencode_mpeg2".
24352           Valid properties:
24353           - rate-control: rate control mode (default: cqp - constant QP)
24354           - bitrate: desired bitrate in kbps (default: auto-calculated)
24355           - key-period: maximal distance between two key frames (default: 30)
24356           - max-bframes: number of B-frames between I and P (default: 2)
24357           - quantizer: constant quantizer (default: 8)
24358           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24359
24360 2013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
24361
24362         * gst/vaapi/Makefile.am:
24363         * gst/vaapi/gstvaapi.c:
24364         * gst/vaapi/gstvaapiencode_h264.c:
24365         * gst/vaapi/gstvaapiencode_h264.h:
24366           plugins: add h264 encoder element.
24367           Add GstVaapiEncodeH264 element object. The actual plug-in element
24368           is called "vaapiencode_h264".
24369           Valid properties:
24370           - rate-control: rate control mode (default: none)
24371           - bitrate: desired bitrate in kbps (default: auto-calculated)
24372           - key-period: maximal distance between two key frames (default: 30)
24373           - num-slices: number of slices per frame (default: 1)
24374           - max-bframes: number of B-frames between I and P (default: 0)
24375           - min-qp: minimal quantizer (default: 1)
24376           - init-qp: initial quantizer (default: 26)
24377           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24378
24379 2013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
24380
24381         * gst/vaapi/Makefile.am:
24382         * gst/vaapi/gstvaapiencode.c:
24383         * gst/vaapi/gstvaapiencode.h:
24384           plugins: add base encoder element.
24385           vaapiencode element is based on GstVideoEncoder APIs.
24386           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24387
24388 2013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
24389
24390         * gst-libs/gst/vaapi/Makefile.am:
24391         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
24392         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
24393         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
24394           encoder: add mpeg2 encoder.
24395           Add initial support for MPEG-2 encoding. I/P/B frames are supported.
24396           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24397
24398 2013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
24399
24400         * gst-libs/gst/vaapi/Makefile.am:
24401         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
24402         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
24403         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
24404           encoder: add h264 encoder.
24405           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24406
24407 2013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
24408
24409         * configure.ac:
24410         * gst-libs/gst/vaapi/Makefile.am:
24411         * gst-libs/gst/vaapi/gstvaapiencoder.c:
24412         * gst-libs/gst/vaapi/gstvaapiencoder.h:
24413         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
24414         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
24415         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
24416           Add initial infrastructure for video encoding.
24417           Add initial API for video encoding: only basic interfaces and small
24418           encoder objects are implemented so far.
24419           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24420
24421 2013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
24422
24423         * configure.ac:
24424         * gst-libs/gst/Makefile.am:
24425         * gst-libs/gst/base/Makefile.am:
24426         * gst-libs/gst/base/gstbitwriter.c:
24427         * gst-libs/gst/base/gstbitwriter.h:
24428         * gst-libs/gst/vaapi/Makefile.am:
24429           libs: add generic bitstream writer.
24430           GstBitWriter provides a bit writer that can write any number of bits
24431           to a pre-allocated memory buffer. Helper functions are also provided
24432           to write any number of bits from 8, 16, 32 and 64 bit variables.
24433           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24434
24435 2013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
24436
24437         * gst-libs/gst/vaapi/gstvaapicontext.c:
24438         * gst-libs/gst/vaapi/gstvaapicontext.h:
24439           libs: add support for rate-control to GstVaapiContext.
24440           Extend GstVaapiContextInfo structure to hold the desired rate control
24441           mode for encoding purposes. For decoding purposes, this field is not
24442           used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
24443           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24444
24445 2013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
24446
24447         * gst-libs/gst/vaapi/gstvaapitypes.h:
24448         * gst-libs/gst/vaapi/gstvaapiutils.c:
24449         * gst-libs/gst/vaapi/gstvaapiutils.h:
24450         * gst-libs/gst/vaapi/gstvaapivalue.c:
24451         * gst-libs/gst/vaapi/gstvaapivalue.h:
24452           libs: add rate-control attributes.
24453           Add GstVaapiRateControl types and GType values in view to supporting
24454           rate controls for encoding. This is meant to be used for instance in
24455           GstVaapiContext.
24456           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24457
24458 2013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24459
24460         * configure.ac:
24461           Bump version for development.
24462
24463 2013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24464
24465         * gst/vaapi/Makefile.am:
24466           build: fix for Wayland headers not in standard include dirs.
24467           Fix build when Wayland headers don't live in plain system include dirs
24468           like /usr/include but rather in /usr/include/wayland for instance.
24469           Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
24470           https://bugzilla.gnome.org/show_bug.cgi?id=712282
24471
24472 2013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
24473
24474         * gst-libs/gst/vaapi/Makefile.am:
24475           build: link libgstvaapi-wayland against videoutils.
24476           This library is using symbols that don't exist in GStreamer 0.10 so
24477           it needs to link to built-in implementation (libgstvaapi-videoutils).
24478           https://bugzilla.gnome.org/show_bug.cgi?id=712282
24479           Signed-off-by: Ross Burton <ross.burton@intel.com>
24480           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24481
24482 2013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24483
24484         * gst-libs/gst/vaapi/gstvaapifilter.c:
24485         * gst/vaapi/gstvaapipostproc.c:
24486           vaapostproc: fix memory leaks.
24487           Destroy VPP output surface pool on exit. Also avoid a possible crash
24488           in double-free situation caused by insufficiently reference counted
24489           array of formats returned during initialization.
24490
24491 2013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24492
24493         * gst/vaapi/gstvaapipostproc.c:
24494         * gst/vaapi/gstvaapipostproc.h:
24495           vaapipostproc: fix and optimize advanced deinterlacing mode.
24496           Fix advanced deinterlacing modes with VPP to track only up to 2 past
24497           reference buffers. This used to be 3 past reference buffers but this
24498           doesn't fit with the existing decode pipeline that only has 4 extra
24499           scratch surfaces.
24500           Also optimize references tracking to be only enabled when needed, i.e.
24501           when advanced deinterlacing mode is used. This means that we don't
24502           need to track past references for basic bob or weave deinterlacing.
24503
24504 2013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24505
24506         * gst/vaapi/gstvaapipostproc.c:
24507           vaapipostproc: fix "mixed" mode deinterlacing.
24508           In "mixed" interlaced streams, the buffer contains additional flags that
24509           specify whether the frame contained herein is interlaced or not. This means
24510           that we can alternatively get progressive or interlaced frames. Make sure
24511           to disable deinterlacing at the VPP level when the source buffer is no longer
24512           interlaced.
24513
24514 2013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24515
24516         * gst/vaapi/gstvaapipostproc.c:
24517           vaapipostproc: fix memory leaks with advanced deinterlacing.
24518           Fix memory leaks with advanced deinterlacing, i.e. when we keep track
24519           of past buffers. Completely reset the deinterlace state, thus destroying
24520           any buffer currently held, on _start(), _stop() and _destroy().
24521
24522 2013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24523
24524         * README:
24525           README: updates.
24526           - GStreamer 1.2 APIs are supported ;
24527           - Video Processing (VA/VPP) features.
24528
24529 2013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24530
24531         * README:
24532           README: update for GStreamer >= 1.0.x and VPP features.
24533
24534 2013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24535
24536         * gst-libs/gst/vaapi/glibcompat.h:
24537         * gst-libs/gst/vaapi/gstvaapicontext.h:
24538         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24539         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
24540         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24541         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24542         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24543         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24544         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24545         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24546         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24547         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24548         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24549         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24550         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24551         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24552         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24553         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24554         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24555         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24556         * gst-libs/gst/vaapi/gstvaapiimage.c:
24557         * gst-libs/gst/vaapi/gstvaapiimage.h:
24558         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24559         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24560         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
24561         * gst-libs/gst/vaapi/gstvaapiobject.c:
24562         * gst-libs/gst/vaapi/gstvaapiobject.h:
24563         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24564         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24565         * gst-libs/gst/vaapi/gstvaapisurface.h:
24566         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24567         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24568         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24569         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24570         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24571         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24572         * gst-libs/gst/vaapi/gstvaapitexture.c:
24573         * gst-libs/gst/vaapi/gstvaapitexture.h:
24574         * gst-libs/gst/vaapi/gstvaapitypes.h:
24575         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24576         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24577         * gst-libs/gst/vaapi/gstvaapivalue.c:
24578         * gst-libs/gst/vaapi/gstvaapivalue.h:
24579         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24580         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24581         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24582         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24583         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24584         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24585         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24586         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24587         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24588         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
24589         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24590         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24591         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24592         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
24593         * gst/vaapi/gstvaapi.c:
24594         * gst/vaapi/gstvaapidecode.h:
24595         * gst/vaapi/gstvaapidownload.h:
24596         * gst/vaapi/gstvaapipluginutil.c:
24597         * gst/vaapi/gstvaapipluginutil.h:
24598         * gst/vaapi/gstvaapipostproc.h:
24599         * gst/vaapi/gstvaapisink.h:
24600         * gst/vaapi/gstvaapivideoconverter_glx.h:
24601         * tests/image.c:
24602         * tests/image.h:
24603         * tests/output.h:
24604         * tests/test-display.c:
24605         * tests/test-jpeg.c:
24606         * tests/test-jpeg.h:
24607         * tests/test-mpeg4.c:
24608         * tests/test-mpeg4.h:
24609         * tests/test-surfaces.c:
24610         * tests/test-windows.c:
24611           legal: update copyright notice dates.
24612
24613 2013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24614
24615         * gst-libs/gst/vaapi/glibcompat.h:
24616         * gst-libs/gst/vaapi/gstcompat.h:
24617         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24618         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24619         * gst-libs/gst/vaapi/gstvaapicompat.h:
24620         * gst-libs/gst/vaapi/gstvaapicontext.c:
24621         * gst-libs/gst/vaapi/gstvaapicontext.h:
24622         * gst-libs/gst/vaapi/gstvaapidebug.h:
24623         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24624         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24625         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
24626         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
24627         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24628         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24629         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24630         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
24631         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24632         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24633         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24634         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24635         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24636         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24637         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24638         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
24639         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
24640         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24641         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24642         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24643         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24644         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24645         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24646         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24647         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24648         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24649         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
24650         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24651         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24652         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24653         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24654         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24655         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24656         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24657         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24658         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24659         * gst-libs/gst/vaapi/gstvaapifilter.c:
24660         * gst-libs/gst/vaapi/gstvaapifilter.h:
24661         * gst-libs/gst/vaapi/gstvaapiimage.c:
24662         * gst-libs/gst/vaapi/gstvaapiimage.h:
24663         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
24664         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24665         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24666         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
24667         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
24668         * gst-libs/gst/vaapi/gstvaapiobject.c:
24669         * gst-libs/gst/vaapi/gstvaapiobject.h:
24670         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24671         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
24672         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
24673         * gst-libs/gst/vaapi/gstvaapipixmap.c:
24674         * gst-libs/gst/vaapi/gstvaapipixmap.h:
24675         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
24676         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
24677         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
24678         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24679         * gst-libs/gst/vaapi/gstvaapiprofile.h:
24680         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24681         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24682         * gst-libs/gst/vaapi/gstvaapisurface.c:
24683         * gst-libs/gst/vaapi/gstvaapisurface.h:
24684         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24685         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24686         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24687         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24688         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24689         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24690         * gst-libs/gst/vaapi/gstvaapitexture.c:
24691         * gst-libs/gst/vaapi/gstvaapitexture.h:
24692         * gst-libs/gst/vaapi/gstvaapitypes.h:
24693         * gst-libs/gst/vaapi/gstvaapiutils.c:
24694         * gst-libs/gst/vaapi/gstvaapiutils.h:
24695         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24696         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24697         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24698         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24699         * gst-libs/gst/vaapi/gstvaapivalue.c:
24700         * gst-libs/gst/vaapi/gstvaapivalue.h:
24701         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24702         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24703         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24704         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24705         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24706         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24707         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24708         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24709         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24710         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
24711         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24712         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24713         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24714         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24715         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
24716         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24717         * gst-libs/gst/vaapi/sysdeps.h:
24718         * gst-libs/gst/vaapi/video-format.c:
24719         * gst-libs/gst/vaapi/video-format.h:
24720         * gst/vaapi/gstvaapi.c:
24721         * gst/vaapi/gstvaapidecode.c:
24722         * gst/vaapi/gstvaapidecode.h:
24723         * gst/vaapi/gstvaapidownload.c:
24724         * gst/vaapi/gstvaapidownload.h:
24725         * gst/vaapi/gstvaapipluginutil.c:
24726         * gst/vaapi/gstvaapipluginutil.h:
24727         * gst/vaapi/gstvaapipostproc.c:
24728         * gst/vaapi/gstvaapipostproc.h:
24729         * gst/vaapi/gstvaapisink.c:
24730         * gst/vaapi/gstvaapisink.h:
24731         * gst/vaapi/gstvaapiupload.c:
24732         * gst/vaapi/gstvaapiupload.h:
24733         * gst/vaapi/gstvaapiuploader.c:
24734         * gst/vaapi/gstvaapiuploader.h:
24735         * gst/vaapi/gstvaapivideobuffer.c:
24736         * gst/vaapi/gstvaapivideobuffer.h:
24737         * gst/vaapi/gstvaapivideobufferpool.c:
24738         * gst/vaapi/gstvaapivideobufferpool.h:
24739         * gst/vaapi/gstvaapivideocontext.c:
24740         * gst/vaapi/gstvaapivideocontext.h:
24741         * gst/vaapi/gstvaapivideoconverter_glx.c:
24742         * gst/vaapi/gstvaapivideoconverter_glx.h:
24743         * gst/vaapi/gstvaapivideoconverter_x11.c:
24744         * gst/vaapi/gstvaapivideoconverter_x11.h:
24745         * gst/vaapi/gstvaapivideomemory.c:
24746         * gst/vaapi/gstvaapivideomemory.h:
24747         * gst/vaapi/gstvaapivideometa.c:
24748         * gst/vaapi/gstvaapivideometa.h:
24749         * gst/vaapi/gstvaapivideometa_texture.c:
24750         * gst/vaapi/gstvaapivideometa_texture.h:
24751         * tests/codec.c:
24752         * tests/codec.h:
24753         * tests/decoder.c:
24754         * tests/decoder.h:
24755         * tests/image.c:
24756         * tests/image.h:
24757         * tests/output.c:
24758         * tests/output.h:
24759         * tests/simple-decoder.c:
24760         * tests/test-decode.c:
24761         * tests/test-decode.h:
24762         * tests/test-display.c:
24763         * tests/test-filter.c:
24764         * tests/test-h264.c:
24765         * tests/test-h264.h:
24766         * tests/test-jpeg.c:
24767         * tests/test-jpeg.h:
24768         * tests/test-mpeg2.c:
24769         * tests/test-mpeg2.h:
24770         * tests/test-mpeg4.c:
24771         * tests/test-mpeg4.h:
24772         * tests/test-surfaces.c:
24773         * tests/test-textures.c:
24774         * tests/test-vc1.c:
24775         * tests/test-vc1.h:
24776         * tests/test-windows.c:
24777           legal: add per-file authorship information.
24778           Credit original authors on a per-file basis as we cannot expect people
24779           to know all country-specific rules, or bother browsing through the git
24780           history.
24781
24782 2013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24783
24784         * NEWS:
24785         * configure.ac:
24786           0.5.7.
24787
24788 2013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24789
24790         * NEWS:
24791           NEWS: updates.
24792
24793 2013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24794
24795         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24796           decoder: don't include obsolete headers.
24797           The <gst/vaapi/gstvaapicontext.h> header was removed from the public
24798           set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
24799           on private files.
24800
24801 2013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24802
24803         * gst/vaapi/Makefile.am:
24804         * gst/vaapi/gstvaapi.c:
24805         * gst/vaapi/gstvaapipostproc.c:
24806           vaapipostproc: add initial support for GStreamer 1.2.
24807           Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
24808           right now so that to cope with auto-plugging issues/regressions. e.g.
24809           this happens when the correct set of expected caps are being exposed.
24810           This means that, currently, the proposed caps are not fully accurate.
24811
24812 2013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
24813
24814         * gst/vaapi/gstvaapipostproc.c:
24815         * gst/vaapi/gstvaapipostproc.h:
24816           vaapipostproc: add support for denoise and sharpen filters.
24817           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24818
24819 2013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24820
24821         * gst/vaapi/gstvaapipostproc.c:
24822         * gst/vaapi/gstvaapipostproc.h:
24823           vaapipostproc: add support for advanced deinterlacing.
24824           Add initial support for advanced deinterlacing. The history buffer
24825           size is arbitrarily set to 3 references for now.
24826
24827 2013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24828
24829         * gst/vaapi/gstvaapipostproc.c:
24830           vaapipostproc: fix deinterlacing with VPP.
24831           Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
24832           for the first field. Render flags were supplied instead of the actual
24833           deinterlacing flags (deint_flags).
24834
24835 2013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24836
24837         * gst/vaapi/gstvaapipostproc.c:
24838           vaapipostproc: fix transform caps.
24839           Fix GstBaseTransform::transform_caps() implementation to always return
24840           the complete set of allowed sink pad caps (unfixated) even if the src
24841           pad caps we are getting are fixated. Rationale: there are just so many
24842           possible combinations, and it was wrong to provide a unique set anyway.
24843           As a side effect, this greatly simplifies the ability to derive src pad
24844           caps from fixated sink pad caps.
24845
24846 2013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
24847
24848         * docs/reference/libs/libs-sections.txt:
24849         * gst-libs/gst/vaapi/gstvaapifilter.c:
24850         * gst-libs/gst/vaapi/gstvaapifilter.h:
24851           filter: add helper to specify references for deinterlacing.
24852           Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
24853           list of surfaces used for forward or backward reference in advanced
24854           deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
24855           The list of surfaces used as deinterlacing references shall be live
24856           until the next call to gst_vaapi_filter_process().
24857           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24858
24859 2013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24860
24861         * gst-libs/gst/vaapi/gstvaapifilter.c:
24862         * gst-libs/gst/vaapi/gstvaapifilter.h:
24863         * gst-libs/gst/vaapi/gstvaapiutils.c:
24864         * gst/vaapi/gstvaapipostproc.c:
24865         * tests/test-filter.c:
24866           filter: fix semantics of deinterlacing flags.
24867           Fix deinterlacing flags to make more sense. The TFF (top-field-first)
24868           flag is meant to specify the organization of reference frames used in
24869           advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
24870           to specify that the top-field of the supplied input surface is to be
24871           used for deinterlacing. Conversely, if not set, this means that the
24872           bottom field of the supplied input surface will be used instead.
24873
24874 2013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24875
24876         * docs/reference/libs/libs-sections.txt:
24877         * gst-libs/gst/vaapi/gstvaapifilter.c:
24878         * gst-libs/gst/vaapi/gstvaapifilter.h:
24879           filter: add helpers to check for supported/active operation.
24880           Add a couple of helper functions:
24881           - gst_vaapi_filter_has_operation(): checks whether the VA driver
24882           advertises support for the supplied operation ;
24883           - gst_vaapi_filter_use_operation(): checks whether the supplied
24884           operation was already enabled to its non-default value.
24885
24886 2013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24887
24888         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24889           libs: fix GstVaapiSurfaceProxy destroy notify call site.
24890           The user-defined destroy notify function is meant to be called only when
24891           the surface proxy was fully released, i.e. once it actually released the
24892           VA surface back to the underlying pool.
24893
24894 2013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
24895
24896         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24897         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24898           libs: make GstVaapiVideoPool thread-safe.
24899           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24900           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24901
24902 2013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
24903
24904         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24905         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24906           libs: robustify decoder objects and surface proxy initialization.
24907           Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
24908           sequences to have the expected default values set beforehand in case of an
24909           error raising up further during creation. i.e. make it possible to cleanly
24910           destroy those partially initialized objects.
24911           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24912           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24913
24914 2013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24915
24916         * gst/vaapi/gstvaapidecode.c:
24917           vaapidecode: fix decoder flush.
24918           There are situations where gst_video_decoder_flush() is called, and
24919           this subsequently produces a gst_video_decoder_reset() that kills the
24920           currently active GstVideoCodecFrame. This means that it no longer
24921           exists by the time we reach GstVideoDecoder::finish() callback, thus
24922           possibly resulting in a crash if we assumed spare data was still
24923           available for decode (current_frame_size > 0).
24924           Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
24925           that means a flush, thus performing the actual operations there like
24926           calling gst_video_decoder_have_frame() if pending data is available.
24927
24928 2013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24929
24930         * gst/vaapi/gstvaapidecode.c:
24931         * gst/vaapi/gstvaapidecode.h:
24932           vaapidecode: fix dead-locks with decoder task.
24933           Review all interactions between the main video decoder stream thread
24934           and the decode task to derive a correct sequence of operations for
24935           decoding. Also avoid extra atomic operations that become implicit under
24936           the GstVideoDecoder stream lock.
24937
24938 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
24939
24940         * gst/vaapi/gstvaapidecode.c:
24941           vaapidecode: fix hard reset for seek cases.
24942           Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
24943           and completely purge any decoded output frame that may come out from
24944           it. At this stage, the GstVaapiDecoder shall be in a complete clean
24945           state to start decoding over new buffers.
24946           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24947
24948 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
24949
24950         * gst/vaapi/gstvaapidecode.c:
24951         * gst/vaapi/gstvaapidecode.h:
24952           vaapidecode: drop decode timeout, always wait for a free surface.
24953           vaapidecode used to wait up to one second past the expected time of
24954           presentation for the last decoded frame. This is not realistic in
24955           practice when it comes to video pause/resume. Changed behaviour to
24956           unconditionnally wait for a free VA surface prior to continuing the
24957           decoding. The decode task will continue pushing the output frames to
24958           the downstream element while also reporting errors at the same time
24959           to the main thread.
24960           https://bugzilla.gnome.org/show_bug.cgi?id=707108
24961           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24962
24963 2013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24964
24965         * gst/vaapi/gstvaapidecode.c:
24966           vaapidecode: fix srcpad caps for GStreamer 1.2.
24967           The srcpad caps exposed for GStreamer 1.2 were missing any useful info
24968           like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
24969           that it relied on possibly un-initialized data. Fix srcpad caps to be
24970           initialized from a sanitized copy of GstVideoDecoder output state caps.
24971           Note: the correct way to expose the srcpad caps triggers an additional
24972           issue in core GStreamer auto-plugging capabilities as the correct caps
24973           to be exposed should be format=ENCODED with memory:VASurface caps feature
24974           at the minimum. In some situations, we could determine the underlying
24975           VA surface format, but this is not always possible. e.g. cases where it
24976           is not allowed to expose the underlying VA surface data, or when the
24977           VA driver implementation cannot actually provide such information.
24978
24979 2013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24980
24981         * gst/vaapi/gstvaapidecode.c:
24982         * gst/vaapi/gstvaapisink.c:
24983           plugins: streamline VA formats exposed in caps to a realistic set.
24984           Currently, the decoder only supports YUV 4:2:0 output. So, expose the
24985           output formats for GStreamer 1.2 in caps to a realistic subset. This
24986           means NV12, I420 or YV12 but also ENCODED if we cannot determine the
24987           underlying VA surface format, or if it is actually not allowed to get
24988           access to the surface contents.
24989
24990 2013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24991
24992         * gst/vaapi/gstvaapidecode.c:
24993         * gst/vaapi/gstvaapisink.c:
24994           plugins: expose the expected format for GstVideoGLTextureUploadMeta.
24995           Fix vaapidecode srcpad caps to only expose RGBA video format for the
24996           meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
24997           so far. Besides, drop this meta from the vaapisink sinkpad caps since
24998           we really don't support that for rendering.
24999           https://bugzilla.gnome.org/show_bug.cgi?id=711828
25000
25001 2013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25002
25003         * configure.ac:
25004           configure: automatically detect GStreamer API version.
25005           Automatically detect GStreamer API version. The --with-gstreamer-api
25006           configure option now defaults to "autodetect" and configure then tries
25007           to derive the GStreamer API version from the highest version based on
25008           what pkg-config --modversion would report.
25009           https://bugzilla.gnome.org/show_bug.cgi?id=711657
25010
25011 2013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
25012
25013         * gst/vaapi/gstvaapipostproc.c:
25014           vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
25015           Fix raw YUV data uploaded as in the following pipeline:
25016           $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
25017           The main reason why it failed was that the videoparse element simply
25018           allocates GstBuffer with raw data chunk'ed off the sink pad without
25019           any prior knowledge of the actual frame info. i.e. it basically just
25020           calls gst_adapter_take_buffer().
25021           We could avoid the extra copy performed in vaapipostproc if the videoparse
25022           element was aware of the downstream pool and bothers copying line by
25023           line, for each plane. This means that, for a single frame per buffer,
25024           the optimizatin will be to allocate the video buffer downstream, map
25025           it, and copy each line that is coming through until we need to fills
25026           in the successive planes.
25027           Still, optimized raw YUV uploads already worked with the following:
25028           $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
25029           https://bugzilla.gnome.org/show_bug.cgi?id=711250
25030           [clean-ups, fixed error cases to unmap and unref outbuf]
25031           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25032
25033 2013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25034
25035         * gst/vaapi/gstvaapipostproc.c:
25036           vaapipostproc: try to downgrade deinterlace-method when needed.
25037           If the currently selected deinterlacing method is not supported by the
25038           underlying hardware, then try to downgrade the method to a supported one.
25039           At the minimum, basic bob-deinterlacing shall always be supported.
25040
25041 2013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25042
25043         * gst/vaapi/gstvaapipostproc.c:
25044           vaapipostproc: add initial support for deinterlacing with VPP.
25045           Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
25046           this only covers bob-deinterlacing when the output pixel format is
25047           explicitly set.
25048
25049 2013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25050
25051         * gst/vaapi/gstvaapipostproc.c:
25052           vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
25053           The size argument for GstBaseTransform::transform_size() hook is a
25054           guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
25055
25056 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25057
25058         * gst/vaapi/gstvaapipostproc.c:
25059         * gst/vaapi/gstvaapipostproc.h:
25060           vaapipostproc: add initial support for scaling.
25061           Add initial support for basic scaling with size specified through the
25062           "width" and "height" properties. If either user-provided dimension is
25063           zero and "force-aspect-ratio" is set to true (the default), then the
25064           other dimension is scaled to preserve the aspect ratio.
25065
25066 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25067
25068         * gst/vaapi/gstvaapipostproc.c:
25069         * gst/vaapi/gstvaapipostproc.h:
25070           vaapipostproc: add initial support for color conversion.
25071           If VPP is available, we always try to implicitly convert the source
25072           buffer to the "native" surface format for the underlying accelerator.
25073           This means that no optimization is performed yet to propagate raw YUV
25074           buffers to the downstream element as is, if VPP is available. i.e. it
25075           will always cause a color conversion.
25076
25077 2013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25078
25079         * gst/vaapi/gstvaapipostproc.c:
25080           vaapipostproc: fix bug when user disabled deinterlacing.
25081           Fix pipeline error / hang when the user disabled deinterlacing through
25082           the deinterlace-mode=disabled property setting.
25083
25084 2013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25085
25086         * gst/vaapi/gstvaapipostproc.c:
25087         * gst/vaapi/gstvaapipostproc.h:
25088           vaapipostproc: factor out operations to be applied into flags.
25089           Even if we only support deinterlacing for now, use flags to specify
25090           which filters are to be applied to each frame we receive in transform().
25091           This is preparatory work for integrating new filters.
25092
25093 2013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25094
25095         * gst/vaapi/gstvaapipostproc.c:
25096         * gst/vaapi/gstvaapipostproc.h:
25097           vaapipostproc: add support for raw YUV video source buffers.
25098           Allow video processing from raw YUV buffers coming from the sink pad,
25099           while still producing a VA surface for the downstream elements.
25100
25101 2013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25102
25103         * gst/vaapi/gstvaapipluginutil.c:
25104         * gst/vaapi/gstvaapipluginutil.h:
25105         * gst/vaapi/gstvaapipostproc.c:
25106           vaapipostproc: add support for "mixed" interlace mode.
25107           Add support for "mixed" interlace-mode, whereby the video frame buffer
25108           shall be deinterlaced only if its flags mention that's actually an
25109           interlaced frame buffer.
25110
25111 2013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25112
25113         * gst-libs/gst/vaapi/gstcompat.h:
25114         * gst/vaapi/gstvaapipostproc.c:
25115         * gst/vaapi/gstvaapipostproc.h:
25116         * gst/vaapi/gstvaapivideobuffer.c:
25117         * gst/vaapi/gstvaapivideobuffer.h:
25118           vaapipostproc: rework plug-in element.
25119           Rewrite the vaapipostproc plug-in element so that it derives from
25120           GstBaseTransform, thus simplifying the caps negotiation process.
25121
25122 2013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25123
25124         * gst/vaapi/gstvaapivideobufferpool.c:
25125         * gst/vaapi/gstvaapivideomemory.c:
25126         * gst/vaapi/gstvaapivideomemory.h:
25127           plugins: fix and optimize check for buffer pool allocator params.
25128           Reset the buffer pool allocator only if the config caps changed in a
25129           sensible way: format or resolution change. i.e. don't bother with
25130           other caps like colorimetry et al. as this doesn't affect the way to
25131           allocate VA surfaces or images.
25132
25133 2013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25134
25135         * gst/vaapi/gstvaapivideomemory.c:
25136           plugins: enable memory maps for read & write with direct-rendering.
25137           Enable read and write mappings only if direct-rendering is supported.
25138           Otherwise, this means that we may need to download data from the VA
25139           surface first for correctness, even if the VA surface doesn't need to
25140           be read at all. i.e. sometimes, READWRITE mappings are meant for
25141           surfaces that are written to first, and read afterwards for further
25142           processing.
25143           https://bugzilla.gnome.org/show_bug.cgi?id=704078
25144
25145 2013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25146
25147         * gst/vaapi/gstvaapivideomemory.c:
25148           plugins: fix check for direct-rendering support.
25149           Fix check for direct-rendering if the creation of VA surfaces with
25150           an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
25151           that we tried to allocate a VA surface based on the corresponding
25152           chroma type. i.e. in that particular case, we have to make sure that
25153           the derived image has actually the expected format.
25154
25155 2013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25156
25157         * gst/vaapi/gstvaapivideobufferpool.c:
25158         * gst/vaapi/gstvaapivideomemory.c:
25159         * gst/vaapi/gstvaapivideomemory.h:
25160           plugins: fix buffer pool reset_buffer() to reset memory resources.
25161           Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
25162           memory resources, and more particularly the VA surface proxy. Most
25163           importantly, the GstVaapiVideoMeta is retained. Cached surface in
25164           memory are released, thus triggering a new allocation the next time
25165           we need to map the buffer.
25166
25167 2013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25168
25169         * gst/vaapi/gstvaapivideomemory.c:
25170         * gst/vaapi/gstvaapivideomemory.h:
25171           plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
25172           Make sure GstVaapiVideoMemory allocates VA surface proxies from a
25173           pool stored in the parent VA memory allocator.
25174           This fixes the following scenario:
25175           - VA video buffer 1 is allocated from a buffer pool
25176           - Another video buffer is created, and inherits info from buffer 1
25177           - Buffer 1 is released, thus pushing it back to the buffer pool
25178           - New buffer alloc request comes it, this yields buffer 1 back
25179           - At this stage, buffers 1 and 2 still share the same underlying VA
25180           surface, but buffer 2 was already submitted downstream for further
25181           processing, thus conflicting with additional processing we were
25182           about to perform on buffer 1.
25183           Maybe the core GstBufferPool implementation should have been fixed
25184           instead to actually make sure that the returned GstBuffer memory we
25185           found from the pool is writable?
25186
25187 2013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25188
25189         * gst/vaapi/gstvaapiuploader.c:
25190           plugins: create a proxy for GstVaapiUploader allocated buffers.
25191           Always make sure to allocate a VA surface proxy for GstVaapiUploader
25192           allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
25193           a proxy surface.
25194           This fixes cases where we want to retain the underlying surface longer,
25195           instead of releasing it back to the surface pool right away.
25196
25197 2013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25198
25199         * gst/vaapi/gstvaapidecode.c:
25200         * gst/vaapi/gstvaapipluginutil.c:
25201         * gst/vaapi/gstvaapipluginutil.h:
25202         * gst/vaapi/gstvaapipostproc.c:
25203           plugins: add helper function to disable deinterlacing in caps.
25204           Add gst_caps_set_interlaced() helper function that would reset the
25205           interlace-mode field to "progressive" for GStreamer >= 1.0, or the
25206           interlaced field to "false" for GStreamer 0.10.
25207
25208 2013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25209
25210         * gst-libs/gst/vaapi/gstvaapifilter.c:
25211           filter: fix memory leak of VPP operations.
25212           Fix ensure_operations() to release the VPP operations array if non
25213           NULL, prior to returning to the caller. The former function was also
25214           renamed to a more meaningful get_operations() since the caller owns
25215           the returned array that needs to be released.
25216
25217 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
25218
25219         * gst-libs/gst/vaapi/gstvaapifilter.c:
25220           filter: fix first-time operation lookup.
25221           Fix first-time operation lookup through find_operation() if the set
25222           of supported operations was not initially determined through the
25223           gst_vaapi_filter_get_operations() helper function.
25224           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25225
25226 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
25227
25228         * gst-libs/gst/vaapi/gstvaapifilter.c:
25229           filter: fix colorbalance related subtypes.
25230           Fix intiialization of GstVaapiFilterOpData for colorbalance related
25231           operations. In particular, fill in the va_subtype field accordingly.
25232           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25233
25234 2013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25235
25236         * gst-libs/gst/vaapi/gstvaapifilter.c:
25237           filter: fix VA-API 0.34.0 symbol guards.
25238           VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
25239           that need to be guarded for libva 0.34 and 0.33, respectively.
25240           https://bugzilla.gnome.org/show_bug.cgi?id=709102
25241           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25242
25243 2013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25244
25245         * gst/vaapi/gstvaapidecode.c:
25246         * gst/vaapi/gstvaapipluginutil.c:
25247         * gst/vaapi/gstvaapisink.c:
25248           plugins: hanle the context query in any pad.
25249           Also this patch simplifies the code, since now the query is common for the
25250           decoder and the sink.
25251           https://bugzilla.gnome.org/show_bug.cgi?id=709200
25252
25253 2013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25254
25255         * gst/vaapi/gstvaapivideocontext.c:
25256           plugins: query upstream element for a GstContext.
25257           Fix gst_vaapi_video_context_prepare() to also query upstream elements
25258           for a valid GstContext. Improve comments regarding the steps used to
25259           lookup or build that context, thus conforming to the GstContext API
25260           recommendations.
25261           https://bugzilla.gnome.org/show_bug.cgi?id=709112
25262           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25263
25264 2013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25265
25266         * configure.ac:
25267         * debian.upstream/control.in:
25268           Fix detection and packaging of GStreamer 1.2.x builds.
25269           The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
25270           packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
25271           purposes, update the versioning to -1.2 suffix instead.
25272
25273 2013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25274
25275         * gst/vaapi/Makefile.am:
25276         * gst/vaapi/gstvaapidecode.c:
25277         * gst/vaapi/gstvaapidecode.h:
25278         * gst/vaapi/gstvaapisink.c:
25279         * gst/vaapi/gstvaapivideometa_texture.c:
25280         * gst/vaapi/gstvaapivideometa_texture.h:
25281           plugins: add support for GstVideoGLTextureUploadMeta.
25282           If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
25283           requested, and more specifically under a GLX configuration, then add
25284           the GstVideoGLTextureUploadMeta to the output buffer.
25285           https://bugzilla.gnome.org/show_bug.cgi?id=703236
25286           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25287
25288 2013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25289
25290         * gst/vaapi/gstvaapidecode.c:
25291         * gst/vaapi/gstvaapisink.c:
25292         * gst/vaapi/gstvaapivideomemory.h:
25293           plugins: add support for GstCaps features.
25294           Move VA video buffer memory from "video/x-surface,type=vaapi" format,
25295           as expressed in caps, to the more standard use of caps features. i.e.
25296           add "memory:VASurface" feature attribute to the associated caps.
25297           https://bugzilla.gnome.org/show_bug.cgi?id=703271
25298           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25299
25300 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25301
25302         * gst/vaapi/gstvaapidecode.c:
25303         * gst/vaapi/gstvaapisink.c:
25304           plugins: improve ::query() debugging messages.
25305           Fix gst_vaapidecode_query() to correctly display the query type name,
25306           instead of randomly displaying that we shared the underlying display.
25307           Also add debug info for the GstVaapiSink::query() handler, i.e. the
25308           supplied query type name actually.
25309           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25310
25311 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25312
25313         * gst/vaapi/gstvaapidecode.c:
25314         * gst/vaapi/gstvaapisink.c:
25315           plugins: add support for GstContext API.
25316           Add support for the new GstContext API from GStreamer 1.2.x.
25317           - implement the GstElement::set_context() hook ;
25318           - reply to the `context' query from downstream elements.
25319           https://bugzilla.gnome.org/show_bug.cgi?id=703235
25320           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25321
25322 2013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25323
25324         * gst/vaapi/Makefile.am:
25325         * gst/vaapi/gstvaapipluginutil.c:
25326         * gst/vaapi/gstvaapivideocontext.c:
25327         * gst/vaapi/gstvaapivideocontext.h:
25328           plugins: add compat layer for GstVideoContext.
25329           Add thin compatibility layer for the deprecated GstVideoContext API.
25330           For GStreamer API >= 1.2, this involves the following two functions:
25331           - gst_vaapi_video_context_prepare(): queries if a context is already
25332           set in the pipeline ;
25333           - gst_vaapi_video_context_propagate(): propagates the newly-created
25334           context to the rest of the pipeline.
25335           https://bugzilla.gnome.org/show_bug.cgi?id=703235
25336           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25337
25338 2013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25339
25340         * configure.ac:
25341         * gst/vaapi/Makefile.am:
25342         * gst/vaapi/gstvaapi.c:
25343         * gst/vaapi/gstvaapidecode.c:
25344         * gst/vaapi/gstvaapipluginutil.c:
25345         * gst/vaapi/gstvaapisink.c:
25346         * gst/vaapi/gstvaapivideobuffer.c:
25347           plugins: initial port to GStreamer 1.2.
25348           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
25349           is rather minimalistic so that to test the basic functionality.
25350           Disable vaapipostproc plugin for now as further polishing is needed.
25351           Also disable GstVideoContext interface support since this API is now
25352           gone in 1.2.x. This is preparatory work for GstContext support.
25353           https://bugzilla.gnome.org/show_bug.cgi?id=703235
25354           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25355
25356 2013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25357
25358         * tests/simple-decoder.c:
25359           tests: simple-decoder: fix for non-X11 backends.
25360           Don't try to create pixmaps if we have not requested that feature. This
25361           fixes execution for non-X11 backends, and most specifically DRM video
25362           output mode.
25363
25364 2013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25365
25366         * ext/codecparsers:
25367           codecparsers: update to gst-vaapi-branch commit b33bd32.
25368           b33bd32 jpeg: fix and optimize scan for next marker code
25369
25370 2013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25371
25372         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25373           jpeg: fix calculation of MCU count.
25374           Fix calculation of MCU count for image sizes that are not a multiple
25375           of 8 pixels in either dimension, but also for non-common sampling
25376           factors like 4:2:2 in non-interleaved mode.
25377
25378 2013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25379
25380         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25381         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25382         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25383           jpeg: add support for multiscan images.
25384           Add support for images with multiple scans per frame. The Huffman table
25385           can be updated before SOS, and thus possibly requiring multiple uploads
25386           of Huffman tables to the VA driver. So, the latter must be able to cope
25387           with multiple VA buffers of type 'huffman-table' and with the correct
25388           sequential order.
25389
25390 2013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25391
25392         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25393           jpeg: improve robustness when packets are missing.
25394           Improve robustness when some expected packets where not received yet
25395           or that were not correctly decoded. For example, don't try to decode
25396           a picture if there was no valid frame headers.
25397
25398 2013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25399
25400         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25401           jpeg: minor clean-ups.
25402           Improve debugging and error messages. Rename a few variables to fit the
25403           existing naming conventions. Change some fatal asserts to non-fatal
25404           error codes.
25405
25406 2013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25407
25408         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25409         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25410         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25411           jpeg: rework and optimize parser.
25412           Split the input buffer data into decoder units that represent a JPEG
25413           segment. Handle scan decoder unit specifically so that it can include
25414           both the scan header (SOS) but also any other ECS or RSTi segment.
25415           That way, we parse the input buffer stream only once at the gst-vaapi
25416           level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
25417           stream into frames SOI .. EOI and (ii) in decode_buffer() to further
25418           determine segment boundaries and decode them.
25419           In practice, this is a +15 to +25% performance improvement.
25420
25421 2013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
25422
25423         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25424           jpeg: handle comment segments.
25425           Fix decode_buffer() function to gracefully skip comment (COM) segments.
25426           This fixes decoding of streams generated by certain cameras, e.g. like
25427           the Logitech Pro C920.
25428           https://bugzilla.gnome.org/show_bug.cgi?id=708208
25429           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
25430
25431 2013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25432
25433         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25434           jpeg: fix determination of image bounds.
25435           Look for the exact image bounds characterised by the <SOI> and <EOI>
25436           markers. Use the gst_jpeg_parse() codec parser utility function to
25437           optimize the lookup for the next marker segment.
25438           https://bugzilla.gnome.org/show_bug.cgi?id=707447
25439
25440 2013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
25441
25442         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25443           jpeg: fix calculation of offset to next marker segment.
25444           Fix calculation of the offset to the next marker segment since the
25445           correction of the codecparser part to match the API specification.
25446           i.e. the GstJpegMarkerSegment.size field represents the size in bytes
25447           of the segment minus any marker prefix.
25448           https://bugzilla.gnome.org/show_bug.cgi?id=707447
25449           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
25450
25451 2013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25452
25453         * ext/codecparsers:
25454           codecparsers: update to gst-vaapi-branch commit 23c7dde.
25455           23c7dde jpeg: fix calculation of segment size
25456
25457 2013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25458
25459         * configure.ac:
25460           Bump version for development.
25461
25462 2013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25463
25464         * NEWS:
25465         * configure.ac:
25466           0.5.6.
25467
25468 2013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25469
25470         * NEWS:
25471           NEWS: updates.
25472
25473 2013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
25474
25475         * configure.ac:
25476         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25477           configure: fix detection of VA/JPEG decoding API.
25478           Fix detection of VA/JPEG decoding API with non-standard libva packages.
25479           More precisely, some packages were shipping with a <va/va.h> header that
25480           did not include <va/va_dec_jpeg.h>.
25481           https://bugzilla.gnome.org/show_bug.cgi?id=706055
25482           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25483
25484 2013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
25485
25486         * gst/vaapi/gstvaapisink.c:
25487           vaapisink: ensure the uploader is setup for upstream allocated buffers.
25488           In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
25489           is setup in case upstream elements allocate buffers themselves without
25490           honouring our GstVaapiSink::bufer_alloc() hook.
25491           In particular, this fixes support for OGG video streams with WebKit.
25492           https://bugzilla.gnome.org/show_bug.cgi?id=703934
25493           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25494
25495 2013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25496
25497         * gst/vaapi/gstvaapisink.c:
25498           vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
25499           Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
25500           builds as well.
25501
25502 2013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25503
25504         * gst/vaapi/gstvaapisink.c:
25505         * gst/vaapi/gstvaapisink.h:
25506           vaapisink: handle raw buffers not created from VA video buffer pool.
25507           Handle raw video buffers that were not created from a VA video buffer
25508           pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
25509           builds instead of the GstVaapiUploader.
25510           https://bugs.freedesktop.org/show_bug.cgi?id=55818
25511
25512 2013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25513
25514         * gst/vaapi/gstvaapidecode.c:
25515           vaapidecode: remove extraneous size information from allowed caps.
25516           Fix _getcaps() implementation to not report codecs with size information
25517           filled in the returned caps. That's totally useless nowadays. Ideally,
25518           this is a hint to insert a video parser element, thus allowing future
25519           optimizations, but this is not a strict requirement for gstreamer-vaapi,
25520           which is able to parse the elementary bitstreams itself.
25521           https://bugzilla.gnome.org/show_bug.cgi?id=704734
25522
25523 2013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
25524
25525         * gst/vaapi/gstvaapidecode.c:
25526         * gst/vaapi/gstvaapidecode.h:
25527           vaapidecode: submit the last frame from output adapter to decoder.
25528           If there is no frame delimiter at the end of the stream, e.g. no
25529           end-of-stream or end-of-sequence marker, and that the current frame
25530           was fully parsed correctly, then assume that last frame is complete
25531           and submit it to the decoder.
25532           https://bugzilla.gnome.org/show_bug.cgi?id=705123
25533           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
25534           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25535
25536 2013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25537
25538         * gst/vaapi/gstvaapidecode.c:
25539         * gst/vaapi/gstvaapidecode.h:
25540           vaapidecode: push all decoded frames from within the task.
25541           Make sure to push all decoded frames from the task so that the unlying
25542           VA surfaces could all be rendered from the same thread.
25543
25544 2013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25545
25546         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25547           wayland: render the raw surface if VPP failed.
25548           As a last resort, if video processing capabilities (VPP) are not available,
25549           or they did not produce anything conclusive enough, then try to fallback to
25550           the original rendering code path whereby the whole VA surface is rendered
25551           as is, no matter of video cropping or deinterlacing requests.
25552           Note: under those conditions, the visual outcome won't be correct but at
25553           least, something gets displayed instead of bailing out.
25554
25555 2013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25556
25557         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25558           wayland: add supporting for video processing.
25559           Try to use VA/VPP processing capabilities to handle video cropping and
25560           additional rendering flags that may not be directly supported by the
25561           underlying hardware when exposing a suitable Wayland buffer for the
25562           supplied VA surface. e.g. deinterlacing, different color primaries than
25563           BT.601, etc.
25564
25565 2013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25566
25567         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
25568           wayland: add new frame redraw infrastructure.
25569           Update the frame redraw infrastructure with a new FrameState stucture
25570           holds all the necessary information used to display the next pending
25571           surface.
25572           While we are at it, delay the sync operation down to when it is actually
25573           needed. That way, we keep performing additional tasks meanwhile.
25574
25575 2013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25576
25577         * docs/reference/libs/libs-sections.txt:
25578         * gst-libs/gst/vaapi/gstvaapifilter.c:
25579         * gst-libs/gst/vaapi/gstvaapifilter.h:
25580           filter: allow specification of render target regions.
25581           Add support for rendering the source surface to a particular region within
25582           the supplied target surface. The default background color is black.
25583
25584 2013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25585
25586         * gst/vaapi/gstvaapivideobuffer.c:
25587           decode: fix creation of GLX video buffers for GStreamer 0.10.
25588           Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
25589           and (ii) to correctly extract the GstSurfaceConverter from the video buffer
25590           object meta.
25591           This fixes support for cluttersink with GStreamer 0.10 builds.
25592
25593 2013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25594
25595         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25596           mpeg2: disable video cropping as picture_display_extension() is missing.
25597           Disable video cropping in MPEG-2 codec because it is partially implemented
25598           and actually because nobody implements it that way, and the standard spec
25599           does not specify the display process either anyway.
25600           Most notably, there are two possible use cases for sequence_display_extension()
25601           horizontal_display_size & vertical_display_size: (i) guesstimating the
25602           pixel-aspect-ratio, or (ii) implement some kind of span & scan process
25603           in conjunction with picture_display_extension() information.
25604           https://bugzilla.gnome.org/show_bug.cgi?id=704848
25605
25606 2013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
25607
25608         * gst/vaapi/gstvaapisink.c:
25609         * gst/vaapi/gstvaapisink.h:
25610           vaapisink: allow scaling to ignore aspect ratio.
25611           Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
25612           which allows you to say that you don't want the sink to respect aspect
25613           ratio. Add the same property to vaapisink.
25614           http://lists.freedesktop.org/archives/libva/2012-September/001298.html
25615           Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
25616
25617 2013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
25618
25619         * gst/vaapi/gstvaapisink.c:
25620           vaapisink: fix memory leak of GstVaapiUploader instance.
25621           Make sure gst_vaapisink_ensure_uploader() checks for the existence
25622           of a former GstVaapiUploader instance prior to forcibly creating a
25623           new one.
25624           https://bugzilla.gnome.org/show_bug.cgi?id=703980
25625
25626 2013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
25627
25628         * gst/vaapi/gstvaapisink.c:
25629           vaapisink: fix get_caps() implementation for GStreamer 1.0.
25630           Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
25631           by honouring the filter caps argument. More precisely, this fixes the
25632           following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
25633           https://bugzilla.gnome.org/show_bug.cgi?id=705192
25634           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
25635           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25636
25637 2013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25638
25639         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25640           mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
25641           This fixes the following issue:
25642           CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
25643           gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
25644           'GstVaapiDecoderMpeg4Class'
25645           gstvaapidecoder_mpeg4.c:44: note: previous declaration of
25646           'GstVaapiDecoderMpeg4Class' was here
25647           make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
25648           make[5]: Leaving directory
25649           `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
25650           https://bugzilla.gnome.org/show_bug.cgi?id=705148
25651
25652 2013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25653
25654         * tests/test-filter.c:
25655           tests: filter: add support for deinterlacing.
25656           Add --deinterlace option to enable deinterlacing through explicit VA/VPP
25657           deinterlacing filter. However, if --deinterlace option is not set but the
25658           --deinterlace-flags option is set with "top-field-first", then the very
25659           basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
25660
25661 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
25662
25663         * tests/test-filter.c:
25664           tests: filter: add support for denoising and sharpening.
25665           Add --denoise option to enable noise reduction with the level specified
25666           as the option value (float). Likewise, add --sharpen option to enable
25667           sharpening.
25668           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25669
25670 2013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25671
25672         * tests/test-filter.c:
25673           tests: filter: add support for frame cropping.
25674           Add support for frame cropping through the --crop-rect|-c argument.
25675           The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
25676           or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
25677
25678 2013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25679
25680         * tests/test-filter.c:
25681           tests: filter: dump supported operations and formats.
25682
25683 2013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
25684
25685         * tests/Makefile.am:
25686         * tests/test-filter.c:
25687           tests: add initial test for video processing.
25688           Add minimal test case for video processing: scaling and color format
25689           conversion.
25690           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25691
25692 2013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
25693
25694         * docs/reference/libs/libs-sections.txt:
25695         * gst-libs/gst/vaapi/gstvaapifilter.c:
25696         * gst-libs/gst/vaapi/gstvaapifilter.h:
25697         * gst-libs/gst/vaapi/gstvaapiutils.c:
25698         * gst-libs/gst/vaapi/gstvaapiutils.h:
25699         * gst/vaapi/gstvaapipostproc.c:
25700         * gst/vaapi/gstvaapipostproc.h:
25701           filter: add initial support for deinterlacing.
25702           Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
25703           the selected field from the input surface is kept for the target surface.
25704           Setting gst_vaapi_filter_set_deinterlacing() method argument to
25705           GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
25706           Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
25707           to libgstvaapi core library.
25708           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25709
25710 2013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
25711
25712         * docs/reference/libs/libs-sections.txt:
25713         * gst-libs/gst/vaapi/gstvaapifilter.c:
25714         * gst-libs/gst/vaapi/gstvaapifilter.h:
25715           filter: add support for color balance adjustment.
25716           Add ProcAmp (color balance) adjustments for hue, saturation, brightness
25717           and contrast. The respective range for each filter shall be the same as
25718           for the VA display attributes.
25719           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25720
25721 2013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
25722
25723         * docs/reference/libs/libs-sections.txt:
25724         * gst-libs/gst/vaapi/gstvaapifilter.c:
25725         * gst-libs/gst/vaapi/gstvaapifilter.h:
25726           filter: add support for sharpening.
25727           Sharpening is configured with a float value. The supported range is
25728           -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
25729           operation at all.
25730           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25731
25732 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
25733
25734         * docs/reference/libs/libs-sections.txt:
25735         * gst-libs/gst/vaapi/gstvaapifilter.c:
25736         * gst-libs/gst/vaapi/gstvaapifilter.h:
25737           filter: add support for denoising.
25738           Noise reduction is configured with a float value. The supported range
25739           is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
25740           operation at all.
25741           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25742
25743 2013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25744
25745         * docs/reference/libs/libs-sections.txt:
25746         * gst-libs/gst/vaapi/gstvaapifilter.c:
25747         * gst-libs/gst/vaapi/gstvaapifilter.h:
25748           filter: add support for frame cropping.
25749           Frame cropping is defined with a GstVaapiRectangle value. The default
25750           behaviour is to treat the source surface as a whole
25751
25752 2013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25753
25754         * gst-libs/gst/vaapi/gstvaapifilter.c:
25755           filter: add helper functions.
25756           Add helper functions to ensure an operation VA buffer is allocated to
25757           the right size; that filter caps get parsed and assigned to the right
25758           operation too; and that float parameters are correctly scaled to fit
25759           the reported range from the VA driver.
25760
25761 2013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25762
25763         * configure.ac:
25764         * docs/reference/libs/libs-docs.xml.in:
25765         * docs/reference/libs/libs-sections.txt:
25766         * gst-libs/gst/vaapi/Makefile.am:
25767         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25768         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25769         * gst-libs/gst/vaapi/gstvaapifilter.c:
25770         * gst-libs/gst/vaapi/gstvaapifilter.h:
25771           Add initial infrastructure for video processing.
25772           Add initial API for video processing: only scaling and color format
25773           conversion operations are supported.
25774
25775 2013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25776
25777         * gst-libs/gst/vaapi/video-format.c:
25778         * gst-libs/gst/vaapi/video-format.h:
25779           libs: add gst_vaapi_video_format_from_string() helper.
25780           Add gst_vaapi_video_format_from_string() helper function to convert from
25781           a video format string representation to a suitable GstVideoFormat. This
25782           is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
25783           builds, and a proper iteration over all GstVideoFormat string representations
25784           otherwise for earlier GStreamer 0.10.x builds.
25785
25786 2013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25787
25788         * gst-libs/gst/vaapi/video-format.c:
25789         * gst-libs/gst/vaapi/video-format.h:
25790           libs: add gst_vaapi_video_format_from_va_fourcc() helper.
25791           Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
25792           VA fourcc value to a suitable GstVideoFormat.
25793
25794 2013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25795
25796         * gst-libs/gst/vaapi/gstvaapivalue.c:
25797         * gst-libs/gst/vaapi/gstvaapivalue.h:
25798           libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
25799           Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
25800           structures as a standard GType. This could be useful to have them
25801           described as a GValue later on.
25802
25803 2013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25804
25805         * docs/reference/libs/libs-docs.xml.in:
25806         * docs/reference/libs/libs-sections.txt:
25807         * gst-libs/gst/vaapi/Makefile.am:
25808         * gst-libs/gst/vaapi/gstvaapicontext.h:
25809         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
25810           libs: drop some public APIs.
25811           Don't expose GstVaapiContext APIs and make them totally private to
25812           libgstvaapi core library. That API would also tend to disappear in
25813           a future revision. Likewise, don't expose GstVaapiDisplayCache API
25814           but keep symbols visible so that the various render backends could
25815           share a common display cache implementation in libgstvaapi.
25816           Try to clean-up the documentation from any stale entry too.
25817
25818 2013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25819
25820         * tests/image.c:
25821         * tests/image.h:
25822           tests: image: allow creation of images with interleaved patterns.
25823           Add image_generate_full() function to create interleaved color rectangles.
25824           If flags is zero, the whole frame is generated with a unique pattern. If
25825           flags is non-zero, then each field is handled individually.
25826
25827 2013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25828
25829         * tests/image.c:
25830           tests: image: fix conversion from RGB to YUV.
25831           Fix RGB to YUV conversion to preserve full data range.
25832
25833 2013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25834
25835         * tests/image.c:
25836           tests: image: try to upload images through vaDeriveImage() too.
25837           On some platforms, vaPutImage() would fail even if it does not involve
25838           color format conversion or scaling, whereas copying raw pixels through
25839           vaDeriveImage() could work instead.
25840
25841 2013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25842
25843         * tests/image.c:
25844           tests: image: add support for packed YUV formats.
25845           Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
25846
25847 2013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25848
25849         * tests/image.c:
25850           tests: image: fix generation of I420/YV12 images.
25851           U/V planes were reversed, thus producing invalid images.
25852
25853 2013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25854
25855         * tests/image.c:
25856           tests: image: fix string representation for GstVideoFormat.
25857
25858 2013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25859
25860         * docs/reference/libs/libs-sections.txt:
25861         * gst-libs/gst/vaapi/Makefile.am:
25862         * gst-libs/gst/vaapi/gstvaapiimage.c:
25863         * gst-libs/gst/vaapi/gstvaapiimage.h:
25864         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
25865         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25866         * gst-libs/gst/vaapi/gstvaapisurface.c:
25867           image: clean image API up.
25868           Don't expose functions that reference a GstVaapiImageRaw, those are
25869           meant to be internal only for implementing subpictures sync. Also add
25870           a few private definitions to avoid functions calls for retrieving
25871           image size and format information.
25872
25873 2013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25874
25875         * docs/reference/libs/libs-sections.txt:
25876         * gst-libs/gst/vaapi/gstvaapiimage.c:
25877         * gst-libs/gst/vaapi/gstvaapiimage.h:
25878           image: add gst_vaapi_image_copy() helper.
25879           Add gst_vaapi_image_copy() helper function to copy images of same format
25880           and size.
25881
25882 2013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25883
25884         * gst/vaapi/gstvaapivideoconverter_x11.c:
25885           plugins: handle video cropping in X11 pixmap converter.
25886           Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
25887           we could decode from the stream.
25888
25889 2013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25890
25891         * gst/vaapi/Makefile.am:
25892         * gst/vaapi/gstvaapivideobuffer.c:
25893         * gst/vaapi/gstvaapivideoconverter_glx.c:
25894         * gst/vaapi/gstvaapivideoconverter_x11.c:
25895         * gst/vaapi/gstvaapivideoconverter_x11.h:
25896           plugins: add support for "x11-pixmap" video converter type.
25897           Install a new video converter that supports X11 pixmap targets for X11
25898           backends only, or make the GLX converter creation function chain up to
25899           the X11 converter whenever requested.
25900
25901 2013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25902
25903         * tests/simple-decoder.c:
25904           tests: simple-decoder: add support for pixmap API.
25905           Add support for the new render-to-pixmap API. Avoid flickering on
25906           platforms supporting video overlay by keeping up to 2 intermediate
25907           pixmaps.
25908
25909 2013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25910
25911         * tests/simple-decoder.c:
25912           tests: simple-decoder: add support for video cropping.
25913           Handle video cropping information attached to a VA surface proxy.
25914
25915 2013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25916
25917         * tests/output.c:
25918         * tests/output.h:
25919         * tests/test-decode.c:
25920           tests: add support for render-to-pixmap.
25921           Add --pixmap option to test-decode so that to allow copies of VA
25922           surface to an intermediate pixmap and rendering from that pixmap.
25923           Only X11 backends are supported for now.
25924
25925 2013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25926
25927         * configure.ac:
25928         * gst-libs/gst/vaapi/Makefile.am:
25929         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25930         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25931         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25932         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
25933           x11: implement pixmap rendering with RENDER extension.
25934           Use hardware accelerated XRenderComposite() function, from the RENDER
25935           extension, to blit a pixmap to screen. Besides, this can also support
25936           cropping and scaling.
25937
25938 2013-07-19 15:05:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25939
25940         * docs/reference/libs/libs-docs.xml.in:
25941         * docs/reference/libs/libs-sections.txt:
25942         * gst-libs/gst/vaapi/Makefile.am:
25943         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25944         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25945         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
25946         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
25947           x11: implement pixmap API.
25948           Implement the new render-to-pixmap API. The only supported pixmap format
25949           that will work is xRGB, with native byte ordering. Others might work but
25950           they were not tested.
25951
25952 2013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25953
25954         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25955         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
25956         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25957           x11: update x11_get_geometry() helper function with depth output.
25958           Allow x11_get_geometry() utility function to also return the depth
25959           assigned to the X drawable.
25960
25961 2013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25962
25963         * docs/reference/libs/libs-docs.xml.in:
25964         * docs/reference/libs/libs-sections.txt:
25965         * gst-libs/gst/vaapi/Makefile.am:
25966         * gst-libs/gst/vaapi/gstvaapipixmap.c:
25967         * gst-libs/gst/vaapi/gstvaapipixmap.h:
25968         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
25969         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25970         * gst-libs/gst/vaapi/gstvaapiwindow.h:
25971         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
25972           Add initial Pixmap API.
25973           Add API to transfer VA urfaces to native pixmaps. Also add an API to
25974           render a native pixmap, for completeness. In general, rendering to
25975           pixmap would only be useful to certain VA drivers and use cases on
25976           X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
25977           in an upper layer.
25978
25979 2013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25980
25981         * docs/reference/libs/libs-sections.txt:
25982         * gst-libs/gst/vaapi/gstvaapiimage.c:
25983         * gst-libs/gst/vaapi/gstvaapisurface.c:
25984         * gst-libs/gst/vaapi/video-format.c:
25985         * gst-libs/gst/vaapi/video-format.h:
25986           libs: add and expose gst_vaapi_video_format_to_string() helper.
25987           This is just a wrapper over gst_video_format_to_string() for older
25988           GStreamer 0.10 builds.
25989
25990 2013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
25991
25992         * gst/vaapi/gstvaapipluginutil.c:
25993           plugins: fix display type comparison in gst_vaapi_create_display().
25994           After the code got moved to create the gst_vaapi_create_display() helper,
25995           this comparison was not updated to dereference the newly-created
25996           pointer, so the code was comparing the pointer itself to the type, and
25997           therefore failing to retrieve the VA display.
25998           This fixes the following error (and gets gst-vaapi decoding again):
25999           ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
26000           https://bugzilla.gnome.org/show_bug.cgi?id=704410
26001           Signed-off-by: Emilio López <emilio@elopez.com.ar>
26002
26003 2013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26004
26005         * configure.ac:
26006           Bump version for development.
26007
26008 2013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26009
26010         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26011           mpeg2: don't output dummy pictures.
26012           Mark dummy pictures as output already so that we don't try to submit
26013           them to the upper layer since this is purely internal / temporary
26014           picture for helping the decoder.
26015
26016 2013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26017
26018         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26019           decoder: dispose GstVideoCodecFrame earlier.
26020           Once the picture was output, it is no longer necessary to keep an extra
26021           reference to the underlying GstVideoCodecFrame. So, we can release it
26022           earlier, and maybe subsequently release the associate surface proxy
26023           earlier.
26024
26025 2013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26026
26027         * NEWS:
26028         * configure.ac:
26029           0.5.5.
26030
26031 2013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26032
26033         * docs/reference/libs/libs-sections.txt:
26034         * gst-libs/gst/vaapi/Makefile.am:
26035         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26036         * gst-libs/gst/vaapi/gstvaapiimage.c:
26037         * gst-libs/gst/vaapi/gstvaapisurface.c:
26038         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26039         * gst-libs/gst/vaapi/video-format.c:
26040         * gst-libs/gst/vaapi/video-format.h:
26041         * gst/vaapi/gstvaapidownload.c:
26042         * gst/vaapi/gstvaapiuploader.c:
26043         * tests/image.c:
26044         * tests/test-display.c:
26045           Fix new video format API.
26046           Fix new internal video format API, based on GstVideoFormat, to not
26047           clobber with system symbols. So replace the gst_video_format_* prefix
26048           with gst_vaapi_video_format_ prefix, even if the format type remains
26049           GstVideoFormat.
26050
26051 2013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26052
26053         * configure.ac:
26054           Bump library major version.
26055           Bump the library major version due to API/ABI changes that occurred in
26056           the imaging API. In particular, GstVaapiImageFormat type was replaced
26057           with the standard GstVideoFormat type. All dependent APIs were updated
26058           to match this change.
26059
26060 2013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26061
26062         * NEWS:
26063           NEWS: updates.
26064
26065 2013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26066
26067         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26068         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26069           decoder: fix memory leak when processing interlaced pictures.
26070           Fix memory leak when processing interlaced pictures and that occurs
26071           because the first field, represented as a GstVideoCodecFrame, never
26072           gets released. i.e. when the picture is completed, this is generally
26073           the case when the second field is successfully decoded, we need to
26074           propagate the GstVideoCodecFrame of the first field to the original
26075           GstVideoDecoder so that it could reclaim memory.
26076           Otherwise, we keep accumulating the first fields into GstVideoDecoder
26077           private frames list until the end-of-stream is reached. The frames
26078           are eventually released there, but too late, i.e. too much memory
26079           may have been consumed.
26080           https://bugzilla.gnome.org/show_bug.cgi?id=701257
26081
26082 2013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26083
26084         * gst/vaapi/gstvaapipluginutil.c:
26085           plugins: simlpify gst_vaapi_create_display() helper.
26086           Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
26087           performs the necessary validation checks for the underlying VA display
26088           prior to returning to the caller. So, if an error occurred, then NULL is
26089           really returned in that case.
26090
26091 2013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
26092
26093         * gst/vaapi/gstvaapipluginutil.c:
26094           plugins: add gst_vaapi_create_display() helper.
26095           https://bugzilla.gnome.org/show_bug.cgi?id=703235
26096           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26097
26098 2013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26099
26100         * gst/vaapi/gstvaapivideobufferpool.c:
26101           plugins: don't reallocate pool allocator for the same caps.
26102           If the video buffer pool config doesn't have new caps, then it's not
26103           necessary to reinstantiate the allocator. That could be a costly
26104           operation as we could do some extra heavy checking in there.
26105
26106 2013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26107
26108         * gst/vaapi/gstvaapivideomemory.c:
26109           plugins: fix ref counting of GstVaapiVideoMemory allocator.
26110           Fix reference counting issue whereby gst_memory_init() does not hold
26111           an extra reference to the GstAllocator. So, there could be situations
26112           where the last instance of GstVaapiVideoAllocator gets released before
26113           a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
26114
26115 2013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26116
26117         * gst/vaapi/gstvaapiuploader.c:
26118           vaapiupload: use implicit color conversion to NV12.
26119           Always perform conversion of sources buffers to NV12 since this is
26120           the way we tested for this capability in ensure_allowed_caps(). This
26121           also saves memory bandwidth for further rendering. However, this may
26122           not preserve quality since the YUV buffers are down-sampled to 4:2:0.
26123
26124 2013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26125
26126         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26127           pool: fix deallocation of video pools.
26128           The queue of free objects to used was deallocated with g_queue_free_full().
26129           However, this convenience function shall only be used if the original queue
26130           was allocated with g_queue_new(). This caused memory corruption, eventually
26131           leading to a crash.
26132           The correct solution is to pair the g_queue_init() with the corresponding
26133           g_queue_clear(), while iterating over all free objects to deallocate them.
26134
26135 2013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
26136
26137         * gst/vaapi/gstvaapidownload.c:
26138           vaapidownload: fix src caps format error.
26139           This fixes direct linking of vaapidownload element to xvimagesink with
26140           VA drivers supporting vaGetImage() from the native VA surface format to
26141           a different VA image format. i.e. color conversion during download.
26142           http://bugzilla.gnome.org/show_bug.cgi?id=703937
26143           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26144
26145 2013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26146
26147         * gst/vaapi/gstvaapidownload.c:
26148           vaapidownload: fix debug string for image formats.
26149           The image is now expressed as a standard GstVideoFormat, which is not
26150           a FOURCC but rather a regular enum value.
26151           This is a regression introduced in commit 09397fa.
26152
26153 2013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
26154
26155         * gst-libs/gst/vaapi/gstvaapiimage.c:
26156           image: add support for raw YUY2/UYVY image copies.
26157           Implement raw image copies for YUY2 format. Add support for UYVY format
26158           too, with the same copy function as for YUY2. Even though components
26159           ordering differs, copying line strides is essentially the same.
26160           https://bugzilla.gnome.org/show_bug.cgi?id=703939
26161           https://bugzilla.gnome.org/show_bug.cgi?id=703940
26162           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26163
26164 2013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26165
26166         * gst/vaapi/gstvaapiuploader.c:
26167           plugins: clean-up video uploader helper.
26168           Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
26169           were already negotiated beforehand, and they are not used from the
26170           buffer in upstream elements.
26171           Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
26172           represented as a GstVideoInfo.
26173
26174 2013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26175
26176         * gst/vaapi/gstvaapiuploader.c:
26177           plugins: use GstVideoInfo in video uploader helper.
26178
26179 2013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26180
26181         * gst/vaapi/gstvaapivideomemory.c:
26182           plugins: allow creation of VA surfaces with explicit pixel format.
26183           Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
26184           with an explicit pixel format. This allows for direct rendering to
26185           VA surface memory from a software decoder.
26186
26187 2013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26188
26189         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26190           surface: fix surface pool creation with an explicit pixel format.
26191           Fix creation of surface pool objects to honour explicit pixel format
26192           specification. If this operation is not supported, then fallback to
26193           the older interface with chroma format.
26194
26195 2013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26196
26197         * gst-libs/gst/vaapi/gstvaapisurface.c:
26198           surface: try to determine the underlying VA surface format.
26199           If a VA surface was allocated with the chroma-format interface, try to
26200           determine the underlying pixel format on gst_vaapi_surface_get_format(),
26201           or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
26202
26203 2013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26204
26205         * docs/reference/libs/libs-sections.txt:
26206         * gst-libs/gst/vaapi/gstvaapisurface.c:
26207         * gst-libs/gst/vaapi/gstvaapisurface.h:
26208         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
26209           surface: allow creation with explicit pixel format.
26210           Make it possible to create VA surfaces with a specific pixel format.
26211           This is a new capability brought in by VA-API >= 0.34.0. If that
26212           capability is not built-in (e.g. using VA-API < 0.34.0), then
26213           gst_vaapi_surface_new_with_format() will return NULL.
26214
26215 2013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26216
26217         * docs/reference/libs/libs-sections.txt:
26218         * gst-libs/gst/vaapi/video-format.c:
26219         * gst-libs/gst/vaapi/video-format.h:
26220           surface: add helper function to get chroma type from GstVideoFormat.
26221           Add gst_video_format_get_chroma_type() helper function to determine
26222           the GstVaapiChromaType from a standard GStreamer video format. It is
26223           possible to reconstruct that from GstVideoFormatInfo but it is much
26224           simpler (and faster?) to use the local GstVideoFormatMap table.
26225
26226 2013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26227
26228         * gst-libs/gst/vaapi/gstvaapisurface.c:
26229         * gst-libs/gst/vaapi/gstvaapisurface.h:
26230         * gst-libs/gst/vaapi/gstvaapiutils.c:
26231         * gst-libs/gst/vaapi/gstvaapiutils.h:
26232           surface: add new chroma formats.
26233           Add new chroma formats available with VA-API >= 0.34.0. In particular,
26234           this includes "RGB" chroma formats, and more YUV subsampled formats.
26235           Also add a new from_GstVaapiChromaType() helper function to convert
26236           libgstvaapi chroma type to VA chroma format.
26237
26238 2013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26239
26240         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26241           pool: fix image pool to check for the video format to use.
26242           Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
26243           image pool object, only if the underlying VA display does support the
26244           requested VA image format.
26245
26246 2013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26247
26248         * gst-libs/gst/vaapi/gstvaapicontext.c:
26249         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26250         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26251         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26252         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26253         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26254         * gst/vaapi/gstvaapidownload.c:
26255         * gst/vaapi/gstvaapiuploader.c:
26256         * tests/Makefile.am:
26257         * tests/test-surfaces.c:
26258           Use GstVideoInfo for video pools.
26259           Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
26260           structures instead. Those are smaller, and allows for streamlining
26261           libgstvaapi more.
26262
26263 2013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26264
26265         * gst-libs/gst/vaapi/gstvaapiimage.c:
26266         * gst-libs/gst/vaapi/video-format.c:
26267           Add more video formats.
26268           Add new video format mappings to VA image formats:
26269           - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
26270           - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
26271
26272 2013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26273
26274         * gst-libs/gst/vaapi/gstvaapiimage.c:
26275           image: fix debug message with video format.
26276           Fix debug message string with image format expressed with GstVideoFormat
26277           instead of the obsolete format that turned out to be a fourcc.
26278           This is a regression from git commit e61c5fc.
26279
26280 2013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26281
26282         * tests/image.c:
26283         * tests/image.h:
26284         * tests/test-display.c:
26285         * tests/test-textures.c:
26286         * tests/test-windows.c:
26287           tests: port to new video format API.
26288
26289 2013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26290
26291         * gst/vaapi/gstvaapidownload.c:
26292         * gst/vaapi/gstvaapiuploader.c:
26293         * gst/vaapi/gstvaapivideomemory.c:
26294           plugins: port to new video format API.
26295
26296 2013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26297
26298         * gst-libs/gst/vaapi/gstvaapiimage.c:
26299           libs: use GstVideoInfo wherever possible.
26300           In particular, use gst_video_info_from_caps() helper function in VA image
26301           for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
26302           gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
26303
26304 2013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26305
26306         * docs/reference/libs/libs-docs.xml.in:
26307         * docs/reference/libs/libs-sections.txt:
26308         * gst-libs/gst/vaapi/Makefile.am:
26309         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26310         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
26311           libs: drop GstVaapiImageFormat helpers.
26312           Drop GstVaapiImageFormat helpers since everything was moved to the new
26313           GstVideoFormat based API. Don't bother with backwards compatibility and
26314           just bump the library major version afterwards.
26315
26316 2013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26317
26318         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26319         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26320         * gst-libs/gst/vaapi/gstvaapiimage.c:
26321         * gst-libs/gst/vaapi/gstvaapiimage.h:
26322         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26323         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26324           libs: port to new video format API.
26325
26326 2013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26327
26328         * docs/reference/libs/libs-docs.xml.in:
26329         * docs/reference/libs/libs-sections.txt:
26330         * gst-libs/gst/vaapi/Makefile.am:
26331         * gst-libs/gst/vaapi/video-format.c:
26332         * gst-libs/gst/vaapi/video-format.h:
26333           Add new video format API.
26334           Leverage GstVideoFormat utilities from core GStreamer to provide an
26335           adaptation layer to VA image formats.
26336
26337 2013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26338
26339         * NEWS:
26340           NEWS: updates.
26341
26342 2013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26343
26344         * gst/vaapi/gstvaapisink.c:
26345           vaapisink: fix creation of GLX texture.
26346           Fix creation of GLX texture, to not depend on the GstCaps video size that
26347           could be wrong, especially in presence of frame cropping. So, use the size
26348           from the source VA surfaces.
26349           An optimization could be to reduce the texture size to the actual visible
26350           size on screen. i.e. scale down the texture size to match the screen dimensions,
26351           while preserving the VA surface aspect ratio. However, some VA drivers don't
26352           honour that.
26353
26354 2013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26355
26356         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26357           mpeg2: add support for video cropping.
26358           If the stream has a sequence_display_extenion, then attach the
26359           display_horizontal/display_vertical dimension as the cropping
26360           rectangle width/height to the GstVaapiPicture.
26361           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26362
26363 2013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26364
26365         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26366           vc1: add support for video cropping.
26367           If the Advanced profile has display_extension fields, then set the display
26368           width/height dimension as cropping rectangle to the GstVaapiPicture.
26369           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26370
26371 2013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26372
26373         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26374           h264: add support for video cropping.
26375           If the encoded stream has the frame_cropping_flag set, then associate
26376           the cropping rectangle to GstVaapiPicture.
26377           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26378
26379 2013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26380
26381         * tests/decoder.c:
26382         * tests/decoder.h:
26383         * tests/test-decode.c:
26384         * tests/test-subpicture.c:
26385           tests: add basic support for video cropping.
26386           Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
26387           instead of a plain GstVaapiSurface. This means that we can now retrieve
26388           the frame cropping rectangle from the surface proxy, along with additional
26389           information if ever needed.
26390
26391 2013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26392
26393         * gst/vaapi/gstvaapidecode.c:
26394         * gst/vaapi/gstvaapisink.c:
26395         * gst/vaapi/gstvaapivideometa.c:
26396           plugins: add support for video cropping.
26397           Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
26398           specific meta information to hold video cropping details. Make the sink
26399           support video cropping in X11 and GLX modes.
26400
26401 2013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26402
26403         * gst/vaapi/gstvaapivideometa.c:
26404         * gst/vaapi/gstvaapivideometa.h:
26405           plugins: add helper functions to set the render rectangle.
26406           Some video clips may have a clipping region that needs to propogate to
26407           the renderer. These helper functions make it possible to attach that
26408           clipping region, as a GstVaapiRectangle, the the video meta associated
26409           with the buffer.
26410           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26411           signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26412
26413 2013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26414
26415         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26416         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26417           surfaceproxy: allow for NULL cropping rectangle.
26418           Make it possible associate an empty cropping rectangle to the surface
26419           proxy, thus resetting any cropping rectangle that was previously set.
26420           This allows for returning plain NULL when no cropping rectangle was
26421           initially set up to the surface proxy, or if it was reset to defaults.
26422
26423 2013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26424
26425         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26426           surfaceproxy: clean-up helper macros.
26427           Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
26428           proxy macro argument to a GstVaapiSurfaceProxy pointer.
26429
26430 2013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26431
26432         * gst-libs/gst/vaapi/gstvaapisurface.c:
26433         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
26434         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26435         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26436           surface: add simple surface info accessors as helper macros.
26437           Add helper macros to retrieve the VA surface information like size
26438           (width, height) or chroma type. This is a micro-optimization to avoid
26439           useless function calls and NULL pointer re-checks in internal routines.
26440
26441 2013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26442
26443         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26444         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26445         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26446         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26447         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26448           decoder: add support for video cropping.
26449           Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
26450           cropping information from raw bitstreams to each picture being decoded.
26451           Also add helper function to surface proxy to propagate that information
26452           outside of libgstvaapi. e.g. plug-in elements or standalone applications.
26453           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26454           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26455
26456 2013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26457
26458         * ext/codecparsers:
26459           codecparsers: update to gst-vaapi-branch commit f90de0a.
26460           f90de0a h264: fix calculation of the frame cropping rectangle
26461           535515c h264: parse the cropping rectangle separately
26462
26463 2013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26464
26465         * ext/codecparsers:
26466           codecparsers: update to gst-vaapi-branch commit 0f68a71.
26467           0f68a71 mpeg2: fix video packet header size checks
26468
26469 2013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
26470
26471         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26472           mpeg2: reset quantization matrices on new sequence headers.
26473           The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
26474           shall be reset to their default values when a Sequence_Header() is
26475           decoded.
26476           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26477
26478 2013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26479
26480         * configure.ac:
26481         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26482           mpeg2: cope with latest codecparser changes.
26483           Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
26484           used in individual header parsers. Also use the new slice parsing API.
26485
26486 2013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26487
26488         * ext/codecparsers:
26489           codecparsers: update to gst-vaapi-branch commit dddd182.
26490           dddd182 mpeg2: add slice header parsing API
26491           94e6228 mpeg2: add sequence scalable extension parsing API
26492           531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
26493           4b135d3 h264: fix the return value type for the SEI palyload parsing methods
26494
26495 2013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26496
26497         * gst/vaapi/gstvaapisink.c:
26498           vaapisink: expose the raw video formats in static caps template.
26499           Expose all raw video formats in the static caps template since the
26500           vaapisink is supporting raw data. We will get the exact set of formats
26501           supported by the driver dynamically through the _get_caps() routine.
26502           This also fixes an inconsistency wrt. GStreamer 0.10 builds.
26503           https://bugzilla.gnome.org/show_bug.cgi?id=702178
26504           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26505
26506 2013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26507
26508         * gst/vaapi/gstvaapisink.c:
26509         * gst/vaapi/gstvaapisink.h:
26510           vaapisink: add "use-glx" property for OpenGL rendering.
26511           Now that VA/GLX capable buffers are generated by default on X11, thus
26512           depending on a VA/GLX display, we stil want to use vaPutSurface() for
26513           rendering since it is faster.
26514           Anyway, OpenGL rendering in vaapisink was only meant for testing and
26515           enabling "fancy" effects to play with. This has no real value. So,
26516           disable OpenGL rendering by default.
26517
26518 2013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
26519
26520         * gst/vaapi/gstvaapipluginutil.c:
26521           plugins: try to allocate a GLX display first over an X11 one.
26522           If the gstreamer-vaapi plug-in elements are built with GLX support, then
26523           try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
26524           display next.
26525           https://bugzilla.gnome.org/show_bug.cgi?id=701742
26526
26527 2013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
26528
26529         * configure.ac:
26530           configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
26531           jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
26532           https://bugzilla.gnome.org/show_bug.cgi?id=698858
26533           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26534
26535 2013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
26536
26537         * gst-libs/gst/vaapi/gstvaapiimage.c:
26538           image: fix wrong check for rect bounds in copy_image().
26539
26540 2013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26541
26542         * configure.ac:
26543           Bump version for development.
26544
26545 2013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26546
26547         * NEWS:
26548         * configure.ac:
26549           0.5.4.
26550
26551 2013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26552
26553         * NEWS:
26554           NEWS: updates.
26555
26556 2013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26557
26558         * configure.ac:
26559         * gst-libs/gst/codecparsers/Makefile.am:
26560           configure: always build the MPEG-4 parser.
26561           Always build the MPEG-4 parser for now as there are also core fixes
26562           included in the parser that cannot be tested for with API checks.
26563
26564 2013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26565
26566         * configure.ac:
26567           configure: add --enable-builtin-codecparsers [default="yes"] option.
26568           Add flag to have all codecparsers built-in, thus ensuring that the
26569           resulting binaries have all the necessary bug fixes and this is what
26570           the QA has been testing anyway.
26571           Of course, for a completely up-to-date Linux distribution, you could
26572           also opt for --disable-builtin-codecparsers and use the system ones.
26573           Though, some core fixes could be missing, and those cannot be tested
26574           for with API checks.
26575
26576 2013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26577
26578         * ext/codecparsers:
26579           codecparsers: update to gst-vaapi-branch commit 843ce3e.
26580           843ce3e jpeg: fix default Huffman tables generation.
26581           8655187 mpeg2: fix the pixel-aspect-ratio calculation
26582           21099dc mpeg2: actually store video bitrate values
26583           dd02087 mpeg2: fix picture packet extension size check
26584           25948e9 mpeg2: increase min size for picture coding ext
26585           f1f5a40 ensure the debug category is properly initialized
26586
26587 2013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26588
26589         * debian.upstream/Makefile.am:
26590           debian: fix list of generated files for .deb packaging.
26591
26592 2013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26593
26594         * configure.ac:
26595         * debian.upstream/Makefile.am:
26596         * debian.upstream/control.in:
26597           debian: fix libgstvaapi -dev package name.
26598           Fix libgstvaapi -dev package name so that to allow installation of both
26599           GStreamer 0.10 and 1.0.x based packages.
26600
26601 2013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26602
26603         * NEWS:
26604           NEWS: updates.
26605
26606 2013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26607
26608         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26609           wayland: fix memory leak of display resources.
26610
26611 2013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
26612
26613         * gst/vaapi/gstvaapisink.c:
26614           vaapisink: fix build without VA/GLX support.
26615
26616 2013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26617
26618         * gst/vaapi/gstvaapivideomemory.c:
26619         * gst/vaapi/gstvaapivideomemory.h:
26620           plugins: allow buffer mappings to GstVaapiSurfaceProxy.
26621           Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
26622           video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
26623           caller. This is the only sensible enough thing to do in this mode as
26624           the underlying surface pixels need to be extracted through an explicit
26625           call to the gst_video_frame_map() function instead.
26626           A possible use-case of this is to implement a "handoff" signal handler
26627           to fakesink or identity element for further processing.
26628
26629 2013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26630
26631         * gst/vaapi/gstvaapivideomemory.c:
26632           plugins: silence check for direct-rendering mode in video memory.
26633           Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
26634           mode support, and not trigger fatal-criticals if either test surface or
26635           image could not be created. Typical case: pixel format mismatch, e.g. NV12
26636           supported by most hardware vs. I420 supported by most software decoders.
26637
26638 2013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26639
26640         * gst/vaapi/gstvaapivideomemory.c:
26641           plugins: improve video memory flags safety checks.
26642           On map, ensure we have GST_MAP_WRITE flags since this is only what we
26643           support for now. Likewise, on unmap, make sure that the VA image is
26644           unmapped for either read or write, while still committing it to the
26645           VA surface if write was requested.
26646
26647 2013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26648
26649         * gst-libs/gst/vaapi/gstvaapisurface.c:
26650           surface: fix memory leak through unreleased parent context.
26651           Break the circular references between GstVaapiContext and its children
26652           GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
26653           context, which holds a reference to its VA surfaces, then none of those
26654           were released.
26655           How does this impact support for subpictures?
26656           The only situation when the parent context needs to disappear is when
26657           it is replaced with another one because of a resolution change in the
26658           video stream for instance, or a normal destroy. In this case, it does
26659           not really matter to apply subpictures to the peer surfaces since they
26660           are either gone, or those that are left in the pipe can probably bear
26661           a reinstantiation of the subpictures for it.
26662           So, parent_context is set to NULL when the parent context is destroyed,
26663           other VA surfaces can still get subpictures attached to them, individually
26664           not as a whole. i.e. subpictures for surface S1 will be created from
26665           active composition buffers and associated to S1, subpictures for S2 will
26666           be created from the next active composition buffers, etc. We don't try
26667           to cache the subpictures in those cases (pending surfaces until EOS
26668           is reached, or pending surfaces until new surfaces matching new VA context
26669           get to be used instead).
26670
26671 2013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26672
26673         * gst/vaapi/gstvaapisink.c:
26674           vaapisink: fix one-time initialization when display property is set.
26675           Fix gst_vaapisink_ensure_display() to perform one-time initialization
26676           tasks even if the `display' property was explicitly set.
26677
26678 2013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26679
26680         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26681           window: fix GLX window initialization.
26682           Make sure to create the GLX context once the window object has completed
26683           its creation. Since gl_resize() relies on the newly created window size,
26684           then we cannot simply overload the GstVaapiWindowClass::create() hook.
26685           So, we just call into gst_vaapi_window_glx_ensure_context() once the
26686           window object is created in the gst_vaapi_window_glx_new*() functions.
26687
26688 2013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26689
26690         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26691         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
26692         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26693         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26694         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26695         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
26696         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26697         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26698         * gst-libs/gst/vaapi/gstvaapitexture.c:
26699         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
26700         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26701         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26702         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26703           display: validate display types.
26704
26705 2013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26706
26707         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26708         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26709         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26710           display: drop internal NAME_PREFIX, store the real display name.
26711           Always store a valid display name/device path, instead of adding a
26712           particular prefix. i.e. make it simply a strdup(), or "" if it was
26713           initially NULL.
26714
26715 2013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26716
26717         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26718         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26719         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26720         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26721         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26722         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26723         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
26724           display: make it possible to lookup the display cache by type.
26725           Make it possible to add extra an extra filter to most of display cache
26726           lookup functions so that the GstVaapiDisplay instance can really match
26727           a compatible and existing display by type, instead of relying on extra
26728           string tags (e.g. "X11:" prefix, etc.).
26729
26730 2013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26731
26732         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26733         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26734         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26735           display: cope with new display cache API.
26736
26737 2013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26738
26739         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26740         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
26741           display: rework display cache API.
26742           Simplify display cache API, while making it more flexible. We can now create
26743           custom lookup functions with gst_vaapi_display_cache_lookup_custom().
26744
26745 2013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26746
26747         * tests/test-display.c:
26748           tests: improve check for display cache.
26749           Improve check for display cache infrastructure. In particular, for X11 and
26750           GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
26751           from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
26752           shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
26753           already exists will have to generate different VA displays.
26754
26755 2013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
26756
26757         * gst/vaapi/gstvaapiuploader.c:
26758           uploader: fix memory leak in GStreamer 0.10 builds.
26759           In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
26760           but it exhibited a memory leak because the surface generated for the
26761           GstVaapiVideoMeta totally lost its parent video pool. So, it was not
26762           possible to release that surface back to the parent pool when the meta
26763           gets released, and the memory consumption kept growing.
26764           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26765
26766 2013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26767
26768         * gst/vaapi/gstvaapivideometa.c:
26769           plugins: fix gst_vaapi_video_meta_new_from_pool().
26770           Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
26771           the underlying object type, the gst_vaapi_video_meta_new_from_pool()
26772           was hereby totally broken. Fixed this regression by using the newly
26773           provided gst_vaapi_video_pool_get_object_type() function.
26774
26775 2013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26776
26777         * gst/vaapi/gstvaapiuploader.c:
26778         * gst/vaapi/gstvaapivideomemory.c:
26779         * gst/vaapi/gstvaapivideometa.c:
26780           plugins: cope with GST_VAAPI_IS_xxx() macros removal.
26781
26782 2013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26783
26784         * tests/decoder.c:
26785           tests: cope with GST_VAAPI_IS_xxx() macros removal.
26786
26787 2013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26788
26789         * docs/reference/libs/libs-sections.txt:
26790         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26791         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26792         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26793         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26794         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
26795           libs: add query for GstVaapiVideoPool object types.
26796           Add API to identify the underlying GstVaapiVideoPool object type.
26797
26798 2013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26799
26800         * docs/reference/libs/libs-sections.txt:
26801         * gst-libs/gst/vaapi/gstvaapicontext.c:
26802         * gst-libs/gst/vaapi/gstvaapicontext.h:
26803         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26804         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26805         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26806         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26807         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26808         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
26809         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26810         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26811         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
26812         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26813         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26814         * gst-libs/gst/vaapi/gstvaapiimage.c:
26815         * gst-libs/gst/vaapi/gstvaapiimage.h:
26816         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26817         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26818         * gst-libs/gst/vaapi/gstvaapiobject.c:
26819         * gst-libs/gst/vaapi/gstvaapiobject.h:
26820         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26821         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26822         * gst-libs/gst/vaapi/gstvaapisurface.c:
26823         * gst-libs/gst/vaapi/gstvaapisurface.h:
26824         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26825         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26826         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26827         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
26828         * gst-libs/gst/vaapi/gstvaapitexture.c:
26829         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26830         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26831         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26832         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26833         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
26834         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26835         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26836         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26837           libs: drop GST_VAAPI_IS_xxx() helper macros.
26838           Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
26839           deriving from GObject and so those were only checking for whether the
26840           argument was NULL or not. This is now irrelevant, and even confusing
26841           to some extent, because we no longer have type checking.
26842           Note: this incurs more type checking (review) but the libgstvaapi is
26843           rather small, so this is manageable.
26844
26845 2013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26846
26847         * configure.ac:
26848           Bump library major version.
26849           The whole libgstvaapi libraries got a major refresh to get rid of GObject.
26850           This is a fundamental change that requires a new SONAME. More changes are
26851           underway to streamline the core libraries.
26852           So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
26853           On one particular test (sintel HD trailer), the total number of executed
26854           instruction was reduced by 8%.
26855
26856 2013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26857
26858         * docs/reference/libs/Makefile.am:
26859         * docs/reference/libs/libs-docs.xml.in:
26860         * docs/reference/libs/libs-sections.txt:
26861         * docs/reference/libs/libs.core.types:
26862         * docs/reference/libs/libs.glx.types:
26863         * docs/reference/libs/libs.x11.types:
26864           docs: cope with removed APIs.
26865           Some APIs are dead because they are no longer based on GObject.
26866
26867 2013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26868
26869         * gst/vaapi/gstvaapidecode.c:
26870         * gst/vaapi/gstvaapidownload.c:
26871         * gst/vaapi/gstvaapipluginutil.c:
26872         * gst/vaapi/gstvaapipostproc.c:
26873         * gst/vaapi/gstvaapisink.c:
26874         * gst/vaapi/gstvaapiupload.c:
26875         * gst/vaapi/gstvaapiuploader.c:
26876         * gst/vaapi/gstvaapivideobufferpool.c:
26877         * gst/vaapi/gstvaapivideoconverter_glx.c:
26878         * gst/vaapi/gstvaapivideomemory.c:
26879         * gst/vaapi/gstvaapivideometa.c:
26880           plugins: cope with new GstVaapiMiniObject objects.
26881
26882 2013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26883
26884         * tests/decoder.c:
26885         * tests/image.c:
26886         * tests/output.c:
26887         * tests/simple-decoder.c:
26888         * tests/test-decode.c:
26889         * tests/test-display.c:
26890         * tests/test-subpicture.c:
26891         * tests/test-surfaces.c:
26892         * tests/test-textures.c:
26893         * tests/test-windows.c:
26894           tests: cope with new GstVaapiMiniObject objects.
26895
26896 2013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26897
26898         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26899           display: fix set_synchronous() to lock display.
26900
26901 2013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26902
26903         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26904         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26905           videopool: simplify creation of video objects pool.
26906
26907 2013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26908
26909         * gst-libs/gst/vaapi/gstvaapiobject.c:
26910         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26911         * gst-libs/gst/vaapi/gstvaapitypes.h:
26912           libs: simplify GstVaapiID definitions.
26913           Make GstVaapiID a gsize instead of guessing an underlying integer large
26914           enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
26915           this is plain zero and that it is no longer passed as varargs.
26916
26917 2013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26918
26919         * gst-libs/gst/vaapi/Makefile.am:
26920         * gst-libs/gst/vaapi/gstvaapi_priv.h:
26921         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26922         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26923         * gst-libs/gst/vaapi/gstvaapivalue.c:
26924         * gst-libs/gst/vaapi/gstvaapivalue.h:
26925           libs: drop obsolete function helpers and objects.
26926           Drop obsolete GstVaapiID related function helpers for passing them as
26927           GValues.
26928
26929 2013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26930
26931         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26932         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26933         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26934         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
26935         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
26936         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
26937         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26938         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26939         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26940         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26941         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26942         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
26943         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
26944         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26945         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26946         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26947         * gst-libs/gst/vaapi/gstvaapiobject.c:
26948         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26949           libs: use GstVaapiMiniObject for display objects.
26950
26951 2013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26952
26953         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26954         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26955         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26956         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26957         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
26958         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
26959         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
26960         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26961         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26962         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26963         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26964         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26965         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26966         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26967         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26968           libs: use GstVaapiMiniObject for video decoders.
26969           Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
26970           GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
26971           helper function to let the user add a callback to a function triggered
26972           whenever the codec state (e.g. caps) changes.
26973
26974 2013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26975
26976         * docs/reference/libs/libs-sections.txt:
26977         * gst-libs/gst/vaapi/Makefile.am:
26978         * gst-libs/gst/vaapi/gstvaapicontext.c:
26979         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26980         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26981         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26982         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26983         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26984         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26985         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26986         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
26987           libs: use GstVaapiMiniObject for video object pools.
26988           Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
26989           GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
26990           no longer used for a long time. Make object allocators static, i.e.
26991           local to the shared library.
26992
26993 2013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26994
26995         * gst-libs/gst/vaapi/gstvaapitexture.c:
26996         * gst-libs/gst/vaapi/gstvaapitexture.h:
26997           libs: use GstVaapiObject for texture objects.
26998
26999 2013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27000
27001         * gst-libs/gst/vaapi/Makefile.am:
27002         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27003         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27004         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
27005         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
27006         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27007         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27008         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
27009         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27010         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
27011         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27012         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27013         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
27014           libs: use GstVaapiObject for window objects.
27015
27016 2013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27017
27018         * gst-libs/gst/vaapi/gstvaapicontext.c:
27019         * gst-libs/gst/vaapi/gstvaapicontext.h:
27020         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27021         * gst-libs/gst/vaapi/gstvaapiimage.c:
27022         * gst-libs/gst/vaapi/gstvaapiimage.h:
27023         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27024         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27025         * gst-libs/gst/vaapi/gstvaapisurface.c:
27026         * gst-libs/gst/vaapi/gstvaapisurface.h:
27027         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27028         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27029           libs: use GstVaapiObject for VA objects.
27030
27031 2013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27032
27033         * gst-libs/gst/vaapi/Makefile.am:
27034         * gst-libs/gst/vaapi/gstvaapiobject.c:
27035         * gst-libs/gst/vaapi/gstvaapiobject.h:
27036         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27037           Port GstVaapiObject to GstVaapiMiniObject.
27038
27039 2013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27040
27041         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
27042         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
27043         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27044         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27045         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
27046         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
27047           libs: refine GstVaapiMiniObject.
27048           Drop support for user-defined data since this capability was not used
27049           so far and GstVaapiMiniObject represents the smallest reference counted
27050           object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
27051           Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
27052           is also possible to further simplify the layout of the object. i.e. merge
27053           GstVaapiMiniObjectBase into GstVaapiMiniObject.
27054
27055 2013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27056
27057         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27058           decoder: update picture size from the bitstream.
27059           Propagate the picture size from the bitstream to the GstVaapiDecoder,
27060           and subsequent user who installed a signal on notify::caps. This fixes
27061           decoding of TS streams when the demuxer failed to extract the required
27062           information.
27063
27064 2013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27065
27066         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27067           decoder: fix raw decoding mode.
27068           Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
27069           surface proxy to the caller.
27070
27071 2013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27072
27073         * docs/reference/libs/libs-sections.txt:
27074         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27075         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27076         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27077         * gst/vaapi/gstvaapidecode.c:
27078           decoder: add gst_vaapi_decoder_get_frame_with_timeout().
27079           Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
27080           wait for a frame to be decoded, until the specified timeout in microseconds,
27081           prior to returning to the caller.
27082           This is a fix to performance regression from 851cc0, whereby the vaapidecode
27083           loop executed on the srcpad task was called to often, thus starving all CPU
27084           resources.
27085
27086 2013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27087
27088         * configure.ac:
27089           Bump version for development.
27090
27091 2013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27092
27093         * NEWS:
27094         * configure.ac:
27095           0.5.3.
27096
27097 2013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27098
27099         * NEWS:
27100           NEWS: updates.
27101
27102 2013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27103
27104         * gst/vaapi/gstvaapidecode.c:
27105           vaapidecode: rework heuristics to detect decode timeout.
27106           Rework heuristics to detect when downstream element ran into errors,
27107           and thus failing to release any VA surface in due time for the current
27108           frame to get decoded. In particular, recalibrate the render time base
27109           when the first frame gets submitted downstream, or when there is no
27110           timestamp that could be inferred.
27111
27112 2013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27113
27114         * gst-libs/gst/vaapi/gstcompat.h:
27115         * gst/vaapi/gstvaapidecode.c:
27116           vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
27117           Rework GstVideoDecoder::handle_frame() to decode the current frame,
27118           while possibly waiting for a free surface, and separately submit all
27119           decoded frames from a task. This makes it possible to pop and render
27120           decoded frames as soon as possible.
27121
27122 2013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27123
27124         * gst/vaapi/gstvaapidecode.c:
27125         * gst/vaapi/gstvaapidownload.c:
27126         * gst/vaapi/gstvaapisink.c:
27127         * gst/vaapi/gstvaapiupload.c:
27128           plugins: use gst_object_unref() wherever applicable.
27129           Use gst_object_unref() wherever applicable, e.g. objects derived from
27130           GstElement, GstVideoPool, etc.
27131
27132 2013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27133
27134         * docs/reference/plugins/plugins-docs.xml.in:
27135         * docs/reference/plugins/plugins-sections.txt:
27136         * docs/reference/plugins/plugins.types:
27137           docs: drop obsolete plug-ins.
27138           Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
27139           i.e. vaapiupload and vaapidownload are no longer the recommended
27140           plug-ins to use.
27141
27142 2013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27143
27144         * debian.upstream/rules:
27145           debian: fix build of GStreamer 0.10 packages.
27146           Fix build of Debian packages to scan the actual GStreamer API version
27147           from the generated changelog file.
27148
27149 2013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27150
27151         * gst/vaapi/gstvaapipostproc.c:
27152           vaapipostproc: minor clean-ups.
27153           Use g_clear_object() wherever appropriate and remove dead-code.
27154
27155 2013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27156
27157         * gst/vaapi/gstvaapipostproc.c:
27158           vaapipostproc: fix reference counting buf for passthrough mode.
27159           Fix reference counting bug for passthrough mode, whereby the input buffer
27160           was propagated as is downstream through gst_pad_push() without increasing
27161           its reference count before. The was a problem when gst_pad_push() returns
27162           an error and we further decrease the reference count of the input buffer.
27163
27164 2013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27165
27166         * gst-libs/gst/vaapi/gstcompat.h:
27167         * gst/vaapi/Makefile.am:
27168         * gst/vaapi/gstvaapi.c:
27169         * gst/vaapi/gstvaapidecode.c:
27170         * gst/vaapi/gstvaapipluginutil.h:
27171         * gst/vaapi/gstvaapipostproc.c:
27172           vaapipostproc: port to GStreamer 1.0.
27173           Add support for interlaced streams with GStreamer 1.0 too. Basically,
27174           this enables vaapipostproc, though it is not auto-plugged yet. We also
27175           make sure to reply to CAPS queries, and happily handle CAPS events.
27176
27177 2013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27178
27179         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27180           decoder: fix GstVideoCodecFrame flags for interlaced contents.
27181           Fix support for interlaced contents with GStreamer 0.10. In particular,
27182           propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
27183           correctly.
27184           This is a regression from commit 87e5717.
27185
27186 2013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27187
27188         * gst-libs/gst/vaapi/Makefile.am:
27189         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27190         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27191         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
27192         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
27193           decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
27194           Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
27195           structure was only useful to parsing and a proper GstvaapiDecoderFrame
27196           instance will be created instead.
27197
27198 2013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27199
27200         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27201           decoder: export presentation timestamp for raw decoding mode.
27202           Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
27203           held any information about the expected presentation timestamp, frame
27204           duration or additional flags like interlaced or top-field-first.
27205
27206 2013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27207
27208         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27209         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27210           decoder: use new GstVaapiSurfaceProxy utility functions.
27211           Use new GstVaapiSurfaceProxy internal helper functions to propagate the
27212           necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
27213           Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
27214           i.e. increase the GstVideoCodecFrame reference count in push_frame rather
27215           than gst_vaapi_picture_output().
27216
27217 2013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27218
27219         * docs/reference/libs/libs-sections.txt:
27220         * gst-libs/gst/vaapi/Makefile.am:
27221         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27222         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27223         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
27224           surfaceproxy: add more attributes for raw decoding modes.
27225           Add more attributes for raw decoding modes, i.e. directly through the
27226           libgstvaapi helper library. In particular, add presentation timestamp,
27227           duration and a couple of flags (interlaced, TFF, RFF, one-field).
27228
27229 2013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27230
27231         * docs/reference/libs/libs-sections.txt:
27232         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27233         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27234         * gst/vaapi/gstvaapidecode.c:
27235         * tests/simple-decoder.c:
27236           surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
27237           Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
27238           to call some user-provided function when the surface proxy is released.
27239
27240 2013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
27241
27242         * configure.ac:
27243         * gst-libs/gst/vaapi/Makefile.am:
27244           build: link libgstvaapi-glx-1.0.so against libdl.
27245           Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
27246           to resolve glXGetProcAddress() from GLX libraries. This fix builds on
27247           Fedora 17.
27248           https://bugzilla.gnome.org/show_bug.cgi?id=698046
27249           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27250
27251 2013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27252
27253         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27254           decoder: fix gst_vaapi_decoder_get_codec_state().
27255           Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
27256           supposed to make GstVaapiDecoder own the return GstVideoCodecState
27257           object. Only comment was updated, not the actual code.
27258
27259 2013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27260
27261         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27262         * gst/vaapi/gstvaapidecode.c:
27263           decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
27264           Make gst_vaapi_decoder_get_codec_state() return the original codec state,
27265           i.e. make the GstVaapiDecoder object own the return state so that callers
27266           that want an extra reference to it would just gst_video_codec_state_ref()
27267           it before usage. This aligns the behaviour with what we had before with
27268           gst_vaapi_decoder_get_caps().
27269           This is an ABI incompatible change, library major version was bumped from
27270           previous release (0.5.2).
27271
27272 2013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27273
27274         * gst/vaapi/gstvaapivideobufferpool.h:
27275         * gst/vaapi/gstvaapivideoconverter_glx.h:
27276           plugins: mark a few more functions as internal.
27277           Mark the following functions are internal, i.e. private to the vaapi plug-in:
27278           - gst_vaapi_video_buffer_pool_get_type()
27279           - gst_vaapi_video_converter_glx_get_type()
27280           - gst_vaapi_video_converter_glx_new()
27281
27282 2013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27283
27284         * gst/vaapi/gstvaapivideobuffer.c:
27285           plugins: implement GstSurfaceMeta API.
27286           Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
27287           an unstable/deprecated API, this makes it possible to support Clutter
27288           sink with minimal changes. Tested against clutter-gst 1.9.92.
27289
27290 2013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27291
27292         * gst/vaapi/gstvaapisink.c:
27293           vaapisink: optimize GstVideoOverlayInterface::expose().
27294           When render-mode is "overlay", then it is not really useful to peek into
27295           the GstBaseSink::last_buffer, since we have our own video_buffer already
27296           recorded and maintained into GstVaapiSink.
27297
27298 2013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27299
27300         * gst/vaapi/gstvaapisink.c:
27301           vaapisink: fix memory leak of GstSample objects.
27302           Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
27303           This also fixes extra unreferencing of the underlying GstBuffer in the common
27304           path afterwards (for both 0.10 or 1.0).
27305
27306 2013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27307
27308         * gst-libs/gst/vaapi/gstcompat.h:
27309         * gst/vaapi/gstvaapi.c:
27310           plugins: fix description for gst-inspect.
27311           Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
27312           need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
27313           incorrectly uses #name for creating the plug-in name, instead of using macro
27314           expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
27315
27316 2013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27317
27318         * README:
27319           README: updates.
27320           Update build requirements for GStreamer 1.0.x support. Add section for
27321           ways to report bugs.
27322
27323 2013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27324
27325         * NEWS:
27326           NEWS: updates.
27327
27328 2013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27329
27330         * gst-libs/gst/vaapi/Makefile.am:
27331         * gst/vaapi/Makefile.am:
27332           Fix make dist to include all source files, in any case.
27333           Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
27334           sure to include all source files in either case while generating source
27335           tarballs.
27336
27337 2013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27338
27339         * configure.ac:
27340           Bump library major version.
27341           Bump library major version, while preserving a major version of 0 for
27342           GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
27343           0.10 based librarieS.
27344
27345 2013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27346
27347         * gst/vaapi/gstvaapivideomemory.c:
27348         * gst/vaapi/gstvaapivideomemory.h:
27349           plugins: implement direct-rendering mode for raw YUV buffer uploads.
27350           Allow direct-rendering (writes) into target VA surfaces.
27351
27352 2013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27353
27354         * gst/vaapi/gstvaapivideobufferpool.c:
27355         * gst/vaapi/gstvaapivideomemory.c:
27356         * gst/vaapi/gstvaapivideomemory.h:
27357           plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
27358           Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
27359           the last component is unmapped. Downloads are not supported yet. The aim
27360           was to first support SW decoding + HW accelerated rendering (vaapisink).
27361           e.g. for Wayland.
27362
27363 2013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27364
27365         * gst/vaapi/gstvaapidecode.c:
27366           vaapidecode: submit all decoded frames before decoding a new one.
27367           Make sure to purge all pending frames that were already decoded prior
27368           to decoding a new one. This helps release VA surfaces as early as
27369           possible.
27370
27371 2013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27372
27373         * gst/vaapi/gstvaapidecode.c:
27374           vaapidecode: reply to CAPS queries.
27375           Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
27376           the set of allowed caps, i.e. it works similar to GstPad::get_caps().
27377           This fixes fallback to SW decoding if no HW decoder is available.
27378
27379 2013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27380
27381         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27382         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27383         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27384         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27385         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27386         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27387           decoder: fix unpaired GstBuffer map/unmaps.
27388           This possibly fixes a few memory leaks along the way.
27389
27390 2013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27391
27392         * configure.ac:
27393         * gst-libs/gst/vaapi/gstcompat.h:
27394         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27395         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27396         * gst/vaapi/Makefile.am:
27397         * gst/vaapi/gstvaapi.c:
27398         * gst/vaapi/gstvaapidecode.c:
27399         * gst/vaapi/gstvaapisink.c:
27400         * gst/vaapi/gstvaapisink.h:
27401         * gst/vaapi/gstvaapiuploader.c:
27402         * tests/codec.c:
27403           Allow build against either GStreamer API (0.10 or 1.0).
27404           Introduce a new configure option --with-gstreamer-api that determines
27405           the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
27406           Also integrate more compatibility glue into gstcompat.h and plugins.
27407
27408 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27409
27410         * gst/vaapi/gstvaapidecode.c:
27411         * gst/vaapi/gstvaapisink.c:
27412         * gst/vaapi/gstvaapisink.h:
27413           plugins: use new video buffer pools.
27414           Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
27415           GstBaseSink::propose_allocation() to expose that pool to upstream
27416           elements; and also implement GstVideoDecoder::decide_allocation() to
27417           actually use that pool (from downstream), if any, or create one.
27418           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27419
27420 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27421
27422         * gst/vaapi/Makefile.am:
27423         * gst/vaapi/gstvaapivideobufferpool.c:
27424         * gst/vaapi/gstvaapivideobufferpool.h:
27425         * gst/vaapi/gstvaapivideomemory.c:
27426         * gst/vaapi/gstvaapivideomemory.h:
27427           plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
27428           Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
27429           object currently holds a reference to GstVaapiVideoMeta.
27430           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27431
27432 2013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27433
27434         * gst/vaapi/gstvaapivideometa.c:
27435         * gst/vaapi/gstvaapivideometa.h:
27436           plugins: allow copies of GstVaapiVideoMeta objects.
27437           Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
27438           objects created from GstVaapiVideoPool. This is mostly useful to clone a
27439           GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
27440           rendering flags.
27441
27442 2013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27443
27444         * gst/vaapi/gstvaapivideometa.c:
27445           plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
27446           Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
27447           reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
27448           gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
27449           argument is NULL.
27450
27451 2012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27452
27453         * gst/vaapi/Makefile.am:
27454         * gst/vaapi/gstvaapi.c:
27455         * gst/vaapi/gstvaapidecode.c:
27456         * gst/vaapi/gstvaapidownload.c:
27457         * gst/vaapi/gstvaapipluginutil.c:
27458         * gst/vaapi/gstvaapipostproc.c:
27459         * gst/vaapi/gstvaapisink.c:
27460         * gst/vaapi/gstvaapiupload.c:
27461         * gst/vaapi/gstvaapiuploader.c:
27462         * gst/vaapi/gstvaapivideobuffer.c:
27463         * gst/vaapi/gstvaapivideoconverter_glx.c:
27464         * gst/vaapi/gstvaapivideometa.c:
27465         * gst/vaapi/gstvaapivideometa.h:
27466           plugins: initial port to GStreamer 1.0.
27467           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
27468           is rather minimalistic so that to test the basic functionality.
27469           Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
27470           needs polishing wrt. to GStreamer 1.x functionality and the former are
27471           totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
27472           which are yet to be implemented.
27473           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27474
27475 2013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27476
27477         * gst-libs/gst/vaapi/gstcompat.h:
27478         * tests/codec.c:
27479         * tests/decoder.c:
27480         * tests/simple-decoder.c:
27481         * tests/test-subpicture.c:
27482           tests: add support for GStreamer 1.0.
27483
27484 2012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27485
27486         * configure.ac:
27487         * gst-libs/gst/vaapi/gstcompat.h:
27488         * gst-libs/gst/vaapi/gstvaapicontext.c:
27489         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27490         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27491         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27492         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27493         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27494         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27495         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27496         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27497         * gst-libs/gst/vaapi/gstvaapiimage.c:
27498         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27499         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27500         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27501         * gst-libs/gst/vaapi/gstvaapisurface.h:
27502           Add initial support for GStreamer 1.0.
27503           This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
27504           core decoding library. The changes are kept rather minimal here so that
27505           the library retains as little dependency as possible on core GStreamer
27506           functionality.
27507           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27508
27509 2013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27510
27511         * gst/vaapi/gstvaapisink.c:
27512           vaapisink: improve check for raw YUV format mode.
27513           Improve check for raw YUV format modes by avoiding checks against strings
27514           ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
27515           GstBaseSink::set_caps() is called first and if VA surface format mode is
27516           used, then GstBaseSink::buffer_alloc() is not called. If the latter is
27517           called before set_caps(), then we just make a full check. This one is
27518           pretty rare though, e.g. it usually happens once for custom pipelines.
27519
27520 2013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27521
27522         * gst/vaapi/gstvaapipluginutil.c:
27523           plugins: don't fail if there is no overlay composition to apply.
27524           Fix gst_vaapi_apply_composition() to not fail if no overlay composition
27525           was found. i.e. return success (TRUE). This was harmless though extra
27526           debug messages are not nice.
27527           This is a regression introduced by commit 95b8659.
27528
27529 2013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27530
27531         * gst/vaapi/gstvaapidecode.c:
27532         * gst/vaapi/gstvaapidecode.h:
27533           vaapidecode: expose the exact set of supported HW decoders.
27534           Don't return static caps that don't mean anything for the underlying codecs
27535           that are actually supported for decoding. i.e. always allocate a VA display
27536           and retrieve the exact set of HW decoders available. That VA display may be
27537           re-used later on during negotiation through GstVideoContext "prepare-context".
27538           This fixes fallback to SW decoding if no HW decoder is available.
27539
27540 2013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27541
27542         * docs/reference/libs/libs-sections.txt:
27543         * gst-libs/gst/vaapi/gstvaapicontext.c:
27544         * gst-libs/gst/vaapi/gstvaapicontext.h:
27545         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27546         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27547           decoder: drop obsolete functions.
27548           Drop the following functions that are now obsolete:
27549           - gst_vaapi_context_get_surface()
27550           - gst_vaapi_context_put_surface()
27551           - gst_vaapi_context_find_surface_by_id()
27552           - gst_vaapi_surface_proxy_new()
27553           - gst_vaapi_surface_proxy_get_context()
27554           - gst_vaapi_surface_proxy_set_context()
27555           - gst_vaapi_surface_proxy_set_surface()
27556           This is an API change.
27557
27558 2013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27559
27560         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27561           decoder: delegate surface size check to VA context reset.
27562           Now that the surface pool is reference counted in the surface proxy wrapper,
27563           we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
27564           Besides, this check is already performed in gst_vaapi_context_reset_full().
27565
27566 2013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27567
27568         * docs/reference/libs/libs-sections.txt:
27569         * gst-libs/gst/vaapi/gstvaapicontext.c:
27570         * gst-libs/gst/vaapi/gstvaapicontext.h:
27571         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27572         * gst-libs/gst/vaapi/gstvaapisurface.h:
27573         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27574         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27575           decoder: simplify acquisition/release of spare surface.
27576           Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
27577           proxy from the context surface pool. This change also makes sure to retain
27578           the parent surface pool in the proxy.
27579           Besides, it was also totally useless to attach/detach parent context to
27580           VA surface each time we acquire/release it. Since the whole context owns
27581           all associated VA surfaces, we can mark this as such only once and for all.
27582
27583 2013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27584
27585         * configure.ac:
27586           Bump version for development.
27587
27588 2013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27589
27590         * NEWS:
27591         * configure.ac:
27592           0.5.2.
27593
27594 2013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27595
27596         * NEWS:
27597           NEWS: updates.
27598
27599 2013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27600
27601         * gst/vaapi/gstvaapipluginutil.c:
27602         * gst/vaapi/gstvaapisink.c:
27603           plugins: fix usage of gst_vaapi_reply_to_query().
27604           Make gst_vaapi_reply_to_query() first check whether the query argument
27605           is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
27606           Then, make sure vaapisink propagates the query to the parent class if
27607           it is not a video-context query.
27608
27609 2013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27610
27611         * gst/vaapi/gstvaapivideobuffer.c:
27612         * gst/vaapi/gstvaapivideobuffer.h:
27613           plugins: streamline video buffers.
27614           Add new gst_vaapi_video_buffer_new() helper function that allocates a video
27615           buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
27616           gst_vaapi_video_buffer_get_meta().
27617
27618 2013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27619
27620         * docs/reference/libs/libs-sections.txt:
27621         * gst-libs/gst/vaapi/Makefile.am:
27622         * gst/vaapi/Makefile.am:
27623         * gst/vaapi/gstvaapidecode.c:
27624         * gst/vaapi/gstvaapidownload.c:
27625         * gst/vaapi/gstvaapipostproc.c:
27626         * gst/vaapi/gstvaapisink.c:
27627         * gst/vaapi/gstvaapiupload.c:
27628         * gst/vaapi/gstvaapiuploader.c:
27629         * gst/vaapi/gstvaapivideobuffer.h:
27630         * gst/vaapi/gstvaapivideoconverter_glx.c:
27631         * gst/vaapi/gstvaapivideometa.c:
27632         * gst/vaapi/gstvaapivideometa.h:
27633           plugins: integrate GstVaapiVideoMeta from libgstvaapi.
27634           Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
27635           actual plugin elements. That's only useful there. Also inline reference
27636           counting code from GstVaapiMiniObject.
27637
27638 2013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27639
27640         * gst/vaapi/Makefile.am:
27641         * gst/vaapi/gstvaapidecode.c:
27642         * gst/vaapi/gstvaapidownload.c:
27643         * gst/vaapi/gstvaapipluginbuffer.c:
27644         * gst/vaapi/gstvaapipluginbuffer.h:
27645         * gst/vaapi/gstvaapipostproc.c:
27646         * gst/vaapi/gstvaapiupload.c:
27647         * gst/vaapi/gstvaapiuploader.c:
27648         * gst/vaapi/gstvaapivideobuffer.c:
27649         * gst/vaapi/gstvaapivideobuffer.h:
27650           plugins: drop gstvaapipluginbuffer.[ch] helper files.
27651           Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
27652           to gstvaapivideobuffer.[ch], and drop the obsolete files.
27653
27654 2013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27655
27656         * docs/reference/libs/libs-sections.txt:
27657         * docs/reference/libs/libs.core.types:
27658         * gst-libs/gst/vaapi/Makefile.am:
27659         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27660         * gst/vaapi/Makefile.am:
27661         * gst/vaapi/gstvaapidownload.h:
27662         * gst/vaapi/gstvaapipluginbuffer.c:
27663         * gst/vaapi/gstvaapipostproc.h:
27664         * gst/vaapi/gstvaapivideobuffer.c:
27665         * gst/vaapi/gstvaapivideobuffer.h:
27666         * gst/vaapi/gstvaapivideoconverter_glx.h:
27667           plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
27668           Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
27669           actual plugin elements. That's only useful there.
27670
27671 2013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27672
27673         * gst/vaapi/gstvaapipluginutil.c:
27674         * gst/vaapi/gstvaapipluginutil.h:
27675         * gst/vaapi/gstvaapisink.c:
27676         * gst/vaapi/gstvaapivideoconverter_glx.c:
27677           plugins: use common helper function to apply compositions.
27678           Use common gst_vaapi_apply_composition() helper function to apply compositions
27679           attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
27680
27681 2013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27682
27683         * gst-libs/gst/vaapi/Makefile.am:
27684         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27685         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
27686         * gst/vaapi/Makefile.am:
27687         * gst/vaapi/gstvaapipluginbuffer.c:
27688         * gst/vaapi/gstvaapivideoconverter_glx.c:
27689         * gst/vaapi/gstvaapivideoconverter_glx.h:
27690           plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
27691           Make sure libgstvaapi core decoding library doesn't include un-needed
27692           dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
27693           Besides, even if the vaapisink element is not used, we are bound to have
27694           a correctly populated GstSurfaceBuffer from vaapidecode.
27695           Also clean-up the file along the way.
27696
27697 2013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27698
27699         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27700           vc1: fix use of possibly uninitialized variable.
27701           In decode_codec_data(), force initialization of format to zero so that
27702           we can catch up cases where codec-data has neither "format" nor "wmvversion"
27703           fields, thus making it possible to gracefully fail in this case.
27704
27705 2013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27706
27707         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27708           jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
27709
27710 2013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27711
27712         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27713         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27714         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27715         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27716         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27717         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27718           decoder: sanitize codec-data decoding.
27719           Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
27720           codec-data in the decoder sub-class. Provide a common shared helper
27721           function to do the actual work and delegating further to the sub-class.
27722
27723 2013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27724
27725         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27726         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27727         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
27728         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
27729           decoder: get rid of GstVaapiDecoderUnit::buffer field.
27730           Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
27731           useless nowadays as creating sub-buffers doesn't bring any value. It
27732           actually means more memory allocations. We can't do without that in
27733           JPEG and MPEG-4:2 decoders.
27734
27735 2013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27736
27737         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27738         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27739         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27740         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27741         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27742           decoder: sanitize uses of codec frame input buffer (cosmetics).
27743           Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
27744           "buffer" variable.
27745
27746 2013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27747
27748         * gst/vaapi/gstvaapisink.c:
27749           vaapisink: add helper function to apply a composition buffer.
27750           Simplify application of a composition buffer to a GstVaapiSurface, and
27751           all its peers, until that function is eventually promoted to libgstvaapi.
27752
27753 2013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27754
27755         * gst/vaapi/gstvaapisink.c:
27756           vaapisink: fix support for raw YUV buffers.
27757           If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
27758           hook, then it will have a valid GstVaapiVideoMeta object attached to it.
27759           However, we previously assumed in that case that it was a "native" VA buffer,
27760           thus not calling into GstVaapiUploader::process().
27761
27762 2013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27763
27764         * gst-libs/gst/vaapi/gstcompat.h:
27765         * gst/vaapi/gstvaapidecode.c:
27766         * gst/vaapi/gstvaapidownload.c:
27767         * gst/vaapi/gstvaapipostproc.c:
27768         * gst/vaapi/gstvaapisink.c:
27769         * gst/vaapi/gstvaapiupload.c:
27770           plugins: use modern GstElement metadata information.
27771           Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
27772           basically is the same as gst_element_class_set_details_simple() in
27773           GStreamer 0.10 context.
27774
27775 2013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27776
27777         * gst/vaapi/gstvaapidecode.c:
27778         * gst/vaapi/gstvaapidownload.c:
27779         * gst/vaapi/gstvaapipostproc.c:
27780         * gst/vaapi/gstvaapisink.c:
27781         * gst/vaapi/gstvaapiupload.c:
27782           plugins: move up interfaces (cosmetics).
27783           Move GstImplementsInterface and GstVideoContext support functions up
27784           so that to keep a clear separation between the plugin element and its
27785           interface hooks.
27786
27787 2013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27788
27789         * gst/vaapi/gstvaapisink.c:
27790         * gst/vaapi/gstvaapiuploader.c:
27791           plugins: upgrade to newer APIs (GstVideoInfo based helpers).
27792           Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
27793           Also use the newly added gst_vaapi_image_format_from_structure() helper
27794           in GstVaapiUploader::ensure_allowed_caps().
27795
27796 2013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27797
27798         * gst/vaapi/gstvaapipluginbuffer.c:
27799           plugins: fix creation of video buffer from another source buffer.
27800           gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
27801           buffer video meta since it would be unreference'd from the get_buffer()
27802           helper function. For other cases, we still use (steal) the newly created
27803           video meta.
27804
27805 2013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27806
27807         * gst/vaapi/gstvaapipluginbuffer.c:
27808         * gst/vaapi/gstvaapipluginutil.c:
27809           plugins: include "sysdeps.h" header instead of "config.h".
27810
27811 2013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27812
27813         * gst-libs/gst/vaapi/gstcompat.h:
27814         * tests/codec.c:
27815           tests: modernize GstTypeFind functions.
27816           Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
27817           exactly correspond to the expected behaviour.
27818
27819 2013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27820
27821         * tests/image.c:
27822         * tests/image.h:
27823         * tests/test-decode.c:
27824         * tests/test-display.c:
27825         * tests/test-h264.c:
27826         * tests/test-h264.h:
27827         * tests/test-jpeg.c:
27828         * tests/test-jpeg.h:
27829         * tests/test-mpeg2.c:
27830         * tests/test-mpeg2.h:
27831         * tests/test-mpeg4.c:
27832         * tests/test-mpeg4.h:
27833         * tests/test-textures.c:
27834         * tests/test-vc1.c:
27835         * tests/test-vc1.h:
27836         * tests/test-windows.c:
27837           tests: fix license templates.
27838
27839 2013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27840
27841         * tests/test-display.c:
27842           tests: use gst_vaapi_image_format_from_structure() in test-display.
27843           Use gst_vaapi_image_format_from_structure() helper in test-display and
27844           then extract a VAImageFormat from it instead of relying on GstCaps for
27845           YUV and RGB formats.
27846
27847 2013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27848
27849         * tests/codec.c:
27850         * tests/decoder.c:
27851         * tests/output.c:
27852         * tests/test-decode.c:
27853         * tests/test-display.c:
27854         * tests/test-subpicture.c:
27855         * tests/test-textures.c:
27856         * tests/test-windows.c:
27857           tests: include "sysdeps.h" header instead of "config.h".
27858
27859 2013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27860
27861         * gst-libs/gst/vaapi/gstcompat.h:
27862         * gst-libs/gst/vaapi/gstvaapicontext.c:
27863         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27864           subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
27865           Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
27866           function with GStreamer 0.10 compatible semantics, or that tries to
27867           approach the current meaning. Basically, this is also just about moving
27868           the helper to gstcompat.h.
27869
27870 2013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27871
27872         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27873         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27874           image: add gst_vaapi_image_format_from_structure() helper.
27875           Add helper function to convert video formats from a GstStructure to a
27876           plain GstVaapiImageFormat.
27877
27878 2013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27879
27880         * gst-libs/gst/vaapi/Makefile.am:
27881         * gst-libs/gst/vaapi/gstcompat.h:
27882         * gst-libs/gst/vaapi/sysdeps.h:
27883           sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
27884
27885 2013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27886
27887         * gst-libs/gst/vaapi/sysdeps.h:
27888           sysdeps: add more standard includes by default.
27889
27890 2013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27891
27892         * configure.ac:
27893           configure: improve GStreamer API version checks.
27894
27895 2013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27896
27897         * configure.ac:
27898         * debian.upstream/Makefile.am:
27899         * debian.upstream/changelog.in:
27900         * debian.upstream/control.in:
27901         * debian.upstream/gstreamer-vaapi-doc.install.in:
27902         * debian.upstream/libgstvaapi-dev.install.in:
27903         * debian.upstream/libgstvaapi-drm.install.in:
27904         * debian.upstream/libgstvaapi-glx.install.in:
27905         * debian.upstream/libgstvaapi-wayland.install.in:
27906         * debian.upstream/libgstvaapi-x11.install.in:
27907         * debian.upstream/libgstvaapi.install.in:
27908         * docs/reference/libs/Makefile.am:
27909         * docs/reference/libs/libs-docs.xml.in:
27910         * docs/reference/plugins/Makefile.am:
27911         * docs/reference/plugins/plugins-docs.xml.in:
27912         * gst-libs/gst/vaapi/Makefile.am:
27913         * gst/vaapi/Makefile.am:
27914         * pkgconfig/Makefile.am:
27915         * pkgconfig/gstreamer-vaapi-drm.pc.in:
27916         * pkgconfig/gstreamer-vaapi-glx.pc.in:
27917         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
27918         * pkgconfig/gstreamer-vaapi-x11.pc.in:
27919         * pkgconfig/gstreamer-vaapi.pc.in:
27920         * tests/Makefile.am:
27921           configure: rename GST_MAJORMINOR to GST_API_VERSION.
27922
27923 2013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27924
27925         * configure.ac:
27926           configure: improve check for H.264 codecparser.
27927
27928 2013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
27929
27930         * gst/vaapi/gstvaapiuploader.c:
27931           vaapiupload: fix illegal write in ensure_image().
27932           Fix ensure_image() to only zero-initialize the first line of each plane.
27933           Properly initializing each plane to their full vertical resolution would
27934           require to actually compute it based on the image format.
27935           In particular, for NV12 images, the UV plane has half vertical resolution
27936           vs. the Y plane. So using the full image height to initialize the UV plane
27937           will obviously lead to a buffer overflow. Likewise for other YUV format.
27938           Since ensure_image() is only a helper function to initialize something,
27939           and not necessarily the whole thing, it is fine to initializ the first
27940           line only. Besides, the target surface is not rendered either.
27941           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27942
27943 2013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
27944
27945         * gst-libs/gst/codecparsers/Makefile.am:
27946         * gst-libs/gst/video/Makefile.am:
27947           build: fix compiling of local GstVideoDecoder and codecparsers.
27948           Generated source files were missing a dependency on the complete set of
27949           generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
27950           to build and almost every codec parser source depends on parserutils.h.
27951           https://bugs.freedesktop.org/show_bug.cgi?id=59575
27952           Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
27953           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27954
27955 2013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27956
27957         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27958           h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
27959           Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
27960           there is no pred_weight_table() that was parsed.
27961           This is a workaround for the VA intel-driver on Ivy Bridge.
27962
27963 2013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27964
27965         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27966           h264: use new profile definitions from codecparsers.
27967
27968 2013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27969
27970         * ext/codecparsers:
27971           codecparsers: update to gst-vaapi-branch commit 500bc02.
27972           500bc02 h264: add profile enums
27973
27974 2013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27975
27976         * NEWS:
27977           NEWS: updates.
27978
27979 2013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27980
27981         * ext/codecparsers:
27982           codecparsers: update to gst-vaapi-branch commit 31b1c57.
27983           8957fb7 mpeg2: add helpers to convert quantization matrices
27984           07c4034 mpeg2: store quantization matrices in zigzag scan order
27985
27986 2013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27987
27988         * tests/simple-decoder.c:
27989           tests: simple-decoder: fix build on older platforms.
27990           Make simple-decoder build and execute correctly on older platforms,
27991           and more precisely older versions of glib.
27992
27993 2013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27994
27995         * gst-libs/gst/vaapi/glibcompat.h:
27996           glibcompat: add replacement for g_async_queue_timeout_pop().
27997           g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
27998           g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
27999           new data to arrive in the queue.
28000
28001 2013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28002
28003         * gst-libs/gst/vaapi/glibcompat.h:
28004           glibcompat: add replacement for g_cond_wait().
28005
28006 2013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28007
28008         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28009           mpeg2: fix decoding of 4K videos.
28010           Account for slice_vertical_position_extension when vertical_size > 2800.
28011
28012 2013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28013
28014         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28015           mpeg2: fix decoding of sequence_end().
28016           There shall be only one place to call decode_current_picture(), and this
28017           is in the end_frame() hook. The EOS unit is processed after end_frame()
28018           so this means we cannot have a valid picture to decode/output at this
28019           point.
28020
28021 2013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28022
28023         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28024           mpeg2: improve robustness when packets are missing.
28025           Improve robustness when some expected packets where not received yet
28026           or that were not correctly decoded. For example, don't try to decode
28027           a picture if there was no valid sequence or picture headers.
28028
28029 2013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28030
28031         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28032           decoder: handle decode-only frames in raw API mode.
28033           Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
28034           surface proxy, i.e. with a valid VA surface. This means that any frame
28035           marked as decode-only is simply skipped.
28036
28037 2013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28038
28039         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28040         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28041           decoder: allow frames to be dropped.
28042           If the decoder was not able to decode a frame because insufficient
28043           information was available, e.g. missing sequence or picture header,
28044           then allow the frame to be gracefully dropped without generating
28045           any error.
28046           It is also possible that a frame is not meant to be displayed but
28047           only used as a reference, so dropping that frame is also a valid
28048           operation since GstVideoDecoder base class has extra references to
28049           that GstVideoCodecFrame that needs to be released.
28050
28051 2013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28052
28053         * gst/vaapi/gstvaapidecode.c:
28054           vaapidecode: handle decode-only frames.
28055           Decode-only frames may not have a valid surface proxy. So, simply discard
28056           them gracefully, i.e. don't create meta data information. GstVideoDecoder
28057           base class will properly handle this case and won't try to push any buffer
28058           to downstream elements.
28059
28060 2013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28061
28062         * gst/vaapi/gstvaapidecode.c:
28063           vaapidecode: add support for post-seek semantics reset.
28064           Implement GstVideoDecoder::reset() as a destruction of the VA decoder
28065           and the creation of a new VA decoder.
28066           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28067
28068 2013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28069
28070         * configure.ac:
28071           Bump version for development.
28072
28073 2013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28074
28075         * NEWS:
28076         * configure.ac:
28077           0.5.1.
28078
28079 2013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28080
28081         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28082           mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
28083
28084 2013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28085
28086         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28087           decoder: fix documentation for GstVaapiDecoderFrame.
28088           Drop superfluous reference to prev_slice member.
28089
28090 2013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28091
28092         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28093           decoder: assume current frame is complete at end-of-stream.
28094           Assume we got a complete frame when the end-of-stream is reached and that
28095           the current codec frame contains at least one slice data unit.
28096
28097 2013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28098
28099         * NEWS:
28100         * README:
28101         * debian.upstream/copyright:
28102         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
28103         * gst-libs/gst/vaapi/gstvaapicontext.c:
28104         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28105         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28106         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28107         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28108         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28109         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28110         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28111         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28112         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28113         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28114         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28115         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28116         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28117         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28118         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28119         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28120         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28121         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28122         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
28123         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
28124         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28125         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28126         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28127         * gst-libs/gst/vaapi/gstvaapisurface.c:
28128         * gst-libs/gst/vaapi/gstvaapiutils.c:
28129         * gst-libs/gst/vaapi/gstvaapiutils.h:
28130         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28131         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28132         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
28133         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28134         * gst-libs/gst/vaapi/sysdeps.h:
28135         * gst/vaapi/gstvaapidecode.c:
28136         * gst/vaapi/gstvaapidownload.c:
28137         * gst/vaapi/gstvaapipluginbuffer.c:
28138         * gst/vaapi/gstvaapipluginbuffer.h:
28139         * gst/vaapi/gstvaapipostproc.c:
28140         * gst/vaapi/gstvaapisink.c:
28141         * gst/vaapi/gstvaapiupload.c:
28142         * gst/vaapi/gstvaapiuploader.c:
28143         * tests/output.c:
28144         * tests/test-decode.c:
28145         * tests/test-subpicture.c:
28146           legal: fix year for some copyright notices (2013).
28147
28148 2013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28149
28150         * gst-libs/gst/vaapi/gstvaapicontext.h:
28151         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28152         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28153         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
28154         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28155         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
28156         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28157         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
28158         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28159         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28160         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28161         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28162         * gst-libs/gst/vaapi/gstvaapisurface.c:
28163         * gst-libs/gst/vaapi/gstvaapisurface.h:
28164         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
28165         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
28166         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28167         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28168         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
28169         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
28170         * gst/vaapi/gstvaapidecode.h:
28171         * gst/vaapi/gstvaapisink.h:
28172         * tests/test-subpicture.c:
28173           legal: fix year for some copyright notices (2012).
28174
28175 2013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28176
28177         * gst-libs/gst/vaapi/gstvaapicompat.h:
28178         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
28179         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28180         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
28181         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28182         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28183         * gst-libs/gst/vaapi/gstvaapiobject.c:
28184         * gst-libs/gst/vaapi/gstvaapiobject.h:
28185         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
28186         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
28187         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
28188         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28189         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28190         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28191         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28192         * gst-libs/gst/vaapi/gstvaapitexture.c:
28193         * gst-libs/gst/vaapi/gstvaapitexture.h:
28194         * gst-libs/gst/vaapi/gstvaapitypes.h:
28195         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28196         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28197         * gst-libs/gst/vaapi/gstvaapivalue.c:
28198         * gst-libs/gst/vaapi/gstvaapivalue.h:
28199         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28200         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28201         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28202         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
28203         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
28204         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28205         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28206         * tests/test-display.c:
28207         * tests/test-surfaces.c:
28208         * tests/test-windows.c:
28209           legal: add Intel copyright on modified files.
28210
28211 2013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28212
28213         * NEWS:
28214           NEWS: updates.
28215
28216 2013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28217
28218         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28219           wayland: use a local event queue to avoid lock contention.
28220           This improves performance when rendering several surfaces from within
28221           the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
28222
28223 2013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28224
28225         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28226           wayland: fix thread-safe issues.
28227           The Wayland API is not fully thread-safe and client applications shall
28228           perform locking themselves on key functions. Besides, make sure to
28229           release the lock if the _render() function fails.
28230
28231 2013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28232
28233         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28234           wayland: really wait until the pending redraw completed.
28235           Introduce gst_vaapi_window_wayland_sync() helper function to wait for
28236           the completion of the redraw request. Use it in _render() function to
28237           actually block until the previous draw request is completed.
28238
28239 2013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28240
28241         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28242           wayland: fix frame_redraw callback.
28243           The redraw callback needs to be attached to the surface prior to the
28244           commit. Otherwise, the callback notifies the next surface repaint,
28245           which is not the desired behaviour. i.e. we want to be notified for
28246           the surface we have just filled.
28247           Another isse was the redraw_pending was reset before the actual completion
28248           of the frame redraw callback function, thus causing concurrency issues.
28249           e.g. the callback could have been called again, but with a NULL buffer.
28250
28251 2013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28252
28253         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
28254           wayland: fix display sharing.
28255           When the Wayland display is shared, we still have to create our own local
28256           shell and compositor objects, since they are not propagated from the cache.
28257           Likewise, we also need to determine the display size or vaapisink would
28258           fail to account for the display aspect ratio, and will try to create a 0x0
28259           window.
28260
28261 2013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28262
28263         * ext/codecparsers:
28264           codecparsers: update to gst-vaapi-branch commit 21a098e.
28265           21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
28266           f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
28267
28268 2013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28269
28270         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28271           vc1: handle frames with multiple slices.
28272
28273 2013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28274
28275         * ext/codecparsers:
28276           codecparsers: update to gst-vaapi-branch commit 3fba492.
28277           3fba492 vc1: add API to parse slice headers
28278
28279 2013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28280
28281         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28282           vc1: handle CLOSED_ENTRY.
28283           When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
28284           lack a reference anchor picture, these B pictures shall be discarded.
28285           https://bugs.freedesktop.org/show_bug.cgi?id=59505
28286
28287 2013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28288
28289         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28290           vc1: cope with latest codecparser changes.
28291           Fix build with newer VC-1 codecparser where dqsbedge was renamed to
28292           dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
28293           the actual value of DQPROFILE.
28294
28295 2013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28296
28297         * ext/codecparsers:
28298           codecparsers: update to gst-vaapi-branch commit 3d2c67c.
28299           3d2c67c vc1: simplify GstVC1VopDquant structure
28300
28301 2013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28302
28303         * ext/codecparsers:
28304           codecparsers: update to gst-vaapi-branch commit 5d33da8.
28305           5d33da8 vc1: fix bitplanes decoding
28306           562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
28307           0b13d2b vc1: fix calculation of ALTPQUANT
28308           ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
28309
28310 2013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28311
28312         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28313           vc1: fix size of encapsulated BDU.
28314           Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
28315           the size of the BDU data, starting from offset, i.e. after any start
28316           code is parsed.
28317           This fixes a buffer overflow during the unescaping process.
28318
28319 2013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
28320
28321         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28322           vc1: fix decoding of WMV3 videos in AVI format.
28323           The AVI demuxer (avidemux) does not set a proper "format" attribute
28324           to the generated caps. So, try to recover the video codec format from
28325           the "wmvversion" property instead.
28326           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28327
28328 2013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28329
28330         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28331           vc1: review and report errors accordingly.
28332           Use GST_ERROR() to report real errors instead of hiding them into
28333           GST_DEBUG().
28334
28335 2013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28336
28337         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28338           vc1: don't create GstBuffers for all decoder units.
28339           Don't create temporary GstBuffers for all decoder units, even if they
28340           are lightweight "sub-buffers", since it is not really necessary to keep
28341           the buffer data around.
28342
28343 2013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28344
28345         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28346           vc1: implement flush() hook.
28347           Make it a simple DPB flush.
28348
28349 2013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28350
28351         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28352           vc1: implement {start,end}_frame() hooks.
28353           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
28354           that to create new VA context earlier and submit VA pictures to the
28355           HW for decoding as soon as possible. i.e. don't wait for the next
28356           frame to start decoding the previous one.
28357
28358 2013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28359
28360         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28361           vc1: fix next POC for new sequence layers.
28362           Fix next POC when a new sequence layer is reached. At this point, we
28363           need to reset any previous reference picture, i.e. non B-frame.
28364
28365 2012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28366
28367         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28368           vc1: port to common GstVaapiDpb interface.
28369           Use GstVaapiDpb interface instead of maintaining our own prev and next
28370           picture pointers. While doing so, try to derive a sensible POC value.
28371           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28372
28373 2013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28374
28375         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28376           vc1: fix decode_sequence_end() to return success, not EOS.
28377
28378 2013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28379
28380         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28381           decoder: simplify gst_vaapi_decoder_get_surface().
28382           Avoid extraenous branches, i.e. immediately return with success once we
28383           have a decoded frame available.
28384
28385 2013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28386
28387         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28388           decoder: optimize and clean decode_step() up.
28389           Avoid usage of goto. Simplify decode_step() process to first accumulate all
28390           pending buffers into the GstAdapter, and then parse and decode units from
28391           that input adapter. Stop the process once a frame is fully decoded or an
28392           error occurred.
28393
28394 2013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28395
28396         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28397           display: move "vaapi" debug init to libgstvaapi_init_once().
28398
28399 2013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28400
28401         * configure.ac:
28402         * gst-libs/gst/vaapi/Makefile.am:
28403         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28404         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
28405           display: dump gstreamer-vaapi version for debugging purposes.
28406
28407 2013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28408
28409         * tests/Makefile.am:
28410           tests: simple-decoder: fix build with built-in videoutils.
28411           Fix build with built-in videoutils, i.e. when system GStreamer installation
28412           does not know about GstVideoDecoder API.
28413
28414 2013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28415
28416         * tests/simple-decoder.c:
28417           tests: simple-decoder: flush decoded frames at EOS.
28418           Flush the remaining decoded frames when an end-of-stream is reached.
28419
28420 2013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28421
28422         * tests/simple-decoder.c:
28423           tests: simple-decoder: drop use of GstVaapiVideoMeta.
28424           Don't use GstVaapiVideoMeta since that object is not guaranteed to live
28425           in libgstvaapi forever. Rather, that'd move to plugin elements at some
28426           point.
28427
28428 2013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28429
28430         * tests/simple-decoder.c:
28431           tests: simple-decoder: add benchmark mode.
28432           Add --benchmark option to enable benchmark mode where rendering is not
28433           synchronized with presentation timestamps of the decoded surfaces.
28434
28435 2013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28436
28437         * tests/Makefile.am:
28438         * tests/simple-decoder.c:
28439           tests: simple-decoder: honour framerate from the bitstream.
28440           Try to honour the framerate from the bitstream, or cap the playback to
28441           60 fps by default.
28442
28443 2013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28444
28445         * tests/simple-decoder.c:
28446           tests: simple-decoder: set window size to the surface dimensions.
28447           Set the window size to the decoded surface dimensions, if the user has
28448           not requested the application to run in full-screen mode. Besides, no
28449           effort is made to preserve aspect ratio or to center the video within
28450           the mapped window.
28451
28452 2013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28453
28454         * tests/Makefile.am:
28455         * tests/simple-decoder.c:
28456           tests: add simple decoder application.
28457           Add simple decoder application to show off decoding capabilities from
28458           raw bitstreams, for debugging or performance evaluation purposes.
28459
28460 2013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28461
28462         * tests/Makefile.am:
28463         * tests/codec.c:
28464         * tests/codec.h:
28465           tests: add codec helper utils.
28466           Add helper functions to determine the codec type from a specific file
28467           or utility functions to convert from codec type to GstCaps or from
28468           codec name to codec type.
28469
28470 2013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28471
28472         * tests/output.c:
28473           tests: allow fullscreen mode.
28474           Add new --fullscreen|-f option to create new windows in fullscreen mode.
28475
28476 2013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28477
28478         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28479           h264: implement GstVaapiDecoder::flush() as a DPB flush.
28480
28481 2013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28482
28483         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28484           h264: handle end-of-stream NALU.
28485           Handle <end-of-stream> NAL unit to actually flush any pending picture
28486           from the DPB.
28487
28488 2013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28489
28490         * gst/vaapi/gstvaapidecode.c:
28491           vaapidecode: handle EOS events.
28492           Flush all decoded frames to downstream when EOS is received. This is
28493           performed by implementing GstVideoDecoder::finish() hook.
28494
28495 2013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28496
28497         * gst/vaapi/gstvaapidecode.c:
28498           vaapidecode: split gvd_handle_frame() into decode/push frames.
28499           Split GstVideoDecoder::handle_frame() implementation into two functions:
28500           (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
28501           for purging all decoded frames and submit them downstream.
28502
28503 2013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28504
28505         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28506         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28507           decoder: add GstVaapiDecoder::flush() hook.
28508
28509 2013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28510
28511         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28512         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28513           decoder: fix check for end-of-stream in raw API mode.
28514           Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
28515           if the end-of-stream was already reached at the previous iteration.
28516
28517 2013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28518
28519         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28520           decoder: make decode_step() return once the frame is decoded.
28521           Make sure we always have a free surface left to use for decoding the
28522           current frame. This means that decode_step() has to return once a frame
28523           gets decoded. If the current adapter contains more buffers with valid
28524           frames, they will get parsed and decoded on subsequent iterations.
28525
28526 2013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28527
28528         * ext/codecparsers:
28529           codecparsers: update to gst-vaapi-branch commit b47983a.
28530           8840c2d h264: zero-initialize SPS VUI parameters
28531
28532 2013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28533
28534         * configure.ac:
28535           Bump version for development.
28536
28537 2013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28538
28539         * NEWS:
28540         * configure.ac:
28541           0.5.0.
28542
28543 2013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28544
28545         * docs/reference/libs/libs-docs.xml.in:
28546         * docs/reference/libs/libs-sections.txt:
28547         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28548         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28549         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28550           docs: expose new interfaces.
28551
28552 2013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28553
28554         * NEWS:
28555           NEWS: updates.
28556
28557 2013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28558
28559         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28560           dpb: cosmetics (clean-ups).
28561
28562 2013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28563
28564         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28565         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28566         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28567           dpb: port to GstVaapiMiniObject.
28568
28569 2013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28570
28571         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28572         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28573         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28574           dpb: drop GstVaapiDpb2 interface, keep only one class.
28575           Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
28576           to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
28577           around the specified picture POC.
28578
28579 2012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28580
28581         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
28582         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
28583         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28584           dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
28585           Move GstVaapiDpbMpeg2 API to a more generic version that could also be
28586           useful to other decoders that require 2 reference pictures, e.g. VC-1.
28587           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28588
28589 2013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28590
28591         * configure.ac:
28592           Bump version for pre-release.
28593
28594 2013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28595
28596         * NEWS:
28597           NEWS: updates.
28598
28599 2012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
28600
28601         * configure.ac:
28602         * gst-libs/gst/vaapi/gstvaapicontext.c:
28603         * gst-libs/gst/vaapi/gstvaapiutils.c:
28604         * gst-libs/gst/vaapi/sysdeps.h:
28605         * tests/test-subpicture.c:
28606           overlay: fix build without advanced GstVideoOverlayFormatFlags.
28607           Check for global-alpha support in GstVideoOverlayComposition API.
28608           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28609
28610 2013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28611
28612         * tests/test-subpicture.c:
28613           tests: add support for global-alpha subpictures.
28614           Add --global-alpha option to test-subpicture.
28615
28616 2013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28617
28618         * tests/Makefile.am:
28619         * tests/test-subpicture.c:
28620           tests: use GstVideoOverlayComposition API for subpicture test.
28621
28622 2013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28623
28624         * tests/Makefile.am:
28625         * tests/test-subpicture.c:
28626           tests: use common decoder helpers for subpicture test.
28627           Use common decoder helpers for subpicture test, thus allowing to decode
28628           sample images in an alternate format.
28629
28630 2013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28631
28632         * tests/Makefile.am:
28633         * tests/decoder.c:
28634         * tests/decoder.h:
28635         * tests/test-decode.c:
28636           tests: add decoder helpers.
28637
28638 2013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28639
28640         * gst-libs/gst/vaapi/gstvaapicontext.c:
28641           overlay: fix ordering of composition layers.
28642           Make sure to maintain the association order of composition layers when
28643           GstVideoOverlayRectangle objects are kept around (cached).
28644
28645 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28646
28647         * gst-libs/gst/vaapi/gstvaapicontext.c:
28648           overlay: fix support for global-alpha.
28649           Fix support for global-alpha subpictures. The previous changes brought
28650           the ability to check for GstVideoOverlayRectangle changes by comparing
28651           the underlying pixel buffer pointers. If sequence number and pixel data
28652           did not change, then this is an indication that only the global-alpha
28653           value changed. Now, try to update the underlying VA subpicture global-alpha
28654           value.
28655           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28656
28657 2013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28658
28659         * gst-libs/gst/vaapi/gstvaapicontext.c:
28660           overlay: detect render-rect changes.
28661           Don't re-upload VA subpicture if only the render rectangle changed.
28662           Rather deassociate the subpicture and re-associate it with the new
28663           render rectangle.
28664
28665 2013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28666
28667         * gst-libs/gst/vaapi/gstvaapicontext.c:
28668           overlay: fix check for pixels buffer change.
28669           A GstVideoOverlayRectangle is created whenever the underlying pixels data
28670           change. However, when global-alpha is supported, it is possible to re-use
28671           the same GstVideoOverlayRectangle but with a change to the global-alpha
28672           value. This process causes a change of sequence number, so we can no longer
28673           check for that.
28674           Still, if sequence numbers did not change, then there was no change in
28675           global-alpha either. So, we need a way to compare the underlying GstBuffer
28676           pointers. There is no API to retrieve the original pixels buffer from
28677           a GstVideoOverlayRectangle. So, we use the following heuristics:
28678           1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
28679           format flags from which the GstVideoOverlayRectangle was created. This
28680           will work if there was no prior consumer of the GstVideoOverlayRectangle
28681           with alternate (non-"native") format flags.
28682           2. In overlay_rectangle_has_changed_pixels(), we have to use the same
28683           gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
28684           with flags that match the subpicture. This is needed to cope with
28685           platforms that don't support global-alpha in HW, so the gst-video
28686           layer takes care of that and fixes this up with a possibly new
28687           GstBuffer, and hence pixels data (or) in-place by caching the current
28688           global-alpha value applied. So we have to determine the rectangle
28689           was previously used, based on what previous flags were used to
28690           retrieve the ARGB pixels buffer.
28691
28692 2013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28693
28694         * gst-libs/gst/vaapi/gstvaapicontext.c:
28695           overlay: optimize cache at the GstVideoOverlayRectangle level.
28696           We previously assumed that an overlay composition changed if the number
28697           of overlay rectangles in there actually changed, or that the rectangle
28698           was updated, and thus its seqnum was also updated.
28699           Now, we can cope with cases where the GstVideoOverlayComposition grew
28700           by one or a few more overlay rectangles, and the initial overlay rectangles
28701           are kept as is.
28702
28703 2013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28704
28705         * gst-libs/gst/vaapi/gstvaapicontext.c:
28706           overlay: simplify caching of GstVideoOverlayComposition objects.
28707           Create the GPtrArray once in the _init() function and destroy it only
28708           in the _finalize() function. Then use overlay_clear() to remove all
28709           subpicture associations for intermediate updates, don't recreate the
28710           GPtrArray.
28711           Make GstVaapiOverlayRectangle a reference counted object. Also make
28712           sure that overlay_rectangle_new() actually creates and associates the
28713           VA subpicture.
28714
28715 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28716
28717         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28718         * gst-libs/gst/vaapi/gstvaapiutils.c:
28719         * gst-libs/gst/vaapi/gstvaapiutils.h:
28720           overlay: add support for global-alpha.
28721           Handle global-alpha from GstVideoOverlayComposition API. Likewise,
28722           the same code path could also work for premultiplied-alpha but this
28723           was not tested.
28724           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28725
28726 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
28727
28728         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28729         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28730         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28731         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28732         * gst-libs/gst/vaapi/gstvaapisurface.c:
28733         * tests/image.c:
28734         * tests/test-subpicture.c:
28735           subpicture: add support for global-alpha.
28736           Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
28737           with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
28738           to address this feature.
28739           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28740
28741 2013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28742
28743         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28744         * gst-libs/gst/vaapi/gstvaapiutils.c:
28745         * gst-libs/gst/vaapi/gstvaapiutils.h:
28746           subpicture: add premultiplied-alpha and global-alpha feature flags.
28747           Add premultiplied-alpha and global-alpha feature flags, along with converters
28748           between VA-API and gstreamer-vaapi definitions. Another round of helpers is
28749           also necessary for GstVideoOverlayComposition API.
28750
28751 2013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28752
28753         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28754           display: allow image/subpicture formats with additional flags.
28755           Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
28756           and any additional flags needed. Currently, all flags are set to zero.
28757
28758 2013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28759
28760         * gst-libs/gst/codecparsers/Makefile.am:
28761         * gst-libs/gst/video/Makefile.am:
28762         * tests/Makefile.am:
28763           libs: fix build of submodule wrappers.
28764           Make sure to build codecparsers/ and videoutils/ sources against the
28765           newly generated headers when out-of-source builds are used.
28766
28767 2013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28768
28769         * configure.ac:
28770           configure: fix checks for packages installed in non-standard roots.
28771
28772 2013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28773
28774         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
28775           decoder: fix mini object implementation on 64-bit systems.
28776           Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
28777           pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
28778           Only a gsize can hold all bits of a pointer.
28779           Thanks to Ouping Zhang for spotting this error.
28780
28781 2013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28782
28783         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28784           mpeg2: optimize scan for the end of the frame.
28785           Heuristic: if the second start-code is available, check whether that
28786           one marks the start of a new frame because e.g. this is a sequence
28787           or picture header. This doesn't save much, since we already cache the
28788           results.
28789
28790 2013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28791
28792         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28793           mpeg2: optimize scan for start codes.
28794           Accelerate scan for start codes by skipping up to 3 bytes per iteration.
28795           A start code prefix is defined by the following bytes: 00 00 01. Thus,
28796           for any group of 3 bytes (xx yy zz), we have the following possible cases:
28797           1. If zz != 1, this cannot be a start code, then skip 3 bytes;
28798           2. If yy != 0, this cannot be a start code, then skip 2 bytes;
28799           3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
28800           4. xx == 00, yy == 00, zz == 1, we have match!
28801           This algorithm requires to peek bytes from the adapter. This increases the
28802           amount of bytes copied to a temporary buffer, but this process is much faster
28803           than scanning for all the bytes and using shift/masks. So, overall, this is
28804           a win.
28805
28806 2013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28807
28808         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28809           mpeg2: drop useless gst_adapter_peek().
28810           Drop useless gst_adapter_peek() since the returned buffer was not used
28811           and this could incur superfluous memcpy().
28812
28813 2013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28814
28815         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28816           mpeg2: cosmetics: move parse_slice() down.
28817
28818 2013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28819
28820         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28821           mpeg2: avoid too many allocations of parser info objects.
28822           Move parsing back to decoding step, but keep functions separate for now.
28823           This is needed for future optimizations that may introduce some meta data
28824           for parsed info attached to codec frames.
28825
28826 2013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28827
28828         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28829         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28830           decoder: decoder units are no longer dynamically allocated objects.
28831
28832 2013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28833
28834         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28835         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28836         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28837           decoder: optimize pre-allocation of decoder units.
28838           Optimize pre-allocation of decoder units, thus avoiding un-necessary
28839           memory reallocations. The heuristic used is that we could have around
28840           one slice unit per macroblock line.
28841
28842 2013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28843
28844         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28845         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
28846         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
28847         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28848         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28849           decoder: use an array of units instead of a single-linked list.
28850           Use a GArray to hold decoder units in a frame, instead of a single-linked
28851           list. This makes 'append' calls faster, but not that much. At least, this
28852           makes things clearer.
28853
28854 2013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28855
28856         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28857         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28858         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28859         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28860         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28861         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28862         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
28863         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
28864         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28865           decoder: refactor decoder unit API.
28866           Allocate decoder unit earlier in the main parse() function and don't
28867           delegate this task to derived classes. The ultimate purpose is to get
28868           rid of dynamic allocation of decoder units.
28869
28870 2013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28871
28872         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28873           mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
28874           Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
28875           from GstVaapiDecoderUnit for MPEG-2 specific parser information.
28876
28877 2013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28878
28879         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28880           h264: introduce parser info instead of H.264 specific decoder unit.
28881           Use a new GstVaapiParserInfoH264 data structure instead of deriving
28882           from GstVaapiDecoderUnit for H.264 specific parser information.
28883
28884 2013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28885
28886         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28887           h264: set default values for some header fields.
28888           The SPS, PPS and slice headers are not fully zero-initialized in the
28889           codecparsers/ library. Rather, the standard upstream behaviour is to
28890           initialize only certain syntax elements with some inferred values if
28891           they are not present in the bitstream.
28892           At the gstreamer-vaapi decoder level, we need to further initialize
28893           certain syntax elements with some sensible default values so that to
28894           not complicate VA drivers that just pass those verbatim to the HW,
28895           and also avoid an memset() of the whole decoder unit.
28896           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28897           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28898
28899 2013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28900
28901         * ext/codecparsers:
28902           codecparsers: update to gst-vaapi-rebased commit b47983a.
28903           b47983a h264: add inferred value for slice_beta_offset_div2
28904
28905 2013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28906
28907         * gst/vaapi/gstvaapidecode.c:
28908         * gst/vaapi/gstvaapidownload.c:
28909         * gst/vaapi/gstvaapipluginbuffer.c:
28910         * gst/vaapi/gstvaapipluginbuffer.h:
28911         * gst/vaapi/gstvaapipostproc.c:
28912         * gst/vaapi/gstvaapisink.c:
28913         * gst/vaapi/gstvaapiupload.c:
28914         * gst/vaapi/gstvaapiuploader.c:
28915           plugins: cope with new GstVaapiVideoMeta API.
28916           Update plugin elements with the new GstVaapiVideoMeta API.
28917           This also fixes support for subpictures/overlay because GstVideoDecoder
28918           generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
28919           is marked as read-only. However, when comes in the textoverlay element
28920           for example, it checks whether the input buffer is writable. Since that
28921           buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
28922           does not preserve the parent field, the generated buffer in textoverlay
28923           is not exploitable because we lost all VA specific information.
28924           Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
28925           all information are preserved through gst_buffer_copy() since the latter
28926           does copy metadata (qdata in this case).
28927
28928 2013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28929
28930         * gst-libs/gst/vaapi/Makefile.am:
28931         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28932         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28933         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
28934         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
28935         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
28936         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
28937           videobuffer: wrap video meta into a surface buffer.
28938           Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
28939           no longer necessary but for compatibility with GStreamer 0.10 APIs or users
28940           expecting a GstSurfaceBuffer like Clutter.
28941
28942 2013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28943
28944         * gst-libs/gst/vaapi/Makefile.am:
28945         * gst-libs/gst/vaapi/gstvaapivideometa.c:
28946         * gst-libs/gst/vaapi/gstvaapivideometa.h:
28947           videobuffer: add video meta information.
28948           Add new GstVaapiVideoMeta object that holds all information needed to
28949           convey gst-vaapi specific data as a GstBuffer.
28950
28951 2013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28952
28953         * gst/vaapi/gstvaapidecode.c:
28954           vaapidecode: fix calculation of the time-out value.
28955           Fix calculation of the time-out value for cases where no VA surface is
28956           available for decoding. In this case, we need to wait until downstream
28957           sink consumed at least one surface. The time-out was miscalculated as
28958           it was always set to <current-time> + one second, which is not suitable
28959           for streams with larger gaps.
28960
28961 2013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28962
28963         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
28964           decoder: always use the calculated presentation timestamp.
28965           Use PTS value computed by the decoder, which could also be derived from
28966           the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
28967           the original one was miscomputed or only represented a DTS instead.
28968
28969 2013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28970
28971         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28972           h264: don't create sub-buffer for slice data.
28973
28974 2013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28975
28976         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28977           decoder: create new context when encoded resolution changes.
28978           Create a new VA context if the encoded surface size changes because we
28979           need to keep the underlying surface pool until the last one was released.
28980           Otherwise, either of the following cases could have happened: (i) release
28981           a VA surface to an inexistent pool, or (ii) release VA surface to an
28982           existing surface pool, but with different size.
28983
28984 2013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28985
28986         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28987           mpeg2: don't create sub-buffer for slice data.
28988           Avoid creating a GstBuffer for slice data. Rather, directly use the codec
28989           frame input buffer data. This is possible because the codec frame is valid
28990           until end_frame() where we submit the VA buffers for decoding. Anyway, the
28991           slice data buffer is copied into the VA buffer when it is created.
28992
28993 2013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28994
28995         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28996           mpeg2: minor clean-ups.
28997           Drop explicit initialization of most fields that are implicitly set to
28998           zero. Remove some useless checks for NULL pointers.
28999
29000 2013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29001
29002         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29003           mpeg2: optimize scan for the second start code.
29004           Optimize scan for the second start code, on the next parse() call so that
29005           to avoid scanning again earlier bytes where we didn't find any start code.
29006
29007 2013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29008
29009         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29010           mpeg2: use sequence_display_extension() to compute PAR.
29011           Also compute pixel-aspect-ratio from sequence_display_extension(),
29012           should it exist in the bitstream.
29013
29014 2013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29015
29016         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29017           mpeg2: handle sequence_display_extension().
29018
29019 2012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29020
29021         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29022           mpeg2: implement {start,end}_frame() hooks.
29023           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
29024           that to create new VA context earlier and submit VA pictures to the
29025           HW for decoding as soon as possible. i.e. don't wait for the next
29026           frame to start decoding the previous one.
29027
29028 2012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29029
29030         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29031           mpeg2: parse slice() header earlier.
29032           Parse slice() header and first macroblock position earlier in _parse()
29033           function instead of waiting for the _decode() stage. This doesn't change
29034           anything but readability.
29035
29036 2012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29037
29038         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29039           mpeg2: add codec specific decoder unit.
29040           Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
29041           GstMpegVideoPacket and additional parsed header info. Besides, we now
29042           parse as early as in the _parse() function so that to avoid un-necessary
29043           creation of sub-buffers in _decode() for video packets that are not slices.
29044
29045 2012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29046
29047         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29048         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
29049         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
29050         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
29051           decoder: introduce lists of units to decode before/after frame.
29052           Theory of operations: all units marked as "slice" are moved to the "units"
29053           list. Since this list only contains slice data units, the prev_slice pointer
29054           was removed. Besides, we now maintain two extra lists of units to be decoded
29055           before or after slice data units.
29056           In particular, all units in the "pre_units" list will be decoded before
29057           GstVaapiDecoder::start_frame() is called and units in the "post_units"
29058           list will be decoded after GstVaapiDecoder::end_frame() is called.
29059
29060 2013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29061
29062         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
29063         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29064           decoder: drop useless checks for codec objects.
29065           Codec objects are used internally only and they are bound to be created
29066           with a valid GstVaapiDecoder object.
29067
29068 2012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29069
29070         * gst/vaapi/gstvaapidecode.c:
29071           vaapidecode: use GST_ERROR to print error messages.
29072
29073 2012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29074
29075         * gst/vaapi/gstvaapidecode.c:
29076           vaapidecode: avoid double release of frame on error.
29077           Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
29078           was already called before and it returned an error. In that case, we were
29079           releasing the frame again, thus leading to a "double-free" condition.
29080
29081 2012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29082
29083         * .gitmodules:
29084         * autogen.sh:
29085         * configure.ac:
29086         * ext/Makefile.am:
29087         * ext/videoutils:
29088         * gst-libs/gst/Makefile.am:
29089         * gst-libs/gst/vaapi/Makefile.am:
29090         * gst-libs/gst/video/Makefile.am:
29091         * gst/vaapi/Makefile.am:
29092           Add videoutils submodule for GstVideoDecoder APIs.
29093
29094 2012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29095
29096         * configure.ac:
29097           configure: check for GstVideoDecoder API.
29098           GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
29099           this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
29100           parties may either use upstream git 0.10 branch or backport the necessary support
29101           for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
29102
29103 2012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29104
29105         * docs/reference/libs/libs.core.types:
29106           docs: remove obsolete gst_vaapi_surface_proxy_get_type().
29107           GstVaapiSurfaceProxy is no longer based on the GType system.
29108
29109 2012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29110
29111         * docs/reference/libs/libs-sections.txt:
29112           docs: fix entries for GstVaapiSurfaceProxy.
29113
29114 2012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29115
29116         * NEWS:
29117           NEWS: updates.
29118
29119 2012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29120
29121         * configure.ac:
29122         * gst-libs/gst/vaapi/Makefile.am:
29123           Bump library major version.
29124           Increase library major so that to cope with API/ABI incompatible changes
29125           since 0.4.x series and avoid user issues.
29126
29127 2012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29128
29129         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29130           surfaceproxy: minor clean-ups.
29131
29132 2012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29133
29134         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29135         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29136         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
29137           surfaceproxy: drop accessors to obsolete attributes.
29138           Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
29139           VA surface. i.e. drop any other attribute like timestamp, duration,
29140           interlaced or top-field-first.
29141
29142 2012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29143
29144         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29145         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29146         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29147         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29148         * gst/vaapi/gstvaapidecode.c:
29149           decoder: maintain decoded frames as GstVideoCodecFrame objects.
29150           Maintain decoded surfaces as GstVideoCodecFrame objects instead of
29151           GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
29152           the strict minimum: a context and a surface.
29153
29154 2012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29155
29156         * gst/vaapi/gstvaapidecode.c:
29157           vaapidecode: output all decoded frames as soon as possible.
29158           Make sure to push all decoded frames downstream as soon as possible.
29159           This makes sure we don't need to wait for a new frame to be ready to
29160           be decoded before receiving new decoded frames.
29161           This also separates the decode process and the output process. The latter
29162           could be moved to a specific GstTask later on.
29163
29164 2012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29165
29166         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29167         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29168           decoder: add gst_vaapi_decoder_get_frame() API.
29169           Add new gst_vaapi_decoder_get_frame() function meant to be used with
29170           gst_vaapi_decoder_decode(). The purpose is to return the next decoded
29171           frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
29172           as the user-data object.
29173
29174 2012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29175
29176         * gst/vaapi/gstvaapipostproc.c:
29177           vaapipostproc: use GstBuffer flags for TFF.
29178           Determine whether the buffer represents the top-field only by checking for
29179           the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
29180           flag. Also trust "interlaced" caps to determine whether the input frame
29181           is interleaved or not.
29182
29183 2012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29184
29185         * gst/vaapi/gstvaapipostproc.c:
29186           vaapipostproc: handle video sub-buffers.
29187           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
29188           for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
29189
29190 2012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29191
29192         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29193           h264: optimize initialization process of decoder units.
29194           Decoder units were zero-initialized, including the SPS/PPS/slice headers.
29195           The latter don't require zero-initialization since the codecparsers/ lib
29196           will do so for key variables already. This is not a great value per se but
29197           at least it makes it possible to check whether the default initialization
29198           decisions made in the codecparsers/ lib were right or not.
29199           This can be reverted if this exposes too many issues.
29200
29201 2012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29202
29203         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29204           h264: minor clean-ups.
29205           Drop explicit initialization of most fields that are implicitly set to
29206           zero. Drop helper macros for casting to GstVaapiPictureH264 or
29207           GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
29208
29209 2012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29210
29211         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29212           h264: drop GstVaapiSliceH264 object.
29213           Use standard GstVaapiSlice object from now on since we already have
29214           parsed and recorded the slice headers (GstH264SliceHdr decode units).
29215
29216 2012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29217
29218         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29219           h264: detect new pictures from decode-units.
29220           Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
29221           of assuming frame boundaries when first_mb_in_slice is zero.
29222
29223 2012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29224
29225         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29226           h264: implement {start,end}_frame() hooks.
29227           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
29228           that to create new VA context earlier and submit VA pictures to the
29229           HW for decoding as soon as possible. i.e. don't wait for the next
29230           frame to start decoding the previous one.
29231
29232 2012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29233
29234         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29235           h264: optimize scan for the second start code.
29236           Optimize scan for the second start code, on the next parse() call so that
29237           to avoid scanning again earlier bytes where we didn't find any start code.
29238
29239 2012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29240
29241         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29242           h264: add codec specific decoder unit.
29243           Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
29244           NAL unit header (GstH264NalUnit) and additional parsed header info.
29245           Besides, we now parse headers as early as in the _parse() function so
29246           that to avoid un-necessary creation of sub-buffers in _decode() for
29247           NAL units that are not slices.
29248           This is a performance win by ~+1.1% only.
29249
29250 2012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29251
29252         * gst/vaapi/gstvaapisink.c:
29253           vaapisink: handle sub video-buffers.
29254           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
29255           for non raw YUV cases. Make sure vaapisink now understands those buffers.
29256
29257 2012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29258
29259         * gst/vaapi/gstvaapidecode.c:
29260           vaapidecode: use gst_vaapi_decoder_get_codec_state().
29261           Directly use the GstVideoCodecState associated with the VA decoder
29262           instead of parsing caps again.
29263           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29264           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29265
29266 2012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29267
29268         * gst/vaapi/gstvaapidecode.c:
29269           vaapidecode: use more standard helpers.
29270           Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
29271           in more places.
29272
29273 2012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29274
29275         * gst/vaapi/gstvaapidecode.c:
29276         * gst/vaapi/gstvaapidecode.h:
29277           vaapidecode: move to GstVideoDecoder base class.
29278           Make vaapidecode derive from the standard GstVideoDecoder base element
29279           class. This simplifies the code to the strict minimum for the decoder
29280           element and makes it easier to port to GStreamer 1.x API.
29281           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29282           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29283
29284 2012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29285
29286         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29287           jpeg: initial port to new GstVaapiDecoder API
29288
29289 2012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29290
29291         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29292           vc1: initial port to new GstVaapiDecoder API
29293
29294 2012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29295
29296         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29297           h264: initial port to new GstVaapiDecoder API
29298
29299 2012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29300
29301         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29302           mpeg4: initial port to new GstVaapiDecoder API
29303
29304 2012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29305
29306         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29307           mpeg2: initial port to new GstVaapiDecoder API.
29308
29309 2012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29310
29311         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29312         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29313         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29314         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29315         * gst-libs/gst/vaapi/gstvaapiprofile.c:
29316         * gst-libs/gst/vaapi/gstvaapiprofile.h:
29317           decoder: use GstVideoCodecState.
29318           Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
29319           it with a new gst_vaapi_decoder_get_codec_state() function. This makes
29320           it possible to drop picture size (width, height) information, framerate
29321           (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
29322           and interlace mode (is_interlaced field).
29323           This is a new API with backwards compatibility maintained. In particular,
29324           gst_vaapi_decoder_get_caps() is still available.
29325           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29326           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29327
29328 2012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29329
29330         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29331         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29332         * tests/test-decode.c:
29333         * tests/test-subpicture.c:
29334           decoder: update gst_vaapi_decoder_get_surface() semantics.
29335           Align gst_vaapi_decoder_get_surface() semantics with the rest of the
29336           API. That is, return a GstVaapiDecoderStatus and the decoded surface
29337           as a handle to GstVaapiSurfaceProxy in parameter.
29338           This is an API/ABI change.
29339
29340 2012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29341
29342         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29343           decoder: use standard helper functions.
29344           Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
29345           whenever necessary.
29346
29347 2012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29348
29349         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29350         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29351         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29352           decoder: expose new parse/decode API.
29353           Introduce new decoding process whereby a GstVideoCodecFrame is created
29354           first. Next, input stream buffers are accumulated into a GstAdapter,
29355           that is then passed to the _parse() function. The GstVaapiDecoder object
29356           accumulates all parsed units and when a complete frame or field is
29357           detected, that GstVideoCodecFrame is passed to the _decode() function.
29358           Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
29359           process was successful.
29360
29361 2012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29362
29363         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29364         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29365           decoder: add {start,end}_frame() hooks.
29366           The start_frame() hook is called prior to traversing all decode-units
29367           for decoding. The unit argument represents the first slice in the frame.
29368           Some codecs (e.g. H.264) need to wait for the first slice in order to
29369           determine the actual VA context parameters.
29370
29371 2012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29372
29373         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29374         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29375         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29376           decoder: add new GstVaapiDecoder API.
29377           Split decoding process into two steps: (i) parse incoming bitstreams
29378           into simple decoder-units until the frame or field is complete; and
29379           (ii) decode the whole frame or field at once.
29380           This is an ABI change.
29381
29382 2012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29383
29384         * gst-libs/gst/vaapi/Makefile.am:
29385         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
29386         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
29387           decoder: add new "decoder-frame" object.
29388           Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
29389           (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
29390           an extension to GstVideoCodecFrame for VA decoder purposes. It is available
29391           as the user-data member element.
29392           This is a libgstvaapi internal object.
29393
29394 2012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29395
29396         * gst-libs/gst/vaapi/Makefile.am:
29397         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
29398         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
29399           decoder: add new "decoder-unit" object.
29400           Introduce GstVaapiDecoderUnit which represents a fragment of the source
29401           stream to be decoded. For instance, a decode-unit will be a NAL unit for
29402           H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
29403           streams.
29404           This is a libgstvaapi internal object.
29405
29406 2012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29407
29408         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29409           Port GstVaapiFrameStore to GstVaapiMiniObject.
29410
29411 2012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29412
29413         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
29414         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
29415         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29416         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29417         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29418           Port codec objects to GstVaapiMiniObject.
29419
29420 2012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29421
29422         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29423         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29424         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29425         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
29426         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29427         * gst/vaapi/gstvaapidecode.c:
29428         * gst/vaapi/gstvaapipluginbuffer.c:
29429         * tests/test-decode.c:
29430         * tests/test-subpicture.c:
29431           surfaceproxy: port to GstVaapiMiniObject.
29432           GstVaapiSurfaceProxy does not use any particular functionality from
29433           GObject. Actually, it only needs a basic object type with reference
29434           counting.
29435           This is an API and ABI change.
29436
29437 2012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29438
29439         * gst-libs/gst/vaapi/Makefile.am:
29440         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
29441         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
29442           Add GstVaapiMiniObject.
29443           Introduce a new reference counted object that is very lightweight and
29444           also provides flags and user-data functionalities. Initialization and
29445           finalization times are reduced by up to a factor 5x vs GstMiniObject
29446           from GStreamer 0.10 stack.
29447           This is a libgstvaapi internal object.
29448
29449 2012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29450
29451         * tests/Makefile.am:
29452         * tests/test-decode.c:
29453         * tests/test-mpeg4.c:
29454         * tests/test-mpeg4.h:
29455           tests: add test for MPEG-4:2 decoding.
29456
29457 2012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29458
29459         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29460           h264: initialize VA context before allocating the first slice.
29461           Fix decode_slice() to ensure a VA context exists prior to creating a
29462           new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
29463           context ID. i.e. the latter was not initialized, thus causing failures
29464           on Cedar Trail for example.
29465
29466 2012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
29467
29468         * configure.ac:
29469           configure: install plugin elements in GST_PLUGIN_PATH, if set.
29470           If GST_PLUGIN_PATH environment variable exists and points to a valid
29471           directory, then use it as the system installation path for gst-vaapi
29472           plugin elements.
29473           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29474
29475 2012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29476
29477         * configure.ac:
29478           configure: downgrade glib required version to 2.28.
29479
29480 2012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29481
29482         * gst-libs/gst/vaapi/glibcompat.h:
29483         * gst/vaapi/gstvaapi.c:
29484           libs: fix compatibility with glib 2.28.
29485           Always prefer non deprecated APIs by default and provide compatibility
29486           glue for older glib versions when necessary.
29487
29488 2012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29489
29490         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29491         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
29492         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
29493         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29494           libs: use glib >= 2.32 semantics for mutexes.
29495           Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
29496           and termination. Basically, the new mutex objects can be used as static
29497           mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
29498
29499 2012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29500
29501         * gst-libs/gst/vaapi/Makefile.am:
29502           libs: only export gst_vaapi_*() symbols.
29503           This fixes symbol clashes between the gst-vaapi built-in codecparsers/
29504           library and the system-provided one, mainly used by videoparses/. Now,
29505           only symbols with the gst_vaapi_* prefix will be exported, if they are
29506           not marked as "hidden" to libgstvaapi.
29507
29508 2012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29509
29510         * gst/vaapi/gstvaapiuploader.c:
29511           vaapiupload: reset direct-rendering to zero when changing caps.
29512           Make sure to reset direct-rendering flag to zero when caps are changed,
29513           and only derive it to one when the next checks succeed.
29514
29515 2012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29516
29517         * gst/vaapi/gstvaapiupload.c:
29518           vaapiupload: fix sink caps to report the supported set of YUV caps.
29519           Try to allocate the GstVaapiUploader helper object prior to listing the
29520           supported image formats. Otherwise, only a single generic caps is output
29521           with no particular pixel format referenced in there.
29522
29523 2012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
29524
29525         * gst/vaapi/gstvaapiupload.c:
29526         * gst/vaapi/gstvaapiupload.h:
29527           vaapiupload: use new GstVaapiUploader helper.
29528           Use GstVaapiUploader helper that automatically handles direct rendering
29529           mode, thus making the "direct-rendering" property obsolete and hence it
29530           is now removed.
29531           The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
29532           really well supported and it could actually trigger degraded performance.
29533           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29534
29535 2012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29536
29537         * gst/vaapi/gstvaapisink.c:
29538         * gst/vaapi/gstvaapiuploader.c:
29539         * gst/vaapi/gstvaapiuploader.h:
29540           vaapisink: compute and expose the supported set of YUV caps.
29541           Make vaapisink expose only the set of supported caps for raw YUV buffers.
29542           Add gst_vaapi_uploader_get_caps() helper function to determine the set
29543           of supported YUV caps as source (for images). This function actually
29544           tries to zero and upload each image to a 64x64 test surface. Of course,
29545           this relies on VA drivers to not claim success if vaPutImage() is not
29546           correctly supported.
29547
29548 2012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29549
29550         * NEWS:
29551         * gst/vaapi/Makefile.am:
29552         * gst/vaapi/gstvaapisink.c:
29553         * gst/vaapi/gstvaapisink.h:
29554         * gst/vaapi/gstvaapiuploader.c:
29555         * gst/vaapi/gstvaapiuploader.h:
29556           vaapisink: add support for raw YUV buffers.
29557           Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
29558           It is up to the caller to negotiate source caps (for images) and output
29559           caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
29560           to help decide between the creation of a GstVaapiVideoBuffer or a regular
29561           GstBuffer on sink pads.
29562           Signed-off-by: Zhao Halley <halley.zhao@intel.com>
29563           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29564
29565 2012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29566
29567         * gst-libs/gst/vaapi/gstvaapiimage.c:
29568           image: fix GstVaapiImage map and unmap.
29569           Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
29570           structure correctly filled in if the image was already mapped.
29571           Likewise, make gst_vaapi_image_unmap() return TRUE if the image
29572           was already unmapped.
29573
29574 2012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
29575
29576         * NEWS:
29577         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29578           videobuffer: fix memory leak for surface and image.
29579           Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
29580           thus resulting on actual memory leak of GstVaapiImage when using them
29581           for downloads/uploads from VA surfaces and more specifically surfaces
29582           when the pipeline is shutdown. i.e. vaTerminate() was never called
29583           because the resources were not unreferenced, and thus not deallocated
29584           in the end.
29585           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29586
29587 2012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29588
29589         * NEWS:
29590           NEWS: updates.
29591
29592 2012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29593
29594         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29595           h264: fix picture size in macroblocks.
29596           The picture size signalled by sps->{width,height} is the actual size with
29597           cropping applied, not the original size derived from pic_width_in_mbs_minus1
29598           and pic_height_in_map_units_minus1. VA driver expects that original size,
29599           uncropped.
29600           There is another issue pending: frame cropping information needs to be
29601           taken care of.
29602
29603 2012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29604
29605         * gst-libs/gst/codecparsers/Makefile.am:
29606           codecparsers: always build parserutils first.
29607           Fix commit 18245b4 so that to link and build parserutils.[ch] first.
29608           This is needed since that's the common dependency for actual codec
29609           parsers (gstvc1parser.c for instance).
29610
29611 2012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29612
29613         * gst-libs/gst/codecparsers/Makefile.am:
29614           codecparsers: always build the VC-1 parser library.
29615           ... this is useful to make sure pixel-aspect-ratio and framerate
29616           information are correctly parsed since we have no means to detect
29617           that at configure time.
29618
29619 2012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29620
29621         * configure.ac:
29622         * gst-libs/gst/codecparsers/Makefile.am:
29623         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29624           mpeg2: fix PAR calculation from commit bd11bae.
29625           Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
29626           correct PAR values. While doing so, require a newer version of the
29627           bitstream parser library.
29628           Note: it may be necessary to also parse the Sequence_Display_Extension()
29629           header.
29630           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29631           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29632
29633 2012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29634
29635         * gst-libs/gst/vaapi/Makefile.am:
29636           Fix build with the GNU gold linker.
29637           In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
29638           and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
29639
29640 2012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
29641
29642         * configure.ac:
29643         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
29644         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
29645         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
29646           wayland: port to 1.0 version of the protocol.
29647           This patch updates to relect the 1.0 version of the protocol. The main
29648           changes are the switch to wl_registry for global object notifications
29649           and the way that the event queue and file descriptor is processed.
29650           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29651
29652 2012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29653
29654         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29655           h264: fix incorrect integration of previous commit (4d31e1e).
29656           git am got confused somehow, though the end result doesn't change at
29657           all since we require both SPS and PPS to be parsed prior to decoding
29658           the first slice.
29659
29660 2012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29661
29662         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29663           h264: start decoding slices after first SPS/PPS activation.
29664           Only start decoding slices when at least one SPS and PPS got activated.
29665           This fixes cases when a source represents a substream of another stream
29666           and no SPS and PPS was inserted before the first slice of the generated
29667           substream.
29668
29669 2012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29670
29671         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29672           h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
29673           ... for interlaced streams. The short_ref[] and long_ref[] arrays may
29674           contain up to 32 fields but VA ReferenceFrames[] array expects up to
29675           16 reference frames, thus including both fields.
29676
29677 2012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29678
29679         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29680           h264: fix interlaced stream decoding with MMCO.
29681           Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
29682           is equal to 1, i.e. when memory management control operations are used. In
29683           particular, when field_pic_flag is set to 0, the new reference flags shall
29684           be applied to both fields.
29685
29686 2012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29687
29688         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29689           h264: add initial support for interlaced streams.
29690           Decoded frames are only output when they are complete, i.e. when both
29691           fields are decoded. This also means that the "interlaced" caps is not
29692           propagated to vaapipostproc or vaapisink elements. Another limitation
29693           is that interlaced bitstreams with MMCO are unlikely to work.
29694
29695 2012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29696
29697         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29698           h264: split remove_reference_at() into finer units.
29699           Split remove_reference_at() into a function that actually removes the
29700           specified entry from the short-term or long-term reference picture array,
29701           and a function that sets reference flags to the desired value, possibly
29702           zero. The latters marks the picture as "unused for reference".
29703
29704 2012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29705
29706         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29707           decoder: fix gst_vaapi_picture_new_field() object type.
29708           Fix gst_vaapi_picture_new_field() to preserve the original picture type.
29709           e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
29710           shall generate a GstVaapiPictureH264 object.
29711
29712 2012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29713
29714         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29715           h264: add picture structure for reference picture marking process.
29716           Introduce new `structure' field to the H.264 specific picture structure
29717           so that to simplify the reference picture marking process. That local
29718           picture structure is derived from the original picture structure, as
29719           defined by the syntax elements field_pic_flag and bottom_field_flag.
29720
29721 2012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29722
29723         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29724           h264: introduce new frame store structure.
29725           The frame store represents a Decoded Picture Buffer entry, which can
29726           hold up to two fields. So far, the frame store is only used to hold
29727           full frames.
29728
29729 2012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29730
29731         * ext/codecparsers:
29732           codecparsers: update to gst-vaapi-rebased commit 73d6aab.
29733           73d6aab h264: fix rbsp_more_data() implementation
29734           25d04cf h264: fix error code for invalid size parsed in SPS
29735           84798e5 fix FSF address
29736
29737 2012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29738
29739         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29740           h264: minor clean-ups.
29741           Move DPB flush up if the current picture to decode is an IDR. Besides,
29742           don't bother to check for IDR pictures in dpb_add() function since an
29743           explicit DPB flush was already performed in this case.
29744
29745 2012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29746
29747         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29748           h264: simplify reference picture marking process.
29749           ... to build the short_ref[] and long_ref[] lists from the DPB, instead
29750           of maintaining them separately. This avoids refs/unrefs while making it
29751           possible to generate the list based on the actual picture structure.
29752           This also ensures that the list of generated ReferenceFrames[] actually
29753           matches what reference frames are available in the DPB. i.e. short_ref[]
29754           and long_ref[] entries are implied from the DPB, so there is no risk of
29755           having "dangling" references.
29756
29757 2012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29758
29759         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29760           h264: introduce per-field POC in GstVaapiPictureH264.
29761           Use the POC member available in the GstVaapiPicture base class and
29762           get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
29763           and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
29764           initialized to INT_MAX, so that to simplify picture POC calculation
29765           for non frame pictures.
29766
29767 2012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29768
29769         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29770           h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
29771           Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
29772           reference bits, thus simplifying the reference picture marking process
29773           to only track a single set of reference flags. Also introduce a new
29774           long_term_frame_idx member.
29775
29776 2012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29777
29778         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29779           h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
29780
29781 2012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29782
29783         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29784           h264: fill in GstVaapiPicture structure.
29785           ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
29786
29787 2012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29788
29789         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29790           h264: add vaapi_fill_picture() helper.
29791           Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
29792           to VAPictureH264 structure. This is preparatory work to get rid of the
29793           local VAPictureH264 member in GstVaapiPictureH264.
29794
29795 2012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29796
29797         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29798           h264: fix activation order of picture and sequence parameters.
29799           Delay ensure_context() until we actually need a VA context for allocating
29800           new VA surfaces, and then GstVaapiPictures, but also when a real activation
29801           of a new picture parameter set occurs, thus also implying an activation
29802           of the related sequence parameter set.
29803           The most important thing was to drop the global pps and sps pointers since
29804           they may not have matched the currently activated picture parameter or
29805           sequence parameter sets at the specified decode point.
29806           Anoter positive side-effect is that this cleans up all occurrences of
29807           decode_current_picture() to only keep those useful in decode_picture(),
29808           before a new picture is allocated, or in decode_sequence_end() when
29809           an end-of-stream or end-of-sequence condition occurred.
29810
29811 2012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29812
29813         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29814           h264: fix scaling list generation.
29815           ... aka fix regression from efaab79. In particular, ScalingList8x8[]
29816           array was partially copied to the VAIQMatrixBufferH264. While we are
29817           at it, also improve bounds checking and avoid copying 8x8 scaling
29818           lists if transform_8x8_mode_flag is set to 0.
29819
29820 2012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29821
29822         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29823           h264: fix detection of picture boundaries.
29824           Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
29825           unit of a primary coded picture.
29826
29827 2012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29828
29829         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29830           h264: optimize handling of scaling lists.
29831           Don't copy scaling lists twice to an intermediate state. Rather, directly
29832           use the scaling lists from GstH264PPS since they would match those provided
29833           by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
29834           available in the bitstream.
29835
29836 2012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29837
29838         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29839           h264: simplify code when MMCO is 5.
29840           Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
29841           is now updated accordingly to the standard. Besides, MMCO = 5 specific
29842           operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
29843
29844 2012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29845
29846         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29847           h264: fix MMCO-based reference picture marking process.
29848           Fix adaptive memory control decoded reference picture marking process
29849           implementation for operations 2 to 6, thus also fixing support for
29850           long-term reference pictures.
29851
29852 2012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29853
29854         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29855           h264: move MMCO handlers out of the loop (cosmetics).
29856           This change only splits each individual MMCO handler into several functions
29857           dedicated for each operation. This is needed to perform further work later
29858           on.
29859
29860 2012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29861
29862         * Makefile.am:
29863           debian: fix make dist for packaging.
29864           bzip2 tarballs are now used, so update the deb.upstream dependencies
29865           to include dist-bzip2 instead of plain old dist, and use the correct
29866           tar extract options to handle that format.
29867
29868 2012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29869
29870         * configure.ac:
29871           configure: generate bzip2 tarballs in ustar format by default.
29872
29873 2012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29874
29875         * configure.ac:
29876           configure: bump glib required version to 2.31.2.
29877           Use new Thread API. In particular, g_mutex_init() and g_cond_init()
29878           rather than g_mutex_new() and g_cond_new() respectively.
29879
29880 2012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
29881
29882         * gst/vaapi/gstvaapidecode.c:
29883         * gst/vaapi/gstvaapidecode.h:
29884           vaapidecode: adopt non-deprecrated glib locking primitive pattern.
29885           The use of heap allocated GMutex/GCond is deprecated. Instead place them
29886           inside the structure they are locking.
29887           These changes switch to use g_mutex_init/g_cond_init rather than the heap
29888           allocation functions.
29889           Because we cannot test for a NULL pointer for the GMutex/GCond we must
29890           initialise inside the GObject _init function and clear inside the _finalize
29891           which is guaranteed to only be called once and after the object is no longer
29892           in use.
29893
29894 2012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29895
29896         * gst/vaapi/gstvaapidecode.c:
29897           vaapidecode: fix compiler warnings.
29898           Don't care of the return value for gst_vaapi_decoder_put_buffer()
29899           during destruction of the element. Don't print out (uninitialised)
29900           error code when allocation of video buffer failed.
29901
29902 2012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29903
29904         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29905           h264: add flag to compile with strict DPB ordering mode.
29906           Allow build with strict DPB ordering mode whereby evicted entries
29907           are replaced by the next entries, in order instead of optimizing
29908           it away with the last entry in the DPB.
29909           This is only useful for debugging purpose, against a reference SW
29910           decoder for example.
29911
29912 2012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29913
29914         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29915           h264: drop extra code covered by built-in codecparsers.
29916           GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
29917           a newer version of codecparsers/ are used if the system provided one is
29918           now recent enough to have those required extensions.
29919
29920 2012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29921
29922         * gst-libs/gst/codecparsers/Makefile.am:
29923           codecparsers: fix generation of symlinks.
29924           Try to improve dependencies while generating symlinks to externally
29925           maintained copy of codecparsers (derived from upstream git master
29926           tree).
29927
29928 2012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29929
29930         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29931           vc1: use framerate information from bitstream parser.
29932
29933 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29934
29935         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29936           vc1: use pixel-aspect-ratio from bitstream parser.
29937           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29938           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29939
29940 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29941
29942         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29943           mpeg2: use pixel-aspec-ratio information from bitstream parser.
29944           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29945           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29946
29947 2012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29948
29949         * configure.ac:
29950         * gst-libs/gst/codecparsers/Makefile.am:
29951           codecparsers: h264: use submodule sources.
29952           Use newer sources from the codecparsers/ submodule for
29953           - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
29954           - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
29955
29956 2012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29957
29958         * .gitignore:
29959         * configure.ac:
29960         * gst-libs/gst/codecparsers/Makefile.am:
29961         * gst-libs/gst/codecparsers/gstjpegparser.c:
29962         * gst-libs/gst/codecparsers/gstjpegparser.h:
29963         * gst-libs/gst/vaapi/Makefile.am:
29964           codecparsers: jpeg: use submodule sources.
29965
29966 2012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29967
29968         * .gitmodules:
29969         * Makefile.am:
29970         * autogen.sh:
29971         * configure.ac:
29972         * ext/Makefile.am:
29973         * ext/codecparsers:
29974           Add codecparsers submodule.
29975
29976 2012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29977
29978         * .gitignore:
29979           .gitignore: updates.
29980
29981 2012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29982
29983         * autogen.sh:
29984           autogen: fix check for gtkdocize and autoreconf.
29985           If gtkdocize or autoreconf programs were not found, then the autogen.sh
29986           script would fail to report that correctly because test -z was not passed
29987           any argument (empty string "" in this case).
29988
29989 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29990
29991         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29992           h264: use pixel-aspect-ratio from SPS header.
29993           Propagate pixel-aspect-ratio determined by the GStreamer codecparser
29994           from the sequence headers.
29995           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
29996           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29997
29998 2012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29999
30000         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30001           h264: add decode_nalu() helper function.
30002           Split decode_buffer() into the core infrastructure that determines
30003           the NAL units contained in the adapter and the actual function that
30004           decodes the NAL unit.
30005
30006 2012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30007
30008         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30009           h264: fix end-of-stream conditions (flush).
30010           Decode pending data in the adapter prior to processing the actual
30011           code for end-of-stream.
30012
30013 2012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30014
30015         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30016           mpeg2: add decode_packet() helper function.
30017           Split decode_buffer() into the core infrastructure that determines
30018           the packets contained in the adapter and the actual function that
30019           decodes the packet data.
30020
30021 2012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30022
30023         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30024           mpeg2: fix end-of-stream conditions (flush).
30025           Decode pending data in the adapter prior to processing the actual
30026           code for end-of-stream. Initial code from Feng Yuan.
30027
30028 2012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30029
30030         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30031           mpeg2: fix memory leak of empty packets.
30032           Fix memory leakage of empty packets, i.e. packets that only contain
30033           the start code prefix. In particular, free empty user-data packets.
30034           Besides, the codec parser will already fail gracefully if the packet
30035           to parse does not have the minimum required size. So, we can also
30036           completely drop the block of code that used to handle packets of size 4
30037           (including the start code).
30038
30039 2012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30040
30041         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30042           mpeg2: fix return value for "no-data" conditions.
30043           Fix return value when the second scan for start code fails. This means
30044           there is not enough data to determine the full extents of the current
30045           packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
30046           in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
30047
30048 2012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30049
30050         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30051           decoder: refine semantics of gst_vaapi_decoder_put_buffer().
30052           Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
30053           buffer is passed on. An empty buffer is a buffer with a NULL data pointer
30054           or with a size equals to zero. In this case, that buffer is simply
30055           skipped and the function returns TRUE. A NULL buffer argument still
30056           marks the end-of-stream.
30057
30058 2012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30059
30060         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30061         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30062           decoder: drop unused functions.
30063
30064 2012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
30065
30066         * gst/vaapi/gstvaapidecode.c:
30067           vaapidecode: flush buffers when receiving EOS.
30068           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30069
30070 2012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30071
30072         * debian.upstream/Makefile.am:
30073           debian: fix make dist for packaging.
30074
30075 2012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30076
30077         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
30078         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30079           wayland: cosmetics (remove tabs).
30080
30081 2012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
30082
30083         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30084           wayland: add support for windowed mode.
30085           Rather than always making the surface fullscreen instead implement the
30086           set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
30087           fullscreen on not depending on that.
30088           Reviewed-by: Joe Konno <joe.konno@intel.com>
30089           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30090
30091 2012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30092
30093         * configure.ac:
30094           Bump version for development.
30095
30096 2012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30097
30098         * README:
30099         * configure.ac:
30100           Fix and document build dependencies better.
30101
30102 2012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30103
30104         * debian.upstream/control.in:
30105           debian: fix GStreamer build dependencies.
30106
30107 2012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30108
30109         * configure.ac:
30110         * debian.upstream/control.in:
30111           debian: fix Wayland build dependencies.
30112
30113 2012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30114
30115         * debian.upstream/control.in:
30116           debian: fix conditional build of packages.
30117           Make it still possible to build package even if one of the build dependencies
30118           for a specific video backend is not available.
30119
30120 2012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30121
30122         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30123         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
30124           utils: drop unused GLX helpers.
30125           Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
30126           extensions since they are not used throughout gstreamer-vaapi.
30127
30128 2012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30129
30130         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
30131           utils: fix build with <GL/glext.h> version >= 85.
30132           Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
30133           This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
30134           GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
30135           GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
30136           thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
30137           Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
30138           newer versions of the <GL/glext.h> header.
30139
30140 2012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30141
30142         * configure.ac:
30143           configure: update VA-API version requirements.
30144           VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
30145
30146 2012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30147
30148         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30149           h264: review and report errors accordingly.
30150           Use GST_ERROR() to report real errors instead of hiding them into
30151           GST_DEBUG().
30152
30153 2012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30154
30155         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30156           h264: exclusively use GstAdapter, drop sub-buffer hack.
30157           Maintaining the sub-buffer is rather suboptimal especially since we
30158           were also maintaining a GstAdapter. Now, we only use the GstAdapter
30159           thus requiring minor extra parsing when receiving avcC buffers.
30160
30161 2012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30162
30163         * README:
30164           README: updates.
30165
30166 2012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30167
30168         * NEWS:
30169           NEWS: updates.
30170
30171 2012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30172
30173         * debian.upstream/gstreamer-vaapi.install.in:
30174           debian: fix packaging on recent Ubuntu platforms.
30175           Use explicit GStreamer plugins path.
30176
30177 2012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30178
30179         * docs/reference/libs/libs-docs.xml.in:
30180         * docs/reference/libs/libs.core.types:
30181           docs: fix build for make dist.
30182
30183 2012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
30184
30185         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30186           wayland: set opaque region for YUV surface.
30187           This allows the compositor to optimize redraws and cull away changes
30188           obscured by the video surface.
30189           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30190
30191 2012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30192
30193         * configure.ac:
30194           configure: fix check for libva-glx and libva-drm.
30195
30196 2012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30197
30198         * gst-libs/gst/vaapi/glibcompat.h:
30199           glibcompat: add replacement for g_cond_wait_until().
30200
30201 2012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30202
30203         * gst/vaapi/gstvaapidecode.c:
30204         * gst/vaapi/gstvaapidownload.c:
30205         * gst/vaapi/gstvaapipostproc.c:
30206         * gst/vaapi/gstvaapisink.c:
30207         * gst/vaapi/gstvaapiupload.c:
30208           plugins: include "sysdeps.h" instead of "config.h".
30209
30210 2012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30211
30212         * gst-libs/gst/codecparsers/gstjpegparser.c:
30213           codecparsers: jpeg: add missing includes.
30214
30215 2012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30216
30217         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30218         * gst-libs/gst/vaapi/gstvaapidecoder.h:
30219         * gst/vaapi/gstvaapidecode.c:
30220           vaapidecode: don't reset decoder if codec type is the same.
30221           Reset, i.e. destroy then create, the decoder in _setcaps() handler only
30222           if the underlying codec type actually changed. This makes it possible
30223           to be more tolerant with certain MPEG-2 streams that get parsed to
30224           form caps that are compatible with the previous state but minor changes
30225           to "codec-data".
30226
30227 2012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30228
30229         * gst/vaapi/gstvaapidecode.c:
30230           vaapidecode: simplify codec lookup from caps.
30231           Add new gst_vaapi_codec_from_caps() helper to determine codec type from
30232           the specified caps. Don't globally expose this function since this is
30233           really trivial and only used in the vaapidecode element.
30234
30235 2012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30236
30237         * gst/vaapi/gstvaapidecode.c:
30238         * gst/vaapi/gstvaapidecode.h:
30239           vaapidecode: improve "no free surface" conditions.
30240           Previously, vaapidecode would wait up to one second until a free surface
30241           is available, or it aborts decoding. Now, vaapidecode waits until the
30242           last decoded surface was to be presented, plus one second. Besides, end
30243           times are now expressed relative to the monotonic clock.
30244
30245 2012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30246
30247         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30248         * gst/vaapi/gstvaapidecode.c:
30249           decoder: propagate buffer duration downstream.
30250
30251 2012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30252
30253         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30254         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
30255           surfaceproxy: add "duration" property.
30256
30257 2012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30258
30259         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30260         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30261         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30262         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30263         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30264         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30265         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30266           decoder: cope with new GstVaapiContextInfo based API.
30267           Update decoders to report the maximum number of reference frames to use.
30268
30269 2012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30270
30271         * gst-libs/gst/vaapi/gstvaapicontext.c:
30272           context: JPEG codec does not need any reference frame.
30273
30274 2012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30275
30276         * gst-libs/gst/vaapi/gstvaapicontext.c:
30277         * gst-libs/gst/vaapi/gstvaapicontext.h:
30278           context: allow number of reference frames to be set.
30279           Make it possible to specify the maximum number of references to use within
30280           a single VA context. This helps reducing GPU memory allocations to the useful
30281           number of references to be used.
30282
30283 2012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30284
30285         * gst/vaapi/gstvaapipostproc.c:
30286           vaapipostproc: fix deinterlace-{mode,method} types definition.
30287
30288 2012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30289
30290         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30291           mpeg4: fix debug info for unsupported profile.
30292
30293 2012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30294
30295         * gst-libs/gst/vaapi/gstvaapicontext.c:
30296         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30297         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30298         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30299         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30300         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30301         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30302         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30303         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
30304         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30305         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30306         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30307         * gst-libs/gst/vaapi/gstvaapiimage.c:
30308         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
30309         * gst-libs/gst/vaapi/gstvaapiobject.c:
30310         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30311         * gst-libs/gst/vaapi/gstvaapisurface.c:
30312         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30313         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30314         * gst-libs/gst/vaapi/gstvaapitexture.c:
30315         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30316         * gst-libs/gst/vaapi/gstvaapivalue.c:
30317         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30318         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30319         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30320         * gst-libs/gst/vaapi/gstvaapivideopool.c:
30321         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30322         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
30323         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
30324         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30325         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30326           libs: fix build in strict ISO C mode.
30327
30328 2012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30329
30330         * gst/vaapi/gstvaapi.c:
30331         * gst/vaapi/gstvaapidecode.c:
30332         * gst/vaapi/gstvaapidownload.c:
30333         * gst/vaapi/gstvaapipostproc.c:
30334         * gst/vaapi/gstvaapisink.c:
30335         * gst/vaapi/gstvaapiupload.c:
30336           plugins: fix build in strict ISO C mode.
30337
30338 2012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30339
30340         * pkgconfig/gstreamer-vaapi-glx.pc.in:
30341         * pkgconfig/gstreamer-vaapi-x11.pc.in:
30342         * pkgconfig/gstreamer-vaapi.pc.in:
30343           pkgconfig: fix dependencies and slightly improve description.
30344           Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
30345           descriptions with clearer renderer names.
30346
30347 2012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
30348
30349         * gst/vaapi/gstvaapidecode.c:
30350           vaapidecode: acquire lock only if the mutex exists.
30351           When playback stops the GstVaapiDecode object is reset into a clean
30352           state. However, surfaces may still be referenced by library users and
30353           unreferencing them after the reset triggers an access to an unset mutex.
30354           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30355
30356 2012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30357
30358         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30359           decoder: drop extraneous return for void function.
30360
30361 2012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30362
30363         * gst-libs/gst/vaapi/gstvaapiimage.c:
30364           image: don't use (void *) pointer arithmetic.
30365
30366 2012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
30367
30368         * gst-libs/gst/vaapi/gstvaapidecoder.h:
30369         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
30370         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30371         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30372         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30373         * gst-libs/gst/vaapi/gstvaapiprofile.h:
30374         * gst-libs/gst/vaapi/gstvaapisurface.h:
30375         * gst-libs/gst/vaapi/gstvaapitypes.h:
30376         * gst/vaapi/gstvaapipostproc.h:
30377           Do not forward declare enums.
30378           Forward declaring enums is not allowed by the C standard and aborts
30379           compilation if the header file is included in a C++ project.
30380           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30381
30382 2012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30383
30384         * configure.ac:
30385           configure: fix check for VA/DRM API.
30386
30387 2012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30388
30389         * gst/vaapi/gstvaapisink.c:
30390           vaapisink: fix calculation of window size.
30391           If either dimension is out-of-bounds, then scale window to fit the
30392           display size, even if the output is to be rotated. Use the standard
30393           gst_video_sink_center_rect() function to center and scale the window
30394           wrt. the outer (display) bounds.
30395
30396 2012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
30397
30398         * gst/vaapi/gstvaapisink.c:
30399         * gst/vaapi/gstvaapisink.h:
30400           vaapisink: add video rotation support.
30401           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30402
30403 2012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30404
30405         * gst/vaapi/gstvaapipluginutil.h:
30406           pluginutils: add G_PRIMITIVE_SWAP() helper macro.
30407           This macro helps swapping variables while maintaining the correct underlying
30408           and primitive type.
30409
30410 2012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30411
30412         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30413           display: fix display aspect ratio when display is rotated.
30414
30415 2012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30416
30417         * configure.ac:
30418         * gst-libs/gst/vaapi/Makefile.am:
30419         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30420         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
30421           display: fix physical display size when display is rotated.
30422
30423 2012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30424
30425         * gst-libs/gst/vaapi/gstvaapivalue.c:
30426           display: fix GstVaapiRotation enumeration of values.
30427
30428 2012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30429
30430         * docs/reference/libs/libs-docs.xml.in:
30431         * docs/reference/libs/libs-sections.txt:
30432         * gst-libs/gst/vaapi/Makefile.am:
30433         * gst-libs/gst/vaapi/gstvaapivideosink.c:
30434         * gst-libs/gst/vaapi/gstvaapivideosink.h:
30435         * gst/vaapi/gstvaapidecode.c:
30436         * gst/vaapi/gstvaapidownload.c:
30437         * gst/vaapi/gstvaapipostproc.c:
30438         * gst/vaapi/gstvaapisink.c:
30439         * gst/vaapi/gstvaapiupload.c:
30440           vaapisink: drop obsolete GstVaapiVideoSink interface.
30441           This interface was deprecated since 0.3.x series when the GstVideoContext
30442           interface was added to the main GStreamer APIs.
30443
30444 2012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30445
30446         * gst/vaapi/gstvaapisink.c:
30447         * gst/vaapi/gstvaapisink.h:
30448           vaapisink: automatically detect overlay rendering mode.
30449           Retain the VA surface until another surface is to be displayed only
30450           if VA display rendering mode is determined to be "overlay" mode.
30451
30452 2012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30453
30454         * gst/vaapi/gstvaapisink.c:
30455         * gst/vaapi/gstvaapisink.h:
30456           vaapisink: retain VA surface until another one is displayed.
30457           Keep VA surface proxy associated with the surface that is currently
30458           being displayed. This makes sure that surface is not released back
30459           to the pool of surfaces free to use for decoding. This is necessary
30460           with VA driver implementations that support rendering to an overlay
30461           pipe. Otherwise, there could be cases where we are decoding into a
30462           surface that is being displayed, hence some flickering.
30463
30464 2012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30465
30466         * gst/vaapi/gstvaapisink.h:
30467           vaapisink: fix build with older toolchains.
30468           Don't re-declare GstVaapiTexture if USE_GLX mode is set.
30469
30470 2012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30471
30472         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30473           display: partially revert 8ebe4d6.
30474           Don't try to fix up the initial values, this could make things worse.
30475           Simply assume the driver does not support the capability in this case.
30476
30477 2012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30478
30479         * tests/test-display.c:
30480           tests: dump VA display properties.
30481
30482 2012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30483
30484         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30485           display: fix validation process of properties during discovery.
30486           Some VA drivers (e.g. EMGD) can have completely random values for initial
30487           display attributes. So, try to improve the discovery process to check the
30488           initial display attribute values actually fall within valid bounds. If not,
30489           try to reset those to some sensible values like the default value reported
30490           through vaQueryDisplayAttributes().
30491
30492 2012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30493
30494         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30495         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30496           display: add color balance properties.
30497           Add support for hue, saturation, brightness and contrast attributes.
30498
30499 2012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30500
30501         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30502           display: initialize default attribute values.
30503           Ensure the display attribute is actually supported by trying to retrieve
30504           its current value during GstVaapiDisplay creation.
30505
30506 2012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30507
30508         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30509           display: raise "notify" for property changes.
30510
30511 2012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30512
30513         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30514         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30515           display: expose display attributes as GObject properties.
30516           Expose VA display "render-mode" and "rotation" attributes as standard
30517           GObject properties.
30518
30519 2012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30520
30521         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30522           display: install properties in batch.
30523           Use g_object_class_install_properties() to install GstVaapiDisplay properties.
30524           It is useful to maintain properties as GParamSpec so that to be able to raise
30525           "notify" signals by id instead of by name in the future.
30526
30527 2012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30528
30529         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30530           display: fix gst_vaapi_display_has_property().
30531           Append the "render-mode" and "rotation" properties, should they be supported
30532           by the underlying VA driver.
30533
30534 2012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
30535
30536         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30537         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30538         * gst-libs/gst/vaapi/gstvaapitypes.h:
30539         * gst-libs/gst/vaapi/gstvaapiutils.c:
30540         * gst-libs/gst/vaapi/gstvaapiutils.h:
30541         * gst-libs/gst/vaapi/gstvaapivalue.c:
30542         * gst-libs/gst/vaapi/gstvaapivalue.h:
30543           display: add support for rotation modes.
30544           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30545
30546 2012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30547
30548         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30549         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30550         * gst-libs/gst/vaapi/gstvaapitypes.h:
30551         * gst-libs/gst/vaapi/gstvaapivalue.c:
30552         * gst-libs/gst/vaapi/gstvaapivalue.h:
30553           display: add support for rendering modes.
30554           A rendering mode can be "overlay" or "texture"'ed blit.
30555           The former mode implies that a VA surface used for rendering can't be
30556           re-used right away for decoding, so the sink shall make provisions to
30557           retain the associated surface proxy until the next surface is to be
30558           displayed.
30559           The latter mode implies that the VA surface is implicitly copied to an
30560           intermediate backing store, or back buffer of a frame buffer, so the
30561           associated surface proxy can be disposed right away.
30562
30563 2012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30564
30565         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30566         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30567         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30568           display: add initial support for display attributes.
30569           The VA display attributes are mapped to properties so that to maintain the
30570           GStreamer terminology. Properties are to be identified by name, but internal
30571           functions are available to lookup the property by the actual VA display
30572           attribute type.
30573
30574 2012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30575
30576         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30577           jpeg: fix end-of-image (EOI) handler.
30578           decode_current_picture() was converted to return a gboolean instead
30579           of a GstVaapiDecoderStatus, so we were not getting out of the decode
30580           loop as expected, or could cause an error instead.
30581           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30582
30583 2012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30584
30585         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30586           mpeg2: include start code into VA slice data buffer.
30587           Integrate the start code prefix in the slice data buffer that is submitted
30588           to the hardware. VA-API specifies that slice_data_offset is the offset to
30589           the first byte of slice data. And, for MPEG-2, slice() data begins with
30590           the slice_start_code. Some VA driver implementations (EMGD) expect this.
30591
30592 2012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
30593
30594         * autogen.sh:
30595           autogen: fix configure script generation when srcdir != builddir.
30596           This patch allows for regenerating the configure script from a build
30597           directory that is not the actual source directory.
30598           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30599
30600 2012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
30601
30602         * configure.ac:
30603           configure: use new libtool syntax.
30604           This now requires libtool >= 2.2 to regenerate the configure script.
30605           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30606
30607 2012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
30608
30609         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30610           decoder: use g_object_notify_by_pspec().
30611           Use g_object_notify_by_pspec() instead of g_object_notify() so that to
30612           avoid a property name lookup. i.e. this makes notifications faster to
30613           the `vaapidecode' element.
30614           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30615
30616 2012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30617
30618         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30619           wayland: handle de-interlacing flags.
30620           VA/Wayland API was updated to allow flags for bob deinterlacing.
30621           More elaborated filters will require a complete VA/VPP pipeline.
30622
30623 2012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30624
30625         * gst-libs/gst/codecparsers/gstjpegparser.c:
30626           jpeg: fix default quantization tables.
30627           Two elements in the luminance quantization table were wrong. So,
30628           gst_jpeg_get_default_quantization_tables() now reconstructs tables
30629           in zig-zag order from the standard ones (Tables K.1 and K.2).
30630
30631 2012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30632
30633         * gst-libs/gst/codecparsers/gstjpegparser.c:
30634           jpeg: compute default Huffman tables.
30635           ... instead of having them pre-calculated. This saves around 1.5 KB
30636           of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
30637           to do more work. Though, the client application may have to call that
30638           function at most once, only.
30639
30640 2012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30641
30642         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30643           display: drop VAProfileNone entries from debug messages.
30644
30645 2012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
30646
30647         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30648           display: query for supported display attributes.
30649           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30650
30651 2012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
30652
30653         * gst-libs/gst/vaapi/gstvaapiutils.c:
30654         * gst-libs/gst/vaapi/gstvaapiutils.h:
30655           utils: add string_of_VADisplayAttributeType() helper.
30656           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30657
30658 2012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30659
30660         * gst/vaapi/gstvaapisink.c:
30661           vaapisink: handle VA/DRM API.
30662           This is not useful in practice but for raw performance evaluation when
30663           the sink is invoked with display=drm sync=false. fakesink could also be
30664           used though.
30665
30666 2012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30667
30668         * gst/vaapi/Makefile.am:
30669         * gst/vaapi/gstvaapipluginutil.c:
30670           plugins: add support for headless pipelines.
30671
30672 2012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30673
30674         * tests/Makefile.am:
30675         * tests/output.c:
30676         * tests/test-display.c:
30677         * tests/test-windows.c:
30678           tests: add support for headless decoding.
30679
30680 2012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30681
30682         * NEWS:
30683         * configure.ac:
30684         * debian.upstream/Makefile.am:
30685         * debian.upstream/control.in:
30686         * debian.upstream/libgstvaapi-drm.install.in:
30687         * gst-libs/gst/vaapi/Makefile.am:
30688         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30689         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30690         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
30691         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
30692         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
30693         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
30694         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
30695         * pkgconfig/Makefile.am:
30696         * pkgconfig/gstreamer-vaapi-drm.pc.in:
30697           Add initial support for VA/DRM.
30698
30699 2012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30700
30701         * configure.ac:
30702         * gst-libs/gst/vaapi/Makefile.am:
30703           Fix build without X11 (again).
30704           Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
30705           files list wrt. x11, glx and wayland backends.
30706
30707 2012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30708
30709         * configure.ac:
30710         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30711         * gst-libs/gst/vaapi/gstvaapicompat.h:
30712         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
30713           jpeg: update to the latest VA-API changes (0.32.1+).
30714
30715 2012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30716
30717         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30718         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
30719         * gst/vaapi/gstvaapisink.c:
30720           wayland: implement display ::get_size*() hooks.
30721
30722 2012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30723
30724         * gst/vaapi/gstvaapipluginutil.c:
30725           plugins: prefer X11 rendering over GLX.
30726           Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
30727           for rendering instead of texturing.
30728
30729 2012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
30730
30731         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30732           wayland: use scale fullscreen method.
30733           This makes the compositor scale the surface to fit and preserves aspect
30734           ratio.
30735           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30736
30737 2012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
30738
30739         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30740           wayland: respond to ping/pong protocol so we're not deemed unresponsive.
30741           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30742
30743 2012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30744
30745         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30746           wayland: fix double disconnect of display.
30747
30748 2012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30749
30750         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30751           wayland: mangle display name for cache lookups.
30752
30753 2012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30754
30755         * configure.ac:
30756         * debian.upstream/Makefile.am:
30757         * debian.upstream/control.in:
30758         * debian.upstream/libgstvaapi-wayland.install.in:
30759         * pkgconfig/Makefile.am:
30760         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
30761           wayland: add packaging files.
30762
30763 2012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30764
30765         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30766         * gst/vaapi/gstvaapipluginutil.c:
30767         * gst/vaapi/gstvaapisink.c:
30768         * pkgconfig/Makefile.am:
30769           Fix build without X11.
30770
30771 2012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30772
30773         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30774         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30775         * gst/vaapi/Makefile.am:
30776         * gst/vaapi/gstvaapipluginutil.c:
30777         * gst/vaapi/gstvaapisink.c:
30778           plugins: add support for Wayland.
30779
30780 2012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30781
30782         * tests/Makefile.am:
30783         * tests/output.c:
30784         * tests/test-display.c:
30785         * tests/test-windows.c:
30786           tests: add support for Wayland.
30787
30788 2012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30789
30790         * NEWS:
30791         * configure.ac:
30792         * gst-libs/gst/vaapi/Makefile.am:
30793         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
30794         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
30795         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
30796         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
30797         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
30798         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
30799           Add initial support for VA/Wayland.
30800           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30801
30802 2012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30803
30804         * gst/vaapi/gstvaapipluginbuffer.c:
30805           plugins: fix creation of video buffer from surface proxy.
30806           Fix a regression introduced with commit 8ef490a.
30807
30808 2012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30809
30810         * gst/vaapi/gstvaapipluginbuffer.c:
30811         * gst/vaapi/gstvaapipluginutil.c:
30812           plugins: use new display types more.
30813           In particular, simplify gst_vaapi_reply_to_query() with display types.
30814           Likewise for creating new video buffers.
30815
30816 2012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30817
30818         * gst/vaapi/gstvaapidecode.c:
30819         * gst/vaapi/gstvaapidownload.c:
30820         * gst/vaapi/gstvaapipluginutil.c:
30821         * gst/vaapi/gstvaapipluginutil.h:
30822         * gst/vaapi/gstvaapipostproc.c:
30823         * gst/vaapi/gstvaapisink.c:
30824         * gst/vaapi/gstvaapiupload.c:
30825           plugins: fix display type selection and propagation.
30826           If vaapisink is in the GStreamer pipeline, then we shall allocate a
30827           unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
30828           queries from vaapidecode shall get a valid answer from vaapisink.
30829
30830 2012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30831
30832         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30833           display: fix destruction of mutex.
30834
30835 2012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30836
30837         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30838         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30839         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30840         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30841         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30842         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
30843         * gst/vaapi/gstvaapipluginutil.c:
30844         * gst/vaapi/gstvaapipluginutil.h:
30845         * gst/vaapi/gstvaapisink.c:
30846           display: add display types.
30847           Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
30848           we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
30849           type to "any", and add a "display-type" attribute.
30850
30851 2012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30852
30853         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30854           display: use prefixed display names for cache lookups.
30855           This improves display name comparisons by always allocating a valid display
30856           name. This also helps to disambiguate lookups by name in the global display
30857           cache, should a new backend be implemented.
30858
30859 2012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30860
30861         * gst/vaapi/gstvaapipluginutil.h:
30862           plugins: declare helper functions as internal.
30863
30864 2012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30865
30866         * docs/reference/libs/libs-sections.txt:
30867         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30868         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30869         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30870         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30871         * gst/vaapi/Makefile.am:
30872         * gst/vaapi/gstvaapidecode.c:
30873         * gst/vaapi/gstvaapidownload.c:
30874         * gst/vaapi/gstvaapipluginbuffer.c:
30875         * gst/vaapi/gstvaapipluginbuffer.h:
30876         * gst/vaapi/gstvaapipostproc.c:
30877         * gst/vaapi/gstvaapiupload.c:
30878           videobuffer: drop deprecated functions.
30879           Move video buffer creation routines to plugin elements. That exclusively
30880           uses *_typed_new*() variants.
30881
30882 2012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30883
30884         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30885         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
30886           videobuffer: mark video buffer creation routines as deprecated.
30887           The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
30888           plugin elements. So deprecate any explicit creation routines that are not the
30889           new *_typed_new*() variants.
30890
30891 2012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30892
30893         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30894         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30895         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
30896           videobuffer: factor out base and GLX implementations.
30897           Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
30898           This avoids duplication of code, and makes it possible to further implement
30899           generic video buffer creation routines that automatically map to base or GLX
30900           variants.
30901
30902 2012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30903
30904         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30905           utils: fix gl_create_context() with parent context set.
30906           If GLX window was created from a foreign Display, then that same Display shall
30907           be used for subsequent glXMakeCurrent(). This means that gl_create_context()
30908           will now use the same Display that the parent, if available.
30909           This fixes cluttersink with the Intel GenX VA driver.
30910
30911 2012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30912
30913         * gst/vaapi/gstvaapidecode.c:
30914         * gst/vaapi/gstvaapidownload.c:
30915         * gst/vaapi/gstvaapipluginutil.c:
30916         * gst/vaapi/gstvaapipluginutil.h:
30917         * gst/vaapi/gstvaapipostproc.c:
30918         * gst/vaapi/gstvaapisink.c:
30919         * gst/vaapi/gstvaapiupload.c:
30920           pluginutils: improve automatic display type selection.
30921
30922 2012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30923
30924         * gst/vaapi/gstvaapipluginutil.c:
30925         * gst/vaapi/gstvaapipluginutil.h:
30926           pluginutils: cosmetics (indentation fixes).
30927
30928 2012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30929
30930         * configure.ac:
30931           configure: simplify video outputs summary.
30932
30933 2012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30934
30935         * configure.ac:
30936         * gst/vaapi/gstvaapipluginutil.c:
30937         * gst/vaapi/gstvaapipluginutil.h:
30938         * gst/vaapi/gstvaapisink.c:
30939         * gst/vaapi/gstvaapisink.h:
30940           configure: drop check for --enable-vaapisink-glx.
30941           vaapisink is now built with support for multiple display types, whenever
30942           they are enabled. The new "display" attribute is used to select a particular
30943           renderer.
30944
30945 2012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30946
30947         * configure.ac:
30948         * gst-libs/gst/vaapi/gstvaapicompat.h:
30949         * gst/vaapi/Makefile.am:
30950         * gst/vaapi/gstvaapidecode.c:
30951         * gst/vaapi/gstvaapidownload.c:
30952         * gst/vaapi/gstvaapipluginutil.c:
30953         * gst/vaapi/gstvaapipostproc.c:
30954         * gst/vaapi/gstvaapiupload.c:
30955         * tests/test-display.c:
30956           configure: drop check for --enable-vaapi-glx.
30957           This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
30958           support, or fallback to TFP+FBO if this API is not found. Now, we check for
30959           the VA/GLX API by default if --enable-glx is set. If this API is not found,
30960           we now default to use TFP+FBO.
30961           Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
30962           will be removed in the future. If GLX rendering is requested, then the VA/GLX
30963           API shall be used as it covers most usages. e.g. AMD driver can't render to
30964           an X pixmap yet.
30965
30966 2012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30967
30968         * tests/output.c:
30969           tests: allow GLX output, if available and selected.
30970
30971 2012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30972
30973         * tests/Makefile.am:
30974         * tests/output.c:
30975         * tests/output.h:
30976         * tests/test-decode.c:
30977         * tests/test-subpicture.c:
30978         * tests/test-surfaces.c:
30979           tests: use common display and window creation routines.
30980           Add new --output option to select the renderer. Use --list-outputs to
30981           print a list of supported renderers.
30982
30983 2012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30984
30985         * tests/Makefile.am:
30986           tests: move encoded bitstreams to libutils.la.
30987
30988 2012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30989
30990         * tests/Makefile.am:
30991           tests: build convenience library for common utilities.
30992
30993 2012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30994
30995         * tests/Makefile.am:
30996         * tests/test-display.c:
30997           tests: simplify build with various display options.
30998
30999 2012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31000
31001         * configure.ac:
31002           configure: improve checks for X11.
31003
31004 2012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31005
31006         * tests/Makefile.am:
31007           configure: fix previous commit for GLX deps.
31008
31009 2012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31010
31011         * configure.ac:
31012         * gst-libs/gst/vaapi/Makefile.am:
31013           configure: improve checks for GLX.
31014
31015 2012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31016
31017         * configure.ac:
31018         * gst-libs/gst/vaapi/gstvaapicompat.h:
31019         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31020         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
31021         * gst-libs/gst/vaapi/gstvaapiutils.h:
31022           Drop support for obsolete VA-API versions < 0.30.4.
31023
31024 2012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31025
31026         * configure.ac:
31027         * gst-libs/gst/Makefile.am:
31028         * gst-libs/gst/gstutils_version.h.in:
31029         * gst/vaapi/gstvaapisink.c:
31030           vaapisink: drop checks for new APIs used by default.
31031           GStreamer -base plugins >= 0.10.31 are now required, so the checks for
31032           new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
31033           are no longer necessary.
31034
31035 2012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31036
31037         * configure.ac:
31038           configure: cosmetics and some minor changes.
31039           - Better grouping of feature checks
31040           - Sort list of config files to generate
31041
31042 2012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31043
31044         * configure.ac:
31045         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31046         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31047         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31048         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31049         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
31050         * gst-libs/gst/vaapi/gstvaapiutils.h:
31051         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
31052         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
31053           Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
31054
31055 2012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31056
31057         * gst-libs/gst/vaapi/Makefile.am:
31058         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
31059         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
31060           Drop obsolete GstVaapiTSB.
31061           It has been replaced with a GstAdapter and gst_adapter_prev_pts().
31062
31063 2012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31064
31065         * docs/reference/libs/libs-sections.txt:
31066           docs: add missing entries for the JPEG decoder.
31067
31068 2012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31069
31070         * configure.ac:
31071         * gst-libs/gst/vaapi/Makefile.am:
31072         * gst/vaapi/gstvaapidecode.c:
31073         * tests/test-decode.c:
31074         * tests/test-subpicture.c:
31075           Drop all references to USE_CODEC_PARSERS.
31076
31077 2012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31078
31079         * NEWS:
31080         * configure.ac:
31081         * docs/reference/libs/libs-sections.txt:
31082         * docs/reference/libs/libs.core.types:
31083         * gst-libs/gst/vaapi/Makefile.am:
31084         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31085         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
31086         * gst/vaapi/gstvaapidecode.c:
31087         * gst/vaapi/gstvaapidecode.h:
31088         * tests/test-decode.c:
31089         * tests/test-subpicture.c:
31090           Drop FFmpeg-based decoders.
31091           GStreamer codecparsers-based decoders are the only supported decoders now.
31092           Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
31093
31094 2012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
31095
31096         * configure.ac:
31097         * debian.upstream/control.in:
31098           configure: bump glib required version to 2.28.
31099           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31100
31101 2012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
31102
31103         * gst/vaapi/gstvaapidecode.h:
31104         * gst/vaapi/gstvaapidownload.h:
31105         * gst/vaapi/gstvaapipostproc.h:
31106         * gst/vaapi/gstvaapisink.h:
31107         * gst/vaapi/gstvaapiupload.h:
31108           plugins: declare _get_type() functions as const.
31109           Declaring a function as const enables better optimization of calls to
31110           the function.
31111           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31112
31113 2012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
31114
31115         * gst/vaapi/gstvaapidecode.c:
31116         * gst/vaapi/gstvaapidownload.c:
31117         * gst/vaapi/gstvaapipostproc.c:
31118         * gst/vaapi/gstvaapisink.c:
31119         * gst/vaapi/gstvaapiupload.c:
31120           plugins: use g_clear_object() wherever applicable.
31121           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31122
31123 2012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
31124
31125         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31126         * gst-libs/gst/vaapi/gstvaapicontext.h:
31127         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31128         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31129         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
31130         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
31131         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
31132         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
31133         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
31134         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31135         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
31136         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31137         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
31138         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
31139         * gst-libs/gst/vaapi/gstvaapiimage.h:
31140         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
31141         * gst-libs/gst/vaapi/gstvaapiobject.h:
31142         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
31143         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
31144         * gst-libs/gst/vaapi/gstvaapisurface.h:
31145         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
31146         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31147         * gst-libs/gst/vaapi/gstvaapitexture.h:
31148         * gst-libs/gst/vaapi/gstvaapivalue.h:
31149         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31150         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
31151         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
31152         * gst-libs/gst/vaapi/gstvaapivideopool.h:
31153         * gst-libs/gst/vaapi/gstvaapivideosink.h:
31154         * gst-libs/gst/vaapi/gstvaapiwindow.h:
31155         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
31156         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
31157           libs: declare _get_type() functions as const.
31158           Declaring a function as const enables better optimization of calls
31159           to the function.
31160           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31161
31162 2012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
31163
31164         * gst-libs/gst/vaapi/glibcompat.h:
31165         * gst-libs/gst/vaapi/gstvaapicontext.c:
31166         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31167         * gst-libs/gst/vaapi/gstvaapiobject.c:
31168         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31169         * gst-libs/gst/vaapi/gstvaapisurface.c:
31170         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31171         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31172         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31173         * gst-libs/gst/vaapi/gstvaapivideopool.c:
31174           libs: use g_clear_object() wherever applicable.
31175           This is a preferred thread-safe version. Also add an inline version of
31176           g_clear_object() if compiling with glib < 2.28.
31177           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31178
31179 2012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
31180
31181         * .gitignore:
31182         * configure.ac:
31183         * docs/reference/libs/Makefile.am:
31184         * gst-libs/gst/vaapi/Makefile.am:
31185         * gst-libs/gst/vaapi/gstvaapimarshal.list:
31186         * gst-libs/gst/vaapi/gstvaapiobject.c:
31187           libs: use generic g_cclosure_marshal_VOID__VOID().
31188           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31189
31190 2012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31191
31192         * configure.ac:
31193         * gst-libs/gst/vaapi/glibcompat.h:
31194           glibcompat: drop explicit check for g_list_free_full().
31195
31196 2012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31197
31198         * configure.ac:
31199           Bump version for development.
31200
31201 2012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31202
31203         * gst-libs/gst/codecparsers/Makefile.am:
31204           jpeg: fix make dist.
31205
31206 2012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
31207
31208         * autogen.sh:
31209         * configure.ac:
31210         * docs/Makefile.am:
31211           configure: fix build without gtk-doc support.
31212           Also do not generate tamplate files as all the documentation is inline.
31213           Drop un-needed code in autogen.sh as well.
31214           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31215
31216 2012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
31217
31218         * Makefile.am:
31219         * autogen.sh:
31220         * configure.ac:
31221           configure: put m4 macros and autogenerated files into m4/ directory.
31222           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31223
31224 2012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
31225
31226         * configure.ac:
31227           configure: drop deprecated autoconf macros.
31228           Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
31229           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31230
31231 2012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
31232
31233         * configure.ac:
31234           configure: don't use AC_SUBST for some variables.
31235           PKG_CHECK_MODULES already does this for us.
31236           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31237
31238 2012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31239
31240         * gst/vaapi/gstvaapidecode.c:
31241         * gst/vaapi/gstvaapidownload.c:
31242         * gst/vaapi/gstvaapipostproc.c:
31243         * gst/vaapi/gstvaapiupload.c:
31244           plugins: add support for GstImplementsInterface.
31245
31246 2012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
31247
31248         * configure.ac:
31249         * gst/vaapi/gstvaapidecode.c:
31250         * gst/vaapi/gstvaapidownload.c:
31251         * gst/vaapi/gstvaapipostproc.c:
31252         * gst/vaapi/gstvaapisink.c:
31253         * gst/vaapi/gstvaapiupload.c:
31254           plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
31255           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31256
31257 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
31258
31259         * configure.ac:
31260         * gst/vaapi/gstvaapisink.c:
31261           plugins: do not use deprecated GStreamer -base symbols.
31262           Bump GStreamer plugins -base required version to 0.10.31, needed for
31263           gst_x_overlay_got_window_handle().
31264           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31265
31266 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
31267
31268         * configure.ac:
31269         * gst/vaapi/gstvaapidecode.c:
31270         * gst/vaapi/gstvaapidownload.c:
31271         * gst/vaapi/gstvaapipostproc.c:
31272         * gst/vaapi/gstvaapisink.c:
31273         * gst/vaapi/gstvaapiupload.c:
31274           plugins: do not use deprecated core GStreamer symbols.
31275           Bump GStreamer required version to 0.10.14, needed for
31276           gst_element_class_set_details_simple().
31277           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31278
31279 2012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31280
31281         * tests/test-decode.c:
31282           tests: fix build without JPEG decoder support.
31283
31284 2012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31285
31286         * tests/Makefile.am:
31287         * tests/test-decode.c:
31288         * tests/test-jpeg.c:
31289         * tests/test-jpeg.h:
31290           tests: add test for JPEG decoding.
31291
31292 2012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31293
31294         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31295           jpeg: update to match latest parser API.
31296
31297 2012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31298
31299         * gst-libs/gst/codecparsers/gstjpegparser.c:
31300         * gst-libs/gst/codecparsers/gstjpegparser.h:
31301           codecparsers: jpeg: tweak parser API.
31302           ... to allow for more consistent parsing API among various codec parsers.
31303           In particular, drop use of GList.
31304
31305 2012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31306
31307         * configure.ac:
31308           jpeg: fix configure check for VA/JPEG decoding API.
31309
31310 2012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31311
31312         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31313           jpeg: fix build with VA-API < 0.32.0.
31314
31315 2012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31316
31317         * NEWS:
31318           NEWS: updates.
31319
31320 2012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31321
31322         * configure.ac:
31323           Bump version for development.
31324
31325 2012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31326
31327         * NEWS:
31328         * configure.ac:
31329           0.3.7.
31330
31331 2012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31332
31333         * NEWS:
31334           NEWS: updates.
31335
31336 2012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
31337
31338         * gst/vaapi/gstvaapipluginutil.c:
31339           vaapiplugin: fix build when compiling without GLX.
31340           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31341
31342 2012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31343
31344         * configure.ac:
31345           configure: disable FFmpeg-based decoders.
31346           FFmpeg decoders are still available through the --enable-ffmpeg option
31347           but are no longer maintained.
31348
31349 2012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31350
31351         * gst-libs/gst/vaapi/Makefile.am:
31352           Fix build with recent GStreamer stack.
31353
31354 2012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31355
31356         * configure.ac:
31357         * gst-libs/gst/vaapi/gstvaapicompat.h:
31358         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31359           jpeg: update to current VA/JPEG decoding API.
31360
31361 2012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31362
31363         * gst-libs/gst/codecparsers/gstjpegparser.c:
31364         * gst-libs/gst/codecparsers/gstjpegparser.h:
31365         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31366           codecparsers: jpeg: track valid quantization and Huffman tables.
31367           Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
31368           to determine whether a table actually changed since the last user
31369           synchronization point. That way, this makes it possible for some
31370           hardware accelerated decoding solution to upload only those tables
31371           that changed.
31372
31373 2012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
31374
31375         * gst-libs/gst/codecparsers/gstjpegparser.c:
31376           codecparsers: jpeg: use U_READ_UINT*() wherever possible.
31377           Use GstByteReader *_unchecked() variants as much as possible.
31378           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31379
31380 2012-06-04 16:20:13 +0800  Wind Yuan <feng.yuan@intel.com>
31381
31382         * gst-libs/gst/codecparsers/gstjpegparser.c:
31383         * gst-libs/gst/codecparsers/gstjpegparser.h:
31384         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31385           jpeg: add new GstJpegHuffmanTables structure.
31386           Add new GstJpegHuffmanTables helper structure to hold all possible
31387           AC/DC Huffman tables available to all components.
31388           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31389
31390 2012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
31391
31392         * gst-libs/gst/codecparsers/gstjpegparser.c:
31393         * gst-libs/gst/codecparsers/gstjpegparser.h:
31394         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31395           jpeg: make gst_jpeg_parse() support multiple scans.
31396           gst_jpeg_parse() now gathers all scans available in the supplied
31397           buffer. A scan comprises of the scan header and any entropy-coded
31398           segments or restart marker following it. The size and offset to
31399           the associated data (ECS + RST segments) are append to a new
31400           GstJpegScanOffsetSize structure.
31401           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31402
31403 2012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
31404
31405         * gst-libs/gst/codecparsers/gstjpegparser.c:
31406         * gst-libs/gst/codecparsers/gstjpegparser.h:
31407         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31408           jpeg: update to match latest parser API.
31409           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31410
31411 2012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31412
31413         * gst-libs/gst/codecparsers/gstjpegparser.h:
31414           jpeg: simplify and optimize parser API.
31415
31416 2012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
31417
31418         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31419           mpeg: fix picture used to determine backward_reference_vop_coding_type.
31420           Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
31421           but Gwenole did not apply all the bits.
31422           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31423
31424 2012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
31425
31426         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31427           mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
31428           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31429
31430 2012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
31431
31432         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31433           mpeg4: handle skipped frames (vop_hdr->coded = 0).
31434           Gracefully skip non VOP coded frames.
31435           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31436
31437 2012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
31438
31439         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31440           mpeg4: fix timestamp issues on too fast playback.
31441           Improve generation of presentation timestamps to be less sensitive
31442           to input stream errors. In practise, GOP is also a synchronization
31443           point for PTS calculation.
31444           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31445
31446 2012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31447
31448         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31449           Fix build without JPEG decoder.
31450
31451 2012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
31452
31453         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31454           mpeg4: fix VOP coding type of backward reference pictures.
31455           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31456
31457 2012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
31458
31459         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31460           mpeg4: fix handling of temporal reference distances.
31461           TRD and TRB fields are not large enough to hold the difference of PTS
31462           expressed with nanosecond resolution. So, compute them from the original
31463           VOP info.
31464           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31465
31466 2012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31467
31468         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31469           dpb: mpeg2: cosmetics.
31470           Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
31471
31472 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
31473
31474         * configure.ac:
31475         * gst-libs/gst/vaapi/Makefile.am:
31476         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31477         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31478         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
31479         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
31480         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31481         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31482         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31483         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31484         * gst/vaapi/gstvaapidecode.c:
31485           Add initial JPEG decoder.
31486           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31487
31488 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
31489
31490         * configure.ac:
31491         * gst-libs/gst/Makefile.am:
31492         * gst-libs/gst/codecparsers/Makefile.am:
31493         * gst-libs/gst/codecparsers/gstjpegparser.c:
31494         * gst-libs/gst/codecparsers/gstjpegparser.h:
31495         * gst-libs/gst/vaapi/Makefile.am:
31496           codecparsers: add JPEG parser.
31497           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31498
31499 2012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
31500
31501         * gst/vaapi/gstvaapidecode.c:
31502           vaapidecode: fix VA display type.
31503           Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
31504           wrapper.
31505           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31506
31507 2012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31508
31509         * gst/vaapi/gstvaapidecode.c:
31510           vaapidecode: fix includes when compiling for a single API.
31511
31512 2012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31513
31514         * NEWS:
31515         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31516           mpeg2: fix calculation of macroblock_offset.
31517           Fix decoding of streams with extra slice() information before the first
31518           macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
31519
31520 2012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31521
31522         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31523           mpeg2: fix interpolation of GOP TSN from new PTS.
31524           New GOP TSN base could be mis-calculated. In particular, this fixes
31525           decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
31526
31527 2012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31528
31529         * NEWS:
31530         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31531         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31532           mpeg2: fix decoding of high profile streams.
31533           Allow MPEG-2 High profile streams only if the HW supports that profile
31534           or no High profile specific bits are used, and thus Main profile could
31535           be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
31536           set to 11 and no sequence_scalable_extension() was parsed.
31537
31538 2012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31539
31540         * NEWS:
31541         * gst/vaapi/gstvaapidecode.c:
31542           vaapidecode: report unsupported codec profiles.
31543           Try to gracefully abort when the HW does not support the requested
31544           profile. There is no fallback unless profiles are correctly parsed
31545           and matched through caps beforehand.
31546
31547 2012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
31548
31549         * NEWS:
31550         * gst/vaapi/gstvaapisink.c:
31551           vaapisink: don't resize a 'foreign' X-window.
31552           Don't forcibly resize foreign X windows. The user is responsible for
31553           their size and vaapisink shall not change this.
31554           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31555
31556 2012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
31557
31558         * NEWS:
31559         * gst/vaapi/gstvaapisink.c:
31560         * gst/vaapi/gstvaapisink.h:
31561           vaapisink: recalculate render rect only if caps are negotiated.
31562           Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
31563           caps got negotiated. Besides, when a foreign window is provided by the
31564           user, so should the render rect.
31565           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31566
31567 2012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31568
31569         * configure.ac:
31570           Bump version for development.
31571
31572 2012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31573
31574         * configure.ac:
31575           0.3.6.
31576
31577 2012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31578
31579         * docs/reference/libs/libs-docs.xml.in:
31580         * docs/reference/libs/libs-sections.txt:
31581         * docs/reference/plugins/plugins-docs.xml.in:
31582         * docs/reference/plugins/plugins-sections.txt:
31583         * docs/reference/plugins/plugins.types:
31584         * gst-libs/gst/vaapi/gstvaapiimage.c:
31585         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31586         * gst/vaapi/gstvaapipostproc.c:
31587           Fix a few documentation issues.
31588
31589 2012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31590
31591         * NEWS:
31592         * README:
31593           Update introduction and changelog.
31594
31595 2012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31596
31597         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31598         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31599         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31600           mpeg2: allocate dummy picture for first field based I-frame.
31601           In P-pictures, prediction shall be made from the two most recently
31602           decoded reference fields. However, when the first I-frame is a field,
31603           the next field of the current picture could be a P-picture but only a
31604           single field was decoded so far. In this case, create a dummy picture
31605           with POC = -1 that will be used as reference.
31606           Some VA drivers would error out if P-pictures don't have a forward
31607           reference picture. This is true in general but not in this very specific
31608           initial case.
31609
31610 2012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31611
31612         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31613           mpeg2: fix simple to main profile fallback.
31614           Allow fallback from simple to main profile when the HW decoder does
31615           not support the former profile and that no sequence_header_extension()
31616           is available to point out this.
31617
31618 2012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
31619
31620         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31621           mpeg4: improve error checking while decoding packets.
31622           decode_picture() could return an error when an MPEG-4 profile is not
31623           supported for example. In this case, the underlying VA context is not
31624           allocated and no other proper action can be taken. Likewise on exit
31625           from decode_slice().
31626           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31627
31628 2012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31629
31630         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31631         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31632         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31633         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31634           decoder: use POC to maintain the DPB.
31635           Introduce a POC field in GstVaapiPicture so that to store simpler sequential
31636           numbers. A signed 32-bit integer should be enough for 1 year of continuous
31637           video streaming at 60 Hz.
31638           Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
31639           This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
31640
31641 2012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31642
31643         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31644           mpeg2: rework generation of presentation timestamps.
31645           Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
31646           i.e. demuxer could not determine the PTS or the generated PTS is lower than
31647           max PTS from past pictures, then try to fix it up based on the duration of
31648           a frame.
31649           For picture PTS, simply use the GOP PTS formerly computed then use TSN to
31650           reconstruct a current time. Also now handle wrapped TSN correctly.
31651
31652 2012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31653
31654         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31655           mpeg2: ignore empty user-data packets.
31656           Fix tcela-8.bits conformance test.
31657
31658 2012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31659
31660         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31661           mpeg2: review and report errors accordingly.
31662           Use GST_ERROR() to report real errors instead of hiding them into
31663           GST_DEBUG().
31664
31665 2012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31666
31667         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31668           mpeg2: fix invalid interlaced frame in progressive sequence.
31669           Some streams, badly constructed, could have signaled an interlaced
31670           frame while the sequence was meant to be progressive. Warn and force
31671           frame to be progressive in this case.
31672
31673 2012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31674
31675         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31676         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31677           mpeg2: add support for interlaced streams.
31678           Pictures are submitted to the HW for rendering only when both fields
31679           are decoded or current picture is a full frame.
31680
31681 2012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31682
31683         * gst-libs/gst/vaapi/Makefile.am:
31684         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
31685         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
31686         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31687           mpeg2: add new decoded picture buffer infrastructure.
31688           Decoded pictures are now maintained into DPB, similarly to H.264.
31689           The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
31690
31691 2012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31692
31693         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31694         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31695         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31696           decoder: add first-field flag to picture.
31697           Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
31698           member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
31699           as the first field. Any subsequent allocated field will become the second field.
31700
31701 2012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31702
31703         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
31704         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
31705         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31706         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31707           decoder: allow pictures to be cloned for field decoding.
31708           Add gst_vaapi_picture_new_field() function that clones a picture, while
31709           preserving the parent picture surface. i.e. the surface proxy reference
31710           count is increased and other fields copied as is. Besides, the picture
31711           is reset into a "non-output" mode.
31712
31713 2012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31714
31715         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31716         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31717         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31718           decoder: rework picture field flags.
31719           Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
31720           could be propagated to the surface proxy when it is pushed for rendering.
31721           Besides, top and bottom fields are now expressed with picture structure flags
31722           from GstVaapiSurfaceRenderFlags.
31723
31724 2012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31725
31726         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31727         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31728           decoder: add OUTPUT flag to pictures.
31729           Allow pictures to be marked as output gst_vaapi_picture_output().
31730
31731 2012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31732
31733         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31734         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31735         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
31736           decoder: fix semantics of SKIPPED pictures.
31737           If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
31738           will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
31739           has nothing to do with rendering. This only means that the currently decoded
31740           picture is just a copy of its reference picture.
31741
31742 2012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31743
31744         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31745         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31746         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31747         * gst/vaapi/gstvaapipostproc.c:
31748           vaapipostproc: get "interlaced" attribute from surface proxy.
31749           Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
31750           vaapipostproc so that to handles cases where bitstream is interlaced
31751           but almost only frame pictures are generated. In this case, we should
31752           not be alternating between top/bottom fields.
31753
31754 2012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31755
31756         * README:
31757         * debian.upstream/control.in:
31758         * gst/vaapi/Makefile.am:
31759         * gst/vaapi/gstvaapi.c:
31760         * gst/vaapi/gstvaapipostproc.c:
31761         * gst/vaapi/gstvaapipostproc.h:
31762           vaapipostproc: add new element for video postprocessing.
31763           Add vaapipostproc element for video postprocessing. So far, only basic
31764           bob deinterlacing is implemented. Interlaced mode is automatically
31765           detected based on sink caps ("interlaced" field).
31766
31767 2012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31768
31769         * docs/reference/libs/libs-sections.txt:
31770         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31771         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31772         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31773         * gst/vaapi/gstvaapisink.c:
31774           videobuffer: add surface render flags.
31775           Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
31776           to be set to the video buffer. In particular, this is mostly useful for
31777           basic deinterlacing.
31778
31779 2012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31780
31781         * gst-libs/gst/vaapi/gstvaapicompat.h:
31782           compat: add compatibility glue with VA-API 0.34+ (WIP).
31783
31784 2012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31785
31786         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31787           h264: skip all Filler Data NALs.
31788
31789 2012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
31790
31791         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
31792           mpeg4: check for decoder status prior to decoding packet.
31793           Make sure there is a VA surface free prior to decoding the current frame.
31794           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31795
31796 2012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
31797
31798         * gst/vaapi/gstvaapidecode.c:
31799         * gst/vaapi/gstvaapidecode.h:
31800           decode: delay NEWSEGMENT event if vaapidecode element was not linked.
31801           Rationale: playbin2 links all elements at run-time. Once vaapidecode
31802           is created and a NEWSEGMENT event arrives, downstream element may not
31803           be ready yet. So, delay this event until next element is chained in,
31804           otherwise basesink could output "Received buffer without a new-segment.
31805           Assuming timestamps start from 0".
31806           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31807
31808 2012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
31809
31810         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31811           mpeg2: fix GOP timestamps when incorrect data is received.
31812           Some streams have incorrect GOP timestamps, or nothing set at all.
31813           i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
31814           from demuxer timestamps, which are monotonic.
31815           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31816
31817 2012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
31818
31819         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31820           mpeg2: don't decode anything before the first sequence_header().
31821           Skip all pictures prior to the first sequence_header(). Besides,
31822           skip all picture_data() if there was no prior picture_header().
31823           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31824
31825 2012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
31826
31827         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31828           ffmpeg: add support for interlaced streams.
31829           Evaluate interlaced stream properties.
31830           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31831
31832 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31833
31834         * gst/vaapi/gstvaapidecode.c:
31835           vaapidecode: propagate interlaced and TFF properties downstream.
31836           Propagate "interlaced" caps downstream and set "tff" buffer flag
31837           appropriately to output buffers for interlaced pictures.
31838           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31839
31840 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31841
31842         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31843         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31844           decoder: maintain caps for interlaced streams.
31845           Extend GstVaapiDecoder base object to maintain caps with "interlaced"
31846           property.
31847           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31848
31849 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
31850
31851         * docs/reference/libs/libs-sections.txt:
31852         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31853         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31854           surfaceproxy: add TFF property.
31855           Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
31856           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31857
31858 2012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31859
31860         * AUTHORS:
31861           AUTHORS: update to match current authors.
31862
31863 2012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31864
31865         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31866           mpeg2: fix is_first_field calculation.
31867           Reset is_first_field for frame pictures. Factor out locations where
31868           the flag is updated.
31869
31870 2012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31871
31872         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31873           mpeg2: catch incorrect picture_structure from bitstreams.
31874           Assume "frame" picture structure if the syntax element was zero or if
31875           progressive_frame is set.
31876
31877 2012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31878
31879         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31880           mpeg2: fix slice_vertical_position calculation (again).
31881           VA-API expects slice_vertical_position as the initial position from the
31882           bitstream. i.e. the direct slice() information. VA drivers will be fixed
31883           accordingly.
31884
31885 2012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31886
31887         * gst/vaapi/gstvaapidecode.c:
31888           Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
31889           This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
31890           For gst_element_class_get_pad_template(), no unreferencing is necessary
31891           according to the GStreamer documentation.
31892
31893 2012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31894
31895         * configure.ac:
31896         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31897           h264: fix slice_data_bit_offset calculation.
31898           Unlike what VA-API documentation defines, the slice_data_bit_offset
31899           represents the offset to the first macroblock in the slice data, minus
31900           any emulation prevention bytes in the slice_header().
31901           This fix copes with binary-only VA drivers that won't be fixed any
31902           time soon. Besides, this aligns with the current FFmpeg behaviour
31903           that was based on those proprietary drivers implementing the API
31904           incorrectly.
31905
31906 2012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
31907
31908         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31909           h264: skip all Access Unit (AU) NALs.
31910           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31911
31912 2012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
31913
31914         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31915           h264: fix modification process of reference picture lists.
31916           Construction of RefPicList0/1 could be off by one element.
31917           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31918
31919 2012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
31920
31921         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31922           mpeg2: fix size calculation from sequence_extension().
31923           Original values from sequence_header() are 12-bit and the remaining
31924           2 most significant bits are coming from sequence_extension().
31925           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31926
31927 2012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31928
31929         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31930           mpeg2: fix slice_vertical_position calculation.
31931           Make sure to adjust slice_vertical_position if picture structure
31932           is a top or bottom field.
31933
31934 2012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31935
31936         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
31937           decoder: add picture structure flags.
31938
31939 2012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31940
31941         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31942           mpeg2: fix decoding at end-of-sequence.
31943
31944 2012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31945
31946         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31947           mpeg2: fix slice_horizontal_position calculation.
31948
31949 2012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31950
31951         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31952           mpeg2: drop useless mb_y and mb_height members.
31953
31954 2012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31955
31956         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
31957           mpeg2: fix decoding of multiple slices with same slice_vertical_position.
31958           6.3.15 says that "some slices may have the same slice_vertical_position,
31959           since slices may start and finish anywhere". So, we can't submit the current
31960           picture to the HW right away since subsequent slices would be missing.
31961
31962 2012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31963
31964         * gst-libs/gst/vaapi/gstvaapiimage.c:
31965           image: fix source stride in picture copy.
31966
31967 2012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31968
31969         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
31970           decoder: fix double buffer free with some VA drivers.
31971           vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
31972           push the VA buffer object into a list of free buffers to be re-used. However,
31973           reference pictures (and data) that was kept would explicitly release the VA
31974           buffer object later on, thus possibly destroying a valid (re-used) object.
31975           Besides, some other VA drivers don't support correctly the vaRenderPicture()
31976           semantics for VA buffers disposal and would leak memory if there is no explicit
31977           vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
31978           right after vaRenderPicture(). All VA drivers need to be aligned.
31979
31980 2012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31981
31982         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31983           h264: complete any current picture decoder before SPS / PPS change.
31984           This ensures the VA context is clear when the encoded resolution
31985           changes. i.e. make sure older picture is decoded with the older
31986           VA context before it changes.
31987
31988 2012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31989
31990         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31991           h264: create VA context earlier when SPS is parsed.
31992
31993 2012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31994
31995         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
31996           h264: don't allocate too big data structures on stack.
31997
31998 2012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31999
32000         * gst-libs/gst/vaapi/glibcompat.h:
32001         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32002         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
32003           glib: map deprecated API to glib >= 2.32 equivalents.
32004           GStaticMutex and GStaticRecMutex are now replaced with GMutex and
32005           GRecMutex, which no longer require any prior call to g_thread_init().
32006
32007 2012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32008
32009         * gst-libs/gst/vaapi/gstvaapiutils.h:
32010         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32011         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
32012           glib: fix includes.
32013
32014 2012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32015
32016         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
32017         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32018         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32019         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32020           cosmetics: fix warnings (drop unused variables).
32021
32022 2012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32023
32024         * gst/vaapi/gstvaapidecode.c:
32025           vaapidecode: fix another pad template ref leak.
32026
32027 2012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32028
32029         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32030         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32031         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32032           mpeg2: fix crash when there is no free surface to decode into.
32033
32034 2012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
32035
32036         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32037           display: skip profiles which have no entrypoints.
32038           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32039
32040 2012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32041
32042         * gst/vaapi/gstvaapiupload.c:
32043           vaapiupload: use g_object_unref() for GstVaapiImage.
32044
32045 2012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32046
32047         * gst/vaapi/gstvaapidecode.c:
32048         * gst/vaapi/gstvaapidownload.c:
32049         * gst/vaapi/gstvaapisink.c:
32050         * gst/vaapi/gstvaapiupload.c:
32051           plugins: fix pad template ref leaks.
32052
32053 2012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32054
32055         * configure.ac:
32056           Bump version for development.
32057
32058 2012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32059
32060         * NEWS:
32061         * configure.ac:
32062           0.3.4.
32063
32064 2012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32065
32066         * README:
32067           README: updates.
32068           Mention codecparsers-based decoders, FFmpeg is now optional. Update
32069           list of support HW.
32070
32071 2012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32072
32073         * NEWS:
32074           NEWS: updates.
32075
32076 2012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32077
32078         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
32079           decoder: allocate proxy surface earlier.
32080           This simplifies gst_vaapi_picture_output() to only update the presentation
32081           timestamp and submit the proxy to the decoder for output.
32082
32083 2012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32084
32085         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
32086           decoder: fix memory leak of VA objects on exit.
32087           On sequence end, if the last decoded picture is not output for rendering,
32088           then the proxy surface is not created. In this case, the original surface
32089           must be released explicitly to the context.
32090
32091 2012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32092
32093         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32094           mpeg2: use GstAdapter to track input sequence.
32095           This fixes possible memory leaks and improves performance by removing
32096           some extra copies.
32097
32098 2012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32099
32100         * configure.ac:
32101         * gst-libs/gst/vaapi/Makefile.am:
32102         * gst-libs/gst/vaapi/glibcompat.h:
32103         * gst-libs/gst/vaapi/sysdeps.h:
32104           Add glib compatibility glue for older versions.
32105
32106 2012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32107
32108         * gst-libs/gst/vaapi/Makefile.am:
32109         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
32110         * gst-libs/gst/vaapi/gstvaapicontext.c:
32111         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32112         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32113         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32114         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32115         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32116         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
32117         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32118         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32119         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32120         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32121         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
32122         * gst-libs/gst/vaapi/gstvaapiimage.c:
32123         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
32124         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
32125         * gst-libs/gst/vaapi/gstvaapiobject.c:
32126         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
32127         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32128         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32129         * gst-libs/gst/vaapi/gstvaapisurface.c:
32130         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
32131         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32132         * gst-libs/gst/vaapi/gstvaapitexture.c:
32133         * gst-libs/gst/vaapi/gstvaapiutils.c:
32134         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32135         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
32136         * gst-libs/gst/vaapi/gstvaapivalue.c:
32137         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32138         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
32139         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32140         * gst-libs/gst/vaapi/gstvaapivideopool.c:
32141         * gst-libs/gst/vaapi/gstvaapivideosink.c:
32142         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32143         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32144         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
32145         * gst-libs/gst/vaapi/sysdeps.h:
32146           Add header for system-dependent definitions.
32147
32148 2012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32149
32150         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
32151         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
32152         * gst-libs/gst/vaapi/gstvaapiutils.c:
32153         * gst-libs/gst/vaapi/gstvaapiutils.h:
32154           decoder: optimize slice data buffers initialization.
32155           VA drivers may have a faster means to transfer user buffers to GPU
32156           buffers than using memcpy(). In particular, on Intel Gen graphics, we
32157           can use pwrite(). This provides for faster upload of bitstream and can
32158           help higher bitrates.
32159           vaapi_create_buffer() helper function was also updated to allow for
32160           un-mapped buffers and pre-initialized data for buffers.
32161
32162 2012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32163
32164         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32165           h264: simplify RefPicList reconstruction.
32166
32167 2012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32168
32169         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32170           h264: flush DPB when the end of the sequence is reached.
32171
32172 2012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32173
32174         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32175           h264: handle Decoded Picture Buffer (DPB).
32176
32177 2012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32178
32179         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32180           h264: fix pred_weight_table() reconstruction.
32181           Only the explicit pred_weight_table(), possibly with the inferred default
32182           values, shall be required. e.g. don't fill in the table if weighted_pred_flag
32183           is not set for P/SP slices.
32184
32185 2012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32186
32187         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32188           h264: execute reference picture marking process (MMCO).
32189
32190 2012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32191
32192         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32193           h264: fix presentation timestamps.
32194
32195 2012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32196
32197         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32198           h264: execute reference picture marking process (sliding window).
32199
32200 2012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32201
32202         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32203           h264: handle avcC format for decoding buffers.
32204
32205 2011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32206
32207         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32208           h264: handle codec-data.
32209           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32210
32211 2011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32212
32213         * gst-libs/gst/vaapi/Makefile.am:
32214         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
32215         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
32216         * gst/vaapi/gstvaapidecode.c:
32217         * tests/test-decode.c:
32218           Add initial H.264 decoder.
32219
32220 2012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32221
32222         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
32223         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
32224           decoder: retain proxy surface until the GstVaapiPicture is destroyed.
32225           Keep a valid reference to the proxy in GstVaapiPicture so that frames
32226           marked as "used for reference" could be kept during the lifetime of the
32227           picture. i.e. don't release them too soon as they could be re-used right
32228           away.
32229
32230 2012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32231
32232         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32233         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32234         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32235           decoder: properly reference count pictures.
32236           This fixes cases where a GstVaapiPicture would be destroyed whereas
32237           there is still a valid instance of it in either prev, current or
32238           next picture.
32239
32240 2012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32241
32242         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32243         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32244         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
32245         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32246           decoder: simplify output of decoded frames.
32247           Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
32248           Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
32249           is already set correctly and reference count increased, if necessary.
32250
32251 2012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32252
32253         * gst-libs/gst/vaapi/Makefile.am:
32254         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
32255         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
32256         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32257         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32258         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32259         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
32260         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
32261         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32262         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32263           decoder: rework the internal VA objects API.
32264           The new API simplifies a lot reference counting and makes it more
32265           flexible for future additions/changes. The GstVaapiCodecInfo is
32266           also gone. Rather, new helper macros are provided to allocate
32267           picture, slice and quantization matrix parameter buffers.
32268
32269 2012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32270
32271         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32272         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32273           decoder: allow slices to be attached to pictures later.
32274
32275 2011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32276
32277         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32278         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32279           decoder: add ref_count to GstVaapiPicture.
32280
32281 2012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32282
32283         * gst/vaapi/gstvaapisink.c:
32284           vaapisink: cap window size to the maximum display size.
32285
32286 2012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
32287
32288         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32289         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
32290           profile: match video/x-h263 as H.263 Baseline profile.
32291           HACK: qtdemux does not report profiles for H.263. So, assume plain
32292           "video/x-h263" is H.263 Baseline profile.
32293           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32294
32295 2012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32296
32297         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32298         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
32299           display: report H.263 Baseline profile.
32300           HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
32301           profile (VAProfileMPEG4Simple) is supported.
32302
32303 2012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32304
32305         * gst-libs/gst/vaapi/Makefile.am:
32306         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
32307           Add template for workarounds.
32308
32309 2012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32310
32311         * tests/test-decode.c:
32312           tests: error out if FFmpeg|codecparsers are not supported.
32313
32314 2012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32315
32316         * docs/reference/libs/libs-sections.txt:
32317         * gst-libs/gst/vaapi/gstvaapisurface.h:
32318         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
32319           surface: don't expose gst_vaapi_surface_get_parent_context().
32320           gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
32321           It's just an internal helper function. However, it's still possible to get
32322           the parent context through the "parent-context" property.
32323
32324 2012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32325
32326         * tests/Makefile.am:
32327         * tests/test-subpicture.c:
32328           tests: fix build without FFmpeg.
32329
32330 2012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32331
32332         * configure.ac:
32333           Bump version for development.
32334
32335 2012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32336
32337         * NEWS:
32338         * configure.ac:
32339           0.3.3.
32340
32341 2012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32342
32343         * README:
32344         * debian.upstream/copyright:
32345         * gst-libs/gst/vaapi/gstvaapicontext.c:
32346         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32347         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32348         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32349         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32350         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32351         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32352         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32353         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32354         * gst-libs/gst/vaapi/gstvaapiimage.c:
32355         * gst-libs/gst/vaapi/gstvaapiimage.h:
32356         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32357         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32358         * gst-libs/gst/vaapi/gstvaapiutils.c:
32359         * gst-libs/gst/vaapi/gstvaapiutils.h:
32360         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32361         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32362         * gst/vaapi/gstvaapi.c:
32363         * gst/vaapi/gstvaapidecode.c:
32364         * gst/vaapi/gstvaapidownload.c:
32365         * gst/vaapi/gstvaapidownload.h:
32366         * gst/vaapi/gstvaapipluginutil.c:
32367         * gst/vaapi/gstvaapipluginutil.h:
32368         * gst/vaapi/gstvaapisink.c:
32369         * gst/vaapi/gstvaapiupload.c:
32370         * gst/vaapi/gstvaapiupload.h:
32371         * tests/test-decode.c:
32372           legal: fix year for some copyright notices.
32373
32374 2012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32375
32376         * gst-libs/gst/vaapi/gstvaapicontext.c:
32377         * gst-libs/gst/vaapi/gstvaapicontext.h:
32378         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32379         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32380         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32381         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32382         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32383         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32384         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32385         * gst-libs/gst/vaapi/gstvaapiimage.c:
32386         * gst-libs/gst/vaapi/gstvaapiimage.h:
32387         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
32388         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
32389         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32390         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32391         * gst-libs/gst/vaapi/gstvaapisurface.c:
32392         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32393         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32394         * gst-libs/gst/vaapi/gstvaapiutils.c:
32395         * gst-libs/gst/vaapi/gstvaapiutils.h:
32396         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32397         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
32398         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32399         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32400         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32401         * gst/vaapi/gstvaapidownload.h:
32402         * gst/vaapi/gstvaapisink.h:
32403         * gst/vaapi/gstvaapiupload.h:
32404         * tests/test-decode.c:
32405           legal: add Intel copyright on modified files.
32406
32407 2012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32408
32409         * gst-libs/gst/vaapi/gstvaapi_priv.h:
32410         * gst-libs/gst/vaapi/gstvaapicompat.h:
32411         * gst-libs/gst/vaapi/gstvaapicontext.c:
32412         * gst-libs/gst/vaapi/gstvaapicontext.h:
32413         * gst-libs/gst/vaapi/gstvaapidebug.h:
32414         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32415         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32416         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32417         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
32418         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32419         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32420         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32421         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32422         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
32423         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
32424         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32425         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32426         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
32427         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
32428         * gst-libs/gst/vaapi/gstvaapiimage.c:
32429         * gst-libs/gst/vaapi/gstvaapiimage.h:
32430         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
32431         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
32432         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
32433         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
32434         * gst-libs/gst/vaapi/gstvaapiobject.c:
32435         * gst-libs/gst/vaapi/gstvaapiobject.h:
32436         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
32437         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
32438         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
32439         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32440         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32441         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32442         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32443         * gst-libs/gst/vaapi/gstvaapisurface.c:
32444         * gst-libs/gst/vaapi/gstvaapisurface.h:
32445         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
32446         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
32447         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32448         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32449         * gst-libs/gst/vaapi/gstvaapitexture.c:
32450         * gst-libs/gst/vaapi/gstvaapitexture.h:
32451         * gst-libs/gst/vaapi/gstvaapitypes.h:
32452         * gst-libs/gst/vaapi/gstvaapiutils.c:
32453         * gst-libs/gst/vaapi/gstvaapiutils.h:
32454         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32455         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32456         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
32457         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
32458         * gst-libs/gst/vaapi/gstvaapivalue.c:
32459         * gst-libs/gst/vaapi/gstvaapivalue.h:
32460         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32461         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32462         * gst-libs/gst/vaapi/gstvaapivideopool.c:
32463         * gst-libs/gst/vaapi/gstvaapivideopool.h:
32464         * gst-libs/gst/vaapi/gstvaapivideosink.c:
32465         * gst-libs/gst/vaapi/gstvaapivideosink.h:
32466         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32467         * gst-libs/gst/vaapi/gstvaapiwindow.h:
32468         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32469         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
32470         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
32471         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
32472         * gst/vaapi/gstvaapidecode.c:
32473         * gst/vaapi/gstvaapidecode.h:
32474         * gst/vaapi/gstvaapidownload.c:
32475         * gst/vaapi/gstvaapidownload.h:
32476         * gst/vaapi/gstvaapisink.c:
32477         * gst/vaapi/gstvaapisink.h:
32478         * gst/vaapi/gstvaapiupload.c:
32479         * gst/vaapi/gstvaapiupload.h:
32480         * tests/image.c:
32481         * tests/image.h:
32482         * tests/test-decode.c:
32483         * tests/test-decode.h:
32484         * tests/test-display.c:
32485         * tests/test-h264.c:
32486         * tests/test-h264.h:
32487         * tests/test-mpeg2.c:
32488         * tests/test-mpeg2.h:
32489         * tests/test-surfaces.c:
32490         * tests/test-textures.c:
32491         * tests/test-vc1.c:
32492         * tests/test-vc1.h:
32493         * tests/test-windows.c:
32494           legal: fix copyright notices to include "Copyright" term.
32495
32496 2011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
32497
32498         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32499         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
32500           mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
32501           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32502
32503 2011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
32504
32505         * gst-libs/gst/vaapi/Makefile.am:
32506         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
32507         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
32508         * gst/vaapi/gstvaapidecode.c:
32509           Add initial MPEG-4 decoder.
32510           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32511
32512 2011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32513
32514         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32515         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
32516           vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
32517           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32518
32519 2011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32520
32521         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32522           vc1: fix codec-data decoding for WMV3 format.
32523
32524 2011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32525
32526         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32527           vc1: fix presentation timestamps.
32528
32529 2011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32530
32531         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32532           vc1: fix MV mode packing.
32533
32534 2011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32535
32536         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32537           vc1: handle codec-data.
32538
32539 2011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32540
32541         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32542           vc1: handle encapsulated bitstreams.
32543
32544 2011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32545
32546         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32547         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32548         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32549           vc1: fix bitplanes decoding.
32550
32551 2011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32552
32553         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32554           vc1: fix BFRACTION reconstruction.
32555
32556 2011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32557
32558         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32559           vc1: fix framerate calculation.
32560
32561 2011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32562
32563         * gst-libs/gst/vaapi/Makefile.am:
32564         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
32565         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
32566         * gst/vaapi/gstvaapidecode.c:
32567         * tests/test-decode.c:
32568           Add initial VC-1 decoder.
32569
32570 2012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
32571
32572         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32573           mpeg2: fix first field detection.
32574           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32575
32576 2012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32577
32578         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32579           mpeg2: fix quantisation matrix construction.
32580
32581 2011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
32582
32583         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32584         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
32585           mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
32586           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32587
32588 2011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32589
32590         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32591           mpeg2: fix packets spanning over two buffers.
32592
32593 2011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32594
32595         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32596           mpeg2: ignore system start codes (PES headers).
32597
32598 2011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32599
32600         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32601           mpeg2: handle closed_gop.
32602
32603 2011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32604
32605         * gst-libs/gst/vaapi/Makefile.am:
32606         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
32607         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
32608         * gst/vaapi/gstvaapidecode.c:
32609         * tests/test-decode.c:
32610           Add initial MPEG-2 decoder.
32611
32612 2011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32613
32614         * configure.ac:
32615         * gst-libs/gst/vaapi/Makefile.am:
32616         * gst/vaapi/gstvaapidecode.c:
32617         * tests/test-decode.c:
32618           Allow conditional build of GStreamer/FFmpeg bitstream parsers.
32619
32620 2011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32621
32622         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32623         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32624           Add VA decoder helpers.
32625
32626 2011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32627
32628         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32629           decoder: add new error codes.
32630           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
32631           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
32632
32633 2011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32634
32635         * gst-libs/gst/vaapi/Makefile.am:
32636         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
32637         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
32638           Add timestamp buffer store helper utils.
32639
32640 2011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32641
32642         * gst-libs/gst/vaapi/gstvaapiutils.c:
32643         * gst-libs/gst/vaapi/gstvaapiutils.h:
32644           Add VA buffer helpers.
32645
32646 2012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32647
32648         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32649           utils: slight improvements to gl_bind_texture().
32650
32651 2012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32652
32653         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32654           utils: pretty-print output of gl_get_error_string().
32655
32656 2012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32657
32658         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32659           utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
32660
32661 2012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32662
32663         * gst-libs/gst/vaapi/gstvaapiutils.c:
32664           utils: simplify string of VAProfile/VAEntrypoint.
32665
32666 2012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32667
32668         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32669         * gst-libs/gst/vaapi/gstvaapiutils.c:
32670         * gst-libs/gst/vaapi/gstvaapiutils.h:
32671           utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
32672
32673 2012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32674
32675         * NEWS:
32676           NEWS: updates.
32677
32678 2012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32679
32680         * tests/test-decode.c:
32681           tests: check for shared VA displays (display cache).
32682
32683 2012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32684
32685         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32686           display: always free VA display cache if it is empty.
32687
32688 2012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32689
32690         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32691         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32692         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32693         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32694         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32695           display: use VA display cache for X11 and GLX winsys.
32696
32697 2012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32698
32699         * gst-libs/gst/vaapi/Makefile.am:
32700         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32701         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
32702         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
32703           display: implement a VA display cache.
32704
32705 2012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32706
32707         * gst/vaapi/gstvaapipluginutil.c:
32708           vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
32709           This ensures the display name provided to gst_vaapi_display_*_new()
32710           maps to the system defaults, instead of forcing "" that could be different
32711           from the current DISPLAY name.
32712
32713 2011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32714
32715         * gst/vaapi/gstvaapiupload.c:
32716           vaapiupload: only set caps on newly created buffers.
32717           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32718
32719 2012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32720
32721         * gst/vaapi/gstvaapisink.c:
32722           vaapisink: ensure VA display in GstBaseSink::start() hook.
32723           This ensures a VA display is ready by the time upstream elements request
32724           for it.
32725
32726 2011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
32727
32728         * gst/vaapi/gstvaapisink.c:
32729           vaapisink: don't leak GL texture.
32730           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32731
32732 2012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32733
32734         * gst/vaapi/gstvaapisink.c:
32735           vaapisink: fix calculation of render region.
32736
32737 2012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32738
32739         * gst/vaapi/gstvaapisink.c:
32740           vaapisink: automatically fit video to window.
32741
32742 2012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32743
32744         * gst/vaapi/gstvaapisink.c:
32745           vaapisink: implement GstXOverlay::set_render_rectangle().
32746
32747 2012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32748
32749         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32750           window: always check geometry when the window is mapped.
32751
32752 2012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
32753
32754         * gst-libs/gst/vaapi/gstvaapiutils.c:
32755           Add missing profiles from VA-API 0.32.0.
32756           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32757
32758 2012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32759
32760         * .gitignore:
32761           .gitignore: add test-subpicture.
32762
32763 2012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32764
32765         * configure.ac:
32766           Bump version for development.
32767
32768 2012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32769
32770         * NEWS:
32771         * configure.ac:
32772           0.3.2.
32773
32774 2012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32775
32776         * tests/Makefile.am:
32777           tests: fix make dist (ship with test-subpicture-data.h).
32778
32779 2012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32780
32781         * NEWS:
32782           NEWS: updates.
32783
32784 2012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32785
32786         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32787         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32788         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32789           decoder: fix possible leak of VA surfaces.
32790           Under some circumstances, we could have leaked a surface, thus not
32791           releasing it to the pool of available surfaces in the VA context.
32792           The strategy is now to use a proxy earlier and automatically ref/unref
32793           whenever necessary. In particular, during the lifetime needed for FFmpeg.
32794
32795 2012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32796
32797         * docs/reference/libs/libs-sections.txt:
32798         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32799         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32800           surfaceproxy: add helper to retrieve the VA surface ID.
32801
32802 2012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32803
32804         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32805           surfaceproxy: simplify destruction.
32806           Also make sure to always make sure to release the surface back to the
32807           pool of surfaces in the associated VA context, if any.
32808
32809 2012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32810
32811         * gst/vaapi/gstvaapidecode.c:
32812           vaapidecode: fix deinitialization order.
32813
32814 2012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32815
32816         * gst-libs/gst/vaapi/gstvaapicontext.c:
32817           context: avoid self reference loops with surfaces.
32818
32819 2012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32820
32821         * debian.upstream/control.in:
32822           debian: update control.in description for new plugins.
32823
32824 2012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32825
32826         * gst/vaapi/gstvaapiupload.c:
32827           vaapiupload: use new gst_vaapi_append_surface_caps() helper.
32828           This also fixes extra structures, beyond the one at index 0, to hold
32829           the right additional values.
32830
32831 2012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32832
32833         * gst/vaapi/gstvaapiupload.c:
32834           vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
32835
32836 2012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32837
32838         * README:
32839         * docs/reference/plugins/plugins-docs.xml.in:
32840         * docs/reference/plugins/plugins-sections.txt:
32841         * docs/reference/plugins/plugins.types:
32842         * gst/vaapi/Makefile.am:
32843         * gst/vaapi/gstvaapi.c:
32844         * gst/vaapi/gstvaapidownload.c:
32845         * gst/vaapi/gstvaapidownload.h:
32846           vaapidownload: add new plugin to download pixels from VA surfaces.
32847
32848 2012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32849
32850         * gst/vaapi/gstvaapipluginutil.c:
32851         * gst/vaapi/gstvaapipluginutil.h:
32852           vaapipluingutils: add helper to append surface caps to YUV caps.
32853
32854 2012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32855
32856         * docs/reference/libs/libs-sections.txt:
32857         * gst-libs/gst/vaapi/gstvaapiimage.c:
32858         * gst-libs/gst/vaapi/gstvaapiimage.h:
32859           image: add helpers to extract pixels to user buffers.
32860
32861 2012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32862
32863         * gst-libs/gst/vaapi/gstvaapiimage.c:
32864           image: simplify initialization of raw images from video buffers.
32865
32866 2012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32867
32868         * gst-libs/gst/vaapi/gstvaapiimage.c:
32869           image: fix update from NV12 buffers.
32870
32871 2012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32872
32873         * gst/vaapi/gstvaapiupload.c:
32874           vaapiupload: fix memory leak in _init() function.
32875
32876 2012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32877
32878         * NEWS:
32879         * README:
32880         * debian.upstream/control.in:
32881         * docs/reference/plugins/plugins-docs.xml.in:
32882         * docs/reference/plugins/plugins-sections.txt:
32883         * docs/reference/plugins/plugins.types:
32884         * gst/vaapi/Makefile.am:
32885         * gst/vaapi/gstvaapi.c:
32886         * gst/vaapi/gstvaapiupload.c:
32887         * gst/vaapi/gstvaapiupload.h:
32888           Rename vaapiconvert element to vaapiupload.
32889
32890 2012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32891
32892         * configure.ac:
32893           Bump version for development.
32894
32895 2012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32896
32897         * NEWS:
32898         * configure.ac:
32899           0.3.1.
32900
32901 2011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32902
32903         * NEWS:
32904           NEWS: updates.
32905
32906 2011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32907
32908         * gst-libs/gst/vaapi/gstvaapisurface.c:
32909         * gst-libs/gst/vaapi/gstvaapisurface.h:
32910         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32911         * gst/vaapi/gstvaapisink.c:
32912           surface: apply composition to the parent context, if requested.
32913
32914 2011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32915
32916         * docs/reference/libs/libs-sections.txt:
32917         * gst-libs/gst/vaapi/gstvaapicontext.c:
32918         * gst-libs/gst/vaapi/gstvaapicontext.h:
32919           context: make it possible to apply composition globally.
32920
32921 2011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32922
32923         * gst-libs/gst/vaapi/gstvaapisurface.c:
32924           surface: fix associate subpicture to not report deassociation errors.
32925
32926 2011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32927
32928         * gst-libs/gst/vaapi/gstvaapisurface.c:
32929           surface: fix typo in debug message.
32930
32931 2011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32932
32933         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32934         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32935         * gst-libs/gst/vaapi/gstvaapisurface.c:
32936           subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
32937
32938 2011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32939
32940         * docs/reference/libs/libs-sections.txt:
32941         * gst-libs/gst/vaapi/Makefile.am:
32942         * gst-libs/gst/vaapi/gstvaapicontext.c:
32943         * gst-libs/gst/vaapi/gstvaapisurface.c:
32944         * gst-libs/gst/vaapi/gstvaapisurface.h:
32945         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
32946           surface: record parent context.
32947
32948 2011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32949
32950         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
32951         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32952         * gst/vaapi/gstvaapidecode.c:
32953         * gst/vaapi/gstvaapisink.c:
32954           Fix warnings.
32955
32956 2011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32957
32958         * gst-libs/gst/vaapi/gstvaapisurface.c:
32959         * gst-libs/gst/vaapi/gstvaapisurface.h:
32960         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32961         * gst/vaapi/gstvaapisink.c:
32962           Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
32963
32964 2011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32965
32966         * configure.ac:
32967           configure: check for GstVideoOverlayComposition.
32968
32969 2011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32970
32971         * NEWS:
32972           NEWS: updates.
32973
32974 2011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32975
32976         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
32977           converter: add support for GstVideoOverlayComposition planes.
32978           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32979
32980 2011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
32981
32982         * gst/vaapi/gstvaapisink.c:
32983           vaapisink: handle GstVideoOverlayComposition planes.
32984           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32985
32986 2011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32987
32988         * gst-libs/gst/vaapi/gstvaapisurface.c:
32989           surface: use unscaled overlay rectangle for blending.
32990
32991 2011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
32992
32993         * gst-libs/gst/vaapi/gstvaapisurface.c:
32994           surface: fix VA image leak when an error occurred.
32995
32996 2011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
32997
32998         * gst-libs/gst/vaapi/gstvaapisurface.c:
32999         * gst-libs/gst/vaapi/gstvaapisurface.h:
33000           surface: add helper to handle GstVideoOverlayComposition.
33001           This helper resets the subpictures to reflect the current composition
33002           layers provided with the buffers.
33003           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33004
33005 2011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33006
33007         * docs/reference/libs/libs-sections.txt:
33008         * gst-libs/gst/vaapi/Makefile.am:
33009         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33010         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33011         * gst/vaapi/gstvaapiconvert.c:
33012           image: add gst_vaapi_image_format_from_video() helper.
33013
33014 2011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33015
33016         * gst-libs/gst/vaapi/gstvaapiimage.c:
33017         * gst-libs/gst/vaapi/gstvaapiimage.h:
33018           image: allow updates from GstVaapiImageRaw.
33019
33020 2011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33021
33022         * gst-libs/gst/vaapi/gstvaapiimage.c:
33023         * gst-libs/gst/vaapi/gstvaapiimage.h:
33024         * gst/vaapi/gstvaapiconvert.c:
33025         * tests/test-subpicture.c:
33026           image: allow partial updates.
33027
33028 2011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33029
33030         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33031           subpicture: fix doc for gst_vaapi_subpicture_set_image().
33032
33033 2011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33034
33035         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33036           display: fix has_image_format() to check against subpicture formats.
33037
33038 2011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33039
33040         * tests/test-subpicture.c:
33041           tests: fix subpicture test.
33042
33043 2011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
33044
33045         * tests/Makefile.am:
33046         * tests/test-subpicture-data.c:
33047         * tests/test-subpicture-data.h:
33048         * tests/test-subpicture.c:
33049           tests: add test for subpictures.
33050           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33051
33052 2011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
33053
33054         * gst/vaapi/gstvaapiconvert.c:
33055         * gst/vaapi/gstvaapidecode.c:
33056           Add missing video context queries.
33057           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33058
33059 2011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33060
33061         * configure.ac:
33062           Bump version for development.
33063
33064 2011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33065
33066         * gst-libs/gst/video/Makefile.am:
33067         * gst-libs/gst/video/gstbasevideocodec.c:
33068         * gst-libs/gst/video/gstbasevideocodec.h:
33069         * gst-libs/gst/video/gstbasevideodecoder.c:
33070         * gst-libs/gst/video/gstbasevideodecoder.h:
33071         * gst-libs/gst/video/gstbasevideoutils.c:
33072         * gst-libs/gst/video/gstbasevideoutils.h:
33073           Drop unused copy of GstBaseVideoDecoder.
33074
33075 2011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33076
33077         * NEWS:
33078         * configure.ac:
33079           0.3.0.
33080
33081 2011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33082
33083         * README:
33084           README: update dependencies.
33085
33086 2011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33087
33088         * NEWS:
33089           NEWS: updates.
33090
33091 2011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33092
33093         * configure.ac:
33094           configure: check for GstBaseSink 'query' vfunc.
33095
33096 2011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33097
33098         * gst/vaapi/Makefile.am:
33099           vaapiplugin: include local build dir to CFLAGS for generated files.
33100
33101 2011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33102
33103         * autogen.sh:
33104           autogen: don't configure if NO_CONFIGURE variable is set.
33105
33106 2011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
33107
33108         * gst/vaapi/gstvaapidecode.c:
33109         * gst/vaapi/gstvaapidecode.h:
33110           vaapidecode: return sink caps template if decoder is in NULL state.
33111           Otherwise, the decoder would always create its own X display instead
33112           of probing it from the downstream element, which is not reliable.
33113           e.g. DISPLAY is not :0 or when running on Wayland.
33114           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33115
33116 2011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33117
33118         * gst/vaapi/gstvaapiconvert.c:
33119         * gst/vaapi/gstvaapidecode.c:
33120           vaapiplugin: properly set surface type to "vaapi" in caps.
33121
33122 2011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33123
33124         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33125           decoder: drop unused headers.
33126
33127 2011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
33128
33129         * gst/vaapi/gstvaapiconvert.c:
33130         * gst/vaapi/gstvaapidecode.c:
33131           vaapiplugin: properly set opengl support in caps.
33132           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33133
33134 2011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
33135
33136         * gst/vaapi/gstvaapiconvert.c:
33137         * gst/vaapi/gstvaapidecode.c:
33138           vaapiplugin: allocate GLX buffers when supported.
33139           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33140
33141 2011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
33142
33143         * gst-libs/gst/vaapi/Makefile.am:
33144         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33145         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
33146         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
33147         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
33148         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
33149         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
33150           videobuffer: add GLX buffer support.
33151           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33152
33153 2011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
33154
33155         * gst-libs/gst/vaapi/Makefile.am:
33156         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33157         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33158           Port to GstSurfaceBuffer interface.
33159           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33160
33161 2011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
33162
33163         * gst/vaapi/gstvaapidecode.c:
33164         * gst/vaapi/gstvaapisink.c:
33165           Don't use downstream buffer allocation.
33166           With the new video/x-surface abstraction, we can't rely on having a VA
33167           specific sink downstream. Also, there was no particular reason to do that.
33168           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33169
33170 2011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
33171
33172         * gst-libs/gst/vaapi/Makefile.am:
33173         * gst-libs/gst/vaapi/gstvaapicontext.c:
33174         * gst-libs/gst/vaapi/gstvaapisurface.h:
33175         * gst/vaapi/gstvaapiconvert.c:
33176         * gst/vaapi/gstvaapisink.c:
33177         * tests/Makefile.am:
33178         * tests/test-surfaces.c:
33179           Change caps to use new video/x-surface generic type.
33180           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33181
33182 2011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
33183
33184         * configure.ac:
33185         * gst-libs/gst/vaapi/Makefile.am:
33186         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33187         * gst/vaapi/Makefile.am:
33188         * gst/vaapi/gstvaapiconvert.c:
33189         * gst/vaapi/gstvaapidecode.c:
33190         * gst/vaapi/gstvaapipluginutil.c:
33191         * gst/vaapi/gstvaapipluginutil.h:
33192         * gst/vaapi/gstvaapisink.c:
33193         * gst/vaapi/gstvaapisink.h:
33194           Port to GstVideoContext interface.
33195           This new interface allows for upstream and downstream display sharing
33196           that works in both static and dynamic pipelines.
33197           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33198
33199 2011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33200
33201         * gst/vaapi/gstvaapisink.c:
33202           vaapisink: use GST_ERROR to print error messages.
33203
33204 2011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33205
33206         * gst/vaapi/Makefile.am:
33207           vaapiplugin: link against VA/GLX when enabled.
33208
33209 2011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33210
33211         * gst/vaapi/gstvaapiconvert.c:
33212         * gst/vaapi/gstvaapisink.c:
33213           Add Intel copyright information.
33214
33215 2011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33216
33217         * gst/vaapi/gstvaapisink.c:
33218           vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
33219
33220 2011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33221
33222         * .gitignore:
33223         * configure.ac:
33224         * gst-libs/gst/Makefile.am:
33225         * gst-libs/gst/gstutils_version.h.in:
33226           Add new GStreamer version check utilities.
33227
33228 2011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
33229
33230         * gst/vaapi/gstvaapisink.c:
33231           vaapisink: replace the deprecated xoverlay API with the new one.
33232           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33233
33234 2011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33235
33236         * configure.ac:
33237           configure: allow for pre-releases.
33238
33239 2011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
33240
33241         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33242           display: destroy display on creation failure.
33243           This allows element to detect that the display creation has actually
33244           failed.
33245           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33246
33247 2011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
33248
33249         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33250           display: don't crash when config is empty.
33251           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33252
33253 2011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33254
33255         * README:
33256         * debian.upstream/copyright:
33257           doc: mention Collabora copyrights.
33258
33259 2011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33260
33261         * .gitignore:
33262           .gitignore: refine for generated docs.
33263
33264 2011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
33265
33266         * configure.ac:
33267         * docs/reference/plugins/Makefile.am:
33268         * gst/Makefile.am:
33269         * gst/vaapi/Makefile.am:
33270         * gst/vaapi/gstvaapi.c:
33271         * gst/vaapi/gstvaapiconvert.c:
33272         * gst/vaapi/gstvaapiconvert.h:
33273         * gst/vaapi/gstvaapidecode.c:
33274         * gst/vaapi/gstvaapidecode.h:
33275         * gst/vaapi/gstvaapisink.c:
33276         * gst/vaapi/gstvaapisink.h:
33277         * gst/vaapiconvert/Makefile.am:
33278         * gst/vaapidecode/Makefile.am:
33279           Group all plugins into the same bundle
33280           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33281
33282 2011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33283
33284         * configure.ac:
33285           Bump version for development.
33286
33287 2011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33288
33289         * configure.ac:
33290         * debian.upstream/control.in:
33291           debian: build against upstream libva packages.
33292
33293 2011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33294
33295         * docs/reference/libs/Makefile.am:
33296         * docs/reference/plugins/Makefile.am:
33297         * tests/Makefile.am:
33298           Fix build on Ubuntu 11.10 (Oneric).
33299
33300 2011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33301
33302         * NEWS:
33303           0.2.7.
33304
33305 2011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
33306
33307         * .gitignore:
33308           Adding ignore file
33309           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33310
33311 2011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
33312
33313         * gst/vaapiconvert/gstvaapiconvert.c:
33314         * gst/vaapidecode/gstvaapidecode.c:
33315         * gst/vaapisink/gstvaapisink.c:
33316           Update license in plugin definition
33317           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33318
33319 2011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33320
33321         * NEWS:
33322         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33323           decoder: fix use of invalid data at the end-of-stream.
33324
33325 2011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33326
33327         * gst/vaapiconvert/gstvaapiconvert.c:
33328           vaapiconvert: fix some warnings.
33329
33330 2011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33331
33332         * configure.ac:
33333         * debian.upstream/changelog.in:
33334         * debian.upstream/control.in:
33335         * debian.upstream/copyright:
33336         * gst/vaapiconvert/gstvaapiconvert.c:
33337         * gst/vaapidecode/gstvaapidecode.c:
33338         * gst/vaapisink/gstvaapisink.c:
33339           Update with my current e-mail address.
33340
33341 2011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33342
33343         * NEWS:
33344         * README:
33345           Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
33346
33347 2011-10-18 09:18:20 +0200  warly <warly@warly.org>
33348
33349         * tests/image.c:
33350         * tests/image.h:
33351         * tests/test-decode.c:
33352         * tests/test-decode.h:
33353         * tests/test-display.c:
33354         * tests/test-h264.c:
33355         * tests/test-h264.h:
33356         * tests/test-mpeg2.c:
33357         * tests/test-mpeg2.h:
33358         * tests/test-surfaces.c:
33359         * tests/test-textures.c:
33360         * tests/test-vc1.c:
33361         * tests/test-vc1.h:
33362         * tests/test-windows.c:
33363           switch tests licence to LGPL v2.1+
33364
33365 2011-10-18 09:06:52 +0200  warly <warly@warly.org>
33366
33367         * COPYING:
33368         * README:
33369         * debian.upstream/copyright:
33370         * gst/vaapiconvert/gstvaapiconvert.c:
33371         * gst/vaapiconvert/gstvaapiconvert.h:
33372         * gst/vaapidecode/gstvaapidecode.c:
33373         * gst/vaapidecode/gstvaapidecode.h:
33374         * gst/vaapisink/gstvaapisink.c:
33375         * gst/vaapisink/gstvaapisink.h:
33376           move plugins to LGPL v2.1+
33377
33378 2011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33379
33380         * gst/vaapidecode/gstvaapidecode.c:
33381           vaapidecode: fix sink caps to not expose size information.
33382           This fixes this particular issue:
33383           GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
33384           a real subset of its template caps
33385
33386 2011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33387
33388         * NEWS:
33389         * gst/vaapidecode/gstvaapidecode.c:
33390           vaapidecode: fix decoding of MPEG-2 PS files.
33391
33392 2011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33393
33394         * gst-libs/gst/vaapi/Makefile.am:
33395           Cosmetics (sort source files).
33396
33397 2011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33398
33399         * gst/vaapiconvert/gstvaapiconvert.c:
33400         * gst/vaapiconvert/gstvaapiconvert.h:
33401           vaapiconvert: fix direct-rendering caps detection.
33402
33403 2011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33404
33405         * gst-libs/gst/vaapi/gstvaapiimage.c:
33406           Fix gst_vaapi_image_new_with_image().
33407
33408 2011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33409
33410         * gst/vaapiconvert/gstvaapiconvert.c:
33411           vaapiconvert: warn when surface failed to be updated with image.
33412
33413 2011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33414
33415         * gst/vaapiconvert/gstvaapiconvert.c:
33416           vaapiconvert: fix autodetection for vaDeriveImage() support.
33417
33418 2011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33419
33420         * gst/vaapiconvert/gstvaapiconvert.c:
33421           vaapiconvert: fix memory leak (VA surface image).
33422
33423 2011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33424
33425         * NEWS:
33426         * gst/vaapiconvert/gstvaapiconvert.c:
33427           vaapiconvert: fix direct-rendering mode.
33428
33429 2011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33430
33431         * docs/reference/libs/libs-sections.txt:
33432         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33433         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33434           Add gst_vaapi_video_buffer_new_from_buffer().
33435           Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
33436           Any image, surface or surface proxy will be inherited from the source buffer
33437           if it is a GstVaapiVideoBuffer.
33438
33439 2011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33440
33441         * gst/vaapiconvert/gstvaapiconvert.c:
33442           vaapiconvert: protect access to direct_rendering.
33443
33444 2011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33445
33446         * gst/vaapiconvert/gstvaapiconvert.c:
33447           vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
33448
33449 2011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33450
33451         * NEWS:
33452         * README:
33453         * debian.upstream/copyright:
33454         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33455         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33456         * gst-libs/gst/vaapi/gstvaapisurface.h:
33457         * gst/vaapidecode/gstvaapidecode.c:
33458         * gst/vaapidecode/gstvaapidecode.h:
33459           Add Intel copyright information.
33460
33461 2011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33462
33463         * NEWS:
33464           Updates.
33465
33466 2011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33467
33468         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33469           Fix build with newer FFmpeg versions.
33470
33471 2011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33472
33473         * gst/vaapidecode/gstvaapidecode.c:
33474         * gst/vaapidecode/gstvaapidecode.h:
33475           Fix decoding of MPEG-2 TS files.
33476
33477 2011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33478
33479         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33480           Report caps update only once per video resolution change.
33481
33482 2011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33483
33484         * gst-libs/gst/vaapi/gstvaapisurface.h:
33485           Add canonical form (type name) of VA surface caps.
33486
33487 2011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33488
33489         * configure.ac:
33490           Bump version for development.
33491
33492 2011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33493
33494         * configure.ac:
33495           Use pretty build output with automake >= 1.11.
33496
33497 2011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
33498
33499         * gst/vaapiconvert/Makefile.am:
33500         * gst/vaapidecode/Makefile.am:
33501         * gst/vaapisink/Makefile.am:
33502         * tests/Makefile.am:
33503           Fix build with libva headers not in a standard include dir.
33504
33505 2011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33506
33507         * configure.ac:
33508           0.2.6.
33509
33510 2011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33511
33512         * gst-libs/gst/vaapi/gstvaapi_priv.h:
33513         * gst-libs/gst/vaapi/gstvaapicompat.h:
33514         * gst-libs/gst/vaapi/gstvaapicontext.c:
33515         * gst-libs/gst/vaapi/gstvaapicontext.h:
33516         * gst-libs/gst/vaapi/gstvaapidebug.h:
33517         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33518         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33519         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33520         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
33521         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33522         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33523         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33524         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
33525         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
33526         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
33527         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
33528         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33529         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33530         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
33531         * gst-libs/gst/vaapi/gstvaapiimage.c:
33532         * gst-libs/gst/vaapi/gstvaapiimage.h:
33533         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33534         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33535         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
33536         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
33537         * gst-libs/gst/vaapi/gstvaapiobject.c:
33538         * gst-libs/gst/vaapi/gstvaapiobject.h:
33539         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33540         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33541         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
33542         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33543         * gst-libs/gst/vaapi/gstvaapiprofile.h:
33544         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33545         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33546         * gst-libs/gst/vaapi/gstvaapisurface.c:
33547         * gst-libs/gst/vaapi/gstvaapisurface.h:
33548         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33549         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
33550         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
33551         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
33552         * gst-libs/gst/vaapi/gstvaapitexture.c:
33553         * gst-libs/gst/vaapi/gstvaapitexture.h:
33554         * gst-libs/gst/vaapi/gstvaapitypes.h:
33555         * gst-libs/gst/vaapi/gstvaapiutils.c:
33556         * gst-libs/gst/vaapi/gstvaapiutils.h:
33557         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33558         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33559         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33560         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
33561         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33562         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33563         * gst-libs/gst/vaapi/gstvaapivalue.c:
33564         * gst-libs/gst/vaapi/gstvaapivalue.h:
33565         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33566         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33567         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33568         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33569         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33570         * gst-libs/gst/vaapi/gstvaapivideosink.h:
33571         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33572         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33573         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33574         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
33575         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33576         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33577         * gst/vaapiconvert/gstvaapiconvert.c:
33578         * gst/vaapiconvert/gstvaapiconvert.h:
33579         * gst/vaapidecode/gstvaapidecode.c:
33580         * gst/vaapidecode/gstvaapidecode.h:
33581         * gst/vaapisink/gstvaapisink.c:
33582         * gst/vaapisink/gstvaapisink.h:
33583         * tests/image.c:
33584         * tests/image.h:
33585         * tests/test-decode.c:
33586         * tests/test-decode.h:
33587         * tests/test-display.c:
33588         * tests/test-h264.c:
33589         * tests/test-h264.h:
33590         * tests/test-mpeg2.c:
33591         * tests/test-mpeg2.h:
33592         * tests/test-surfaces.c:
33593         * tests/test-textures.c:
33594         * tests/test-vc1.c:
33595         * tests/test-vc1.h:
33596         * tests/test-windows.c:
33597           Update copyright notice.
33598
33599 2011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
33600
33601         * NEWS:
33602         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33603         * gst-libs/gst/vaapi/gstvaapisurface.c:
33604         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33605         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
33606         * gst-libs/gst/vaapi/gstvaapitexture.c:
33607         * gst-libs/gst/vaapi/gstvaapiutils.c:
33608         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33609         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33610         * gst-libs/gst/vaapi/gstvaapivalue.c:
33611         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33612         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33613         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33614         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33615         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33616         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33617           Fix licensing terms.
33618
33619 2010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33620
33621         * NEWS:
33622           0.2.5.
33623
33624 2010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33625
33626         * debian.upstream/copyright:
33627           Fix license terms...
33628
33629 2010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33630
33631         * gst/vaapisink/gstvaapisink.c:
33632           Render pretty background only in use-reflection=true mode.
33633
33634 2010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33635
33636         * NEWS:
33637           Updates.
33638
33639 2010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33640
33641         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33642           Drop the GLX 1.3 requirement.
33643
33644 2010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33645
33646         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33647         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33648           Call the GLX/Pixmap related functions through the vtable.
33649
33650 2010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33651
33652         * NEWS:
33653         * configure.ac:
33654         * gst-libs/gst/vaapi/Makefile.am:
33655         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33656           Drop dependency on libavformat.
33657
33658 2010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33659
33660         * gst-libs/gst/video/gstbasevideodecoder.c:
33661         * gst-libs/gst/video/gstbasevideodecoder.h:
33662           Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
33663
33664 2010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33665
33666         * gst-libs/gst/video/gstbasevideodecoder.c:
33667         * gst-libs/gst/video/gstbasevideoutils.c:
33668         * gst-libs/gst/video/gstbasevideoutils.h:
33669           Drop superfluous functions.
33670
33671 2010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33672
33673         * gst-libs/gst/video/gstbasevideodecoder.c:
33674           Really drop any dependency on libgstvideo. i.e. inline the helpers.
33675
33676 2010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33677
33678         * gst-libs/gst/video/gstbasevideodecoder.c:
33679           Further drop dependency on libgstvideo.
33680
33681 2010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33682
33683         * gst-libs/gst/video/Makefile.am:
33684         * gst-libs/gst/video/gstbasevideocodec.c:
33685         * gst-libs/gst/video/gstbasevideocodec.h:
33686         * gst-libs/gst/video/gstbasevideodecoder.c:
33687         * gst-libs/gst/video/gstbasevideodecoder.h:
33688         * gst-libs/gst/video/gstbasevideoutils.c:
33689         * gst-libs/gst/video/gstbasevideoutils.h:
33690           Add GstBaseVideoDecoder from gst-plugins-bad git.
33691
33692 2010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33693
33694         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33695           Fix GLX version check.
33696
33697 2010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33698
33699         * NEWS:
33700         * configure.ac:
33701           Bump version for development.
33702
33703 2010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33704
33705         * NEWS:
33706         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33707           Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
33708
33709 2010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33710
33711         * NEWS:
33712           Update changelog.
33713
33714 2010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33715
33716         * gst-libs/gst/vaapi/gstvaapicompat.h:
33717           Fix build with older VA-API 0.29-sds.
33718
33719 2010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33720
33721         * gst/vaapisink/gstvaapisink.c:
33722         * gst/vaapisink/gstvaapisink.h:
33723           Fix upscaling in foreign window (Totem).
33724
33725 2010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33726
33727         * gst/vaapisink/gstvaapisink.c:
33728           Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
33729
33730 2010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33731
33732         * NEWS:
33733         * gst/vaapisink/gstvaapisink.c:
33734           Fix video rendering rect within an embedder window (Totem).
33735
33736 2010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33737
33738         * NEWS:
33739         * gst/vaapisink/gstvaapisink.c:
33740           Disable GLX rendering when vaapisink uses a foreign X window.
33741
33742 2010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33743
33744         * gst/vaapisink/gstvaapisink.c:
33745           Simplify GLX rendering code.
33746
33747 2010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33748
33749         * configure.ac:
33750           Bump version for development.
33751
33752 2010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33753
33754         * NEWS:
33755           0.2.3.
33756
33757 2010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33758
33759         * gst/vaapidecode/gstvaapidecode.c:
33760           Wait for at most one second for a VA surface to become available.
33761
33762 2010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33763
33764         * README:
33765         * configure.ac:
33766           Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
33767
33768 2010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33769
33770         * NEWS:
33771         * README:
33772         * gst-libs/gst/vaapi/gstvaapiprofile.c:
33773           Fix decoder caps to report codec aliases.
33774
33775 2010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33776
33777         * NEWS:
33778         * gst/vaapidecode/gstvaapidecode.c:
33779         * gst/vaapidecode/gstvaapidecode.h:
33780           Fix VC-1 decoding through the playbin2 pipeline.
33781
33782 2010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33783
33784         * docs/reference/libs/libs-sections.txt:
33785         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33786         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33787         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33788         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33789           Regularly update and expose decoder caps.
33790
33791 2010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33792
33793         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33794         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33795         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
33796           Add mechanism to reinsert buffer leftovers into the queue.
33797
33798 2010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33799
33800         * NEWS:
33801         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33802           Fix memory leak of encoded buffers.
33803
33804 2010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33805
33806         * docs/reference/libs/libs-sections.txt:
33807         * gst-libs/gst/vaapi/gstvaapicontext.c:
33808         * gst-libs/gst/vaapi/gstvaapicontext.h:
33809         * gst-libs/gst/vaapi/gstvaapidecoder.c:
33810         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33811           Check for out-of-free-surfaces condition.
33812
33813 2010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33814
33815         * gst-libs/gst/vaapi/gstvaapidecoder.h:
33816           Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
33817
33818 2010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33819
33820         * gst/vaapisink/gstvaapisink.c:
33821           Improve debug info for gst_vaapisink_ensure_render_rect().
33822
33823 2010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33824
33825         * configure.ac:
33826           Bump version for development.
33827
33828 2010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33829
33830         * NEWS:
33831           0.2.2.
33832
33833 2010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33834
33835         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33836           Improve previous fix.
33837
33838 2010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33839
33840         * NEWS:
33841         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
33842           Fix a crash in the FFmpeg decoder on close.
33843
33844 2010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33845
33846         * README:
33847           Sort platforms by name.
33848
33849 2010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33850
33851         * NEWS:
33852         * configure.ac:
33853           Bump version for development.
33854
33855 2010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33856
33857         * gst/vaapisink/gstvaapisink.c:
33858           Add debug info for _show_frame().
33859
33860 2010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33861
33862         * Makefile.am:
33863           Nuke older build dir.
33864
33865 2010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33866
33867         * debian.upstream/control.in:
33868           Fix packaging deps.
33869
33870 2010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33871
33872         * NEWS:
33873           Cosmetics.
33874
33875 2010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33876
33877         * NEWS:
33878         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33879           Fix OpenGL texture internal format (Clutter).
33880
33881 2010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33882
33883         * NEWS:
33884           Respin release.
33885
33886 2010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33887
33888         * gst/vaapisink/gstvaapisink.c:
33889           Debug video & display PARs.
33890
33891 2010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33892
33893         * gst/vaapisink/gstvaapisink.c:
33894           Use XGetGeometry() to retrieve the window size.
33895
33896 2010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33897
33898         * gst/vaapisink/gstvaapisink.c:
33899           Move code around.
33900
33901 2010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33902
33903         * gst/vaapisink/gstvaapisink.c:
33904           Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
33905
33906 2010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33907
33908         * README:
33909           Drop obsolete comment.
33910
33911 2010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33912
33913         * NEWS:
33914           0.2.1.
33915
33916 2010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33917
33918         * gst/vaapidecode/gstvaapidecode.c:
33919           Fix GstVaapiDisplay refcounting in vaapidecode.
33920
33921 2010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33922
33923         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33924           Fix comment.
33925
33926 2010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33927
33928         * gst/vaapisink/gstvaapisink.c:
33929         * gst/vaapisink/gstvaapisink.h:
33930           Fix render rect when the foreign window size changes.
33931
33932 2010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33933
33934         * NEWS:
33935         * configure.ac:
33936         * gst/vaapisink/Makefile.am:
33937         * gst/vaapisink/gstvaapisink.c:
33938           Add GstXOverlay interface to vaapisink (e.g. for Totem).
33939
33940 2010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33941
33942         * README:
33943           Update deps to match configure.ac versions.
33944
33945 2010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33946
33947         * gst/vaapiconvert/gstvaapiconvert.c:
33948         * gst/vaapidecode/gstvaapidecode.c:
33949         * gst/vaapisink/gstvaapisink.c:
33950           Cosmetics.
33951
33952 2010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33953
33954         * NEWS:
33955         * gst/vaapidecode/Makefile.am:
33956         * gst/vaapidecode/gstvaapidecode.c:
33957         * gst/vaapidecode/gstvaapidecode.h:
33958           Fix vaapidecode to expose the HW supported caps only.
33959
33960 2010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33961
33962         * gst/vaapidecode/gstvaapidecode.c:
33963           Initialize decoder earlier.
33964
33965 2010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33966
33967         * NEWS:
33968         * README:
33969         * gst/vaapidecode/gstvaapidecode.c:
33970           Fix integration within the playbin2 pipeline.
33971
33972 2010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33973
33974         * docs/reference/libs/Makefile.am:
33975           Exclude gstvaapiutils_gst.h from docs for now.
33976
33977 2010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33978
33979         * gst/vaapiconvert/gstvaapiconvert.c:
33980         * gst/vaapidecode/gstvaapidecode.c:
33981         * gst/vaapisink/gstvaapisink.c:
33982           Raise VA-API plugins ranks.
33983
33984 2010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33985
33986         * gst-libs/gst/vaapi/Makefile.am:
33987         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
33988         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
33989           Add gst_vaapi_display_lookup_downstream() helper.
33990
33991 2010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33992
33993         * gst/vaapidecode/gstvaapidecode.c:
33994           Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
33995
33996 2010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33997
33998         * docs/reference/libs/libs-sections.txt:
33999         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34000         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
34001         * gst/vaapisink/gstvaapisink.c:
34002           Expose VA display through GstVaapiVideoBuffer.
34003
34004 2010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34005
34006         * gst/vaapidecode/gstvaapidecode.c:
34007           Simplify gst_vaapidecode_set_caps() and fix memory leak.
34008
34009 2010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34010
34011         * docs/reference/libs/libs-sections.txt:
34012         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34013         * gst-libs/gst/vaapi/gstvaapivideopool.h:
34014           Expose video pool display.
34015
34016 2010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34017
34018         * gst-libs/gst/vaapi/gstvaapivideosink.c:
34019           Stop iteration if there is no more element to examine.
34020
34021 2010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34022
34023         * gst/vaapiconvert/gstvaapiconvert.c:
34024         * gst/vaapidecode/gstvaapidecode.c:
34025         * gst/vaapisink/gstvaapisink.c:
34026           Improve plugin details.
34027
34028 2010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34029
34030         * gst-libs/gst/vaapi/gstvaapisurface.h:
34031         * gst/vaapiconvert/gstvaapiconvert.c:
34032         * gst/vaapidecode/gstvaapidecode.c:
34033         * gst/vaapisink/gstvaapisink.c:
34034           Factor out VA surface caps.
34035
34036 2010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34037
34038         * gst/vaapidecode/gstvaapidecode.c:
34039           Add gst_vaapidecode_ensure_display() helper for set-caps.
34040
34041 2010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34042
34043         * configure.ac:
34044           Bump version for development.
34045
34046 2010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34047
34048         * NEWS:
34049           Really make it 0.2.0.
34050
34051 2010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34052
34053         * README:
34054           More docs.
34055
34056 2010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34057
34058         * docs/reference/libs/Makefile.am:
34059           Don't exclude GstVaapiParamSpecs.
34060
34061 2010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34062
34063         * docs/reference/libs/Makefile.am:
34064         * docs/reference/libs/libs-sections.txt:
34065         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34066         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34067           Fix docs.
34068
34069 2010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34070
34071         * gst/vaapiconvert/gstvaapiconvert.c:
34072         * gst/vaapidecode/gstvaapidecode.c:
34073         * gst/vaapisink/gstvaapisink.c:
34074           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.
34075
34076 2010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34077
34078         * gst-libs/gst/vaapi/Makefile.am:
34079           Really link all helper libraries with libtool -no-undefined.
34080
34081 2010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34082
34083         * gst-libs/gst/vaapi/Makefile.am:
34084           Link helper libraries with libtool -no-undefined.
34085
34086 2010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34087
34088         * configure.ac:
34089         * debian.upstream/gstreamer-vaapi.install.in:
34090         * gst/vaapiconvert/Makefile.am:
34091         * gst/vaapidecode/Makefile.am:
34092         * gst/vaapisink/Makefile.am:
34093           Don't build plugins with SONAME. Make them plain *.so.
34094
34095 2010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34096
34097         * README:
34098           Improve documentation for release.
34099
34100 2010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34101
34102         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34103           Fix build with older VA-API 0.29.
34104
34105 2010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34106
34107         * NEWS:
34108           0.2.0.
34109
34110 2010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34111
34112         * tests/Makefile.am:
34113           Fix make dist.
34114
34115 2010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34116
34117         * docs/reference/libs/Makefile.am:
34118         * docs/reference/libs/libs-docs.xml.in:
34119         * docs/reference/libs/libs-sections.txt:
34120         * docs/reference/libs/libs.core.types:
34121         * docs/reference/plugins/Makefile.am:
34122         * docs/reference/plugins/plugins-docs.xml.in:
34123         * docs/reference/plugins/plugins-sections.txt:
34124         * docs/reference/plugins/plugins.types:
34125           Add missing docs.
34126
34127 2010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34128
34129         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34130           Fix doc.
34131
34132 2010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34133
34134         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34135         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34136         * gst/vaapidecode/gstvaapidecode.c:
34137         * tests/test-decode.c:
34138           Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
34139
34140 2010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34141
34142         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34143         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34144           Extract framerate information from caps.
34145
34146 2010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34147
34148         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34149         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34150         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34151           Move caps initialization to parent class.
34152
34153 2010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34154
34155         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34156           Simplify.
34157
34158 2010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34159
34160         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34161           Fix doc.
34162
34163 2010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34164
34165         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34166         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34167           More simplifications.
34168
34169 2010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34170
34171         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34172         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34173         * tests/test-decode.c:
34174           Simplify GstVaapiDecoder API.
34175
34176 2010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34177
34178         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34179           Drop obsolete defs.
34180
34181 2010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34182
34183         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34184           Drop obsolete decls.
34185
34186 2010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34187
34188         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34189         * gst/vaapidecode/gstvaapidecode.c:
34190           Add more aliases for MPEG-4 decoding.
34191
34192 2010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34193
34194         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34195           Use avctx->coded_{width,height} info to create the VA context.
34196
34197 2010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34198
34199         * tests/test-decode.c:
34200         * tests/test-decode.h:
34201           Use gst_vaapi_decoder_ffmpeg_new_from_caps().
34202
34203 2010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34204
34205         * tests/test-decode.c:
34206         * tests/test-decode.h:
34207         * tests/test-h264.c:
34208         * tests/test-h264.h:
34209         * tests/test-mpeg2.c:
34210         * tests/test-mpeg2.h:
34211         * tests/test-vc1.c:
34212         * tests/test-vc1.h:
34213           Simplify tests info.
34214
34215 2010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34216
34217         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34218           Try to improve heuristics to use an AVCodecContextParser.
34219
34220 2010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34221
34222         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34223           Fix VC-1 decoding, it does not require any specific parser.
34224
34225 2010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34226
34227         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34228           Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
34229
34230 2010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34231
34232         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34233         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34234           Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
34235
34236 2010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34237
34238         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34239         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34240         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34241         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34242         * gst/vaapidecode/gstvaapidecode.c:
34243         * gst/vaapidecode/gstvaapidecode.h:
34244           Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
34245
34246 2010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34247
34248         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34249         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34250         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34251           Improve WMV3 detection yet further.
34252
34253 2010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34254
34255         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34256           Fix detection of plain old WMV3 contents.
34257
34258 2010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34259
34260         * tests/test-vc1.c:
34261           Add End-of-Sequence start code.
34262
34263 2010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34264
34265         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34266         * gst/vaapidecode/gstvaapidecode.c:
34267           Fix VC-1 detection.
34268
34269 2010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34270
34271         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34272           Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
34273
34274 2010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34275
34276         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34277         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34278           Drop obsolete (and wrong) code.
34279
34280 2010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34281
34282         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34283           Cosmetics (spelling).
34284
34285 2010-05-03 08:32:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34286
34287         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34288         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34289         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34290           Try to fix timestamps (step 1). Looks OK on H55.
34291
34292 2010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34293
34294         * debian.upstream/Makefile.am:
34295           Ship with COPYING.LIB.
34296
34297 2010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34298
34299         * COPYING.LIB:
34300         * NEWS:
34301         * README:
34302         * gst-libs/gst/vaapi/gstvaapi_priv.h:
34303         * gst-libs/gst/vaapi/gstvaapicompat.h:
34304         * gst-libs/gst/vaapi/gstvaapicontext.c:
34305         * gst-libs/gst/vaapi/gstvaapicontext.h:
34306         * gst-libs/gst/vaapi/gstvaapidebug.h:
34307         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34308         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34309         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34310         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34311         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34312         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34313         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34314         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34315         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
34316         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
34317         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34318         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34319         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34320         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
34321         * gst-libs/gst/vaapi/gstvaapiimage.c:
34322         * gst-libs/gst/vaapi/gstvaapiimage.h:
34323         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34324         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34325         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
34326         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
34327         * gst-libs/gst/vaapi/gstvaapiobject.c:
34328         * gst-libs/gst/vaapi/gstvaapiobject.h:
34329         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34330         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
34331         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
34332         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34333         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34334         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34335         * gst-libs/gst/vaapi/gstvaapisurface.h:
34336         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
34337         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34338         * gst-libs/gst/vaapi/gstvaapitexture.h:
34339         * gst-libs/gst/vaapi/gstvaapitypes.h:
34340         * gst-libs/gst/vaapi/gstvaapiutils.h:
34341         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34342         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
34343         * gst-libs/gst/vaapi/gstvaapivalue.h:
34344         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
34345         * gst-libs/gst/vaapi/gstvaapivideopool.h:
34346         * gst-libs/gst/vaapi/gstvaapivideosink.h:
34347         * gst-libs/gst/vaapi/gstvaapiwindow.h:
34348         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34349         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
34350           Relicense gst-libs/ code to LGPL v2.1+.
34351
34352 2010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34353
34354         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34355           Drop extraneous comma.
34356
34357 2010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34358
34359         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34360           Drop variant=itu field to help codec detection.
34361
34362 2010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34363
34364         * gst/vaapidecode/gstvaapidecode.c:
34365           Decode as many surfaces as possible in gst_vaapidecode_step().
34366
34367 2010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34368
34369         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34370         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34371         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34372         * gst/vaapidecode/gstvaapidecode.c:
34373         * gst/vaapidecode/gstvaapidecode.h:
34374         * tests/test-decode.c:
34375           Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
34376
34377 2010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34378
34379         * configure.ac:
34380           0.2.0.
34381
34382 2010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34383
34384         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34385           Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
34386
34387 2010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34388
34389         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34390         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34391           Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
34392
34393 2010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34394
34395         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34396         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34397           Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
34398
34399 2010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34400
34401         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34402           Document H.264 / AVC1 format case better.
34403
34404 2010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34405
34406         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34407           Fix H.264 decoding with AVC1 format bitstreams.
34408
34409 2010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34410
34411         * gst/vaapidecode/gstvaapidecode.c:
34412           Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
34413
34414 2010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34415
34416         * gst/vaapisink/gstvaapisink.c:
34417           Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
34418
34419 2010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34420
34421         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34422         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
34423           Export gst_vaapi_video_buffer_new().
34424
34425 2010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34426
34427         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34428           Fix gst_vaapi_profile_get_caps() to include the "profile" field.
34429
34430 2010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34431
34432         * configure.ac:
34433           Fix comment.
34434
34435 2010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34436
34437         * NEWS:
34438         * configure.ac:
34439         * gst/Makefile.am:
34440         * gst/vaapidecode/Makefile.am:
34441         * gst/vaapidecode/gstvaapidecode.c:
34442         * gst/vaapidecode/gstvaapidecode.h:
34443           Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
34444
34445 2010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34446
34447         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34448         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34449           Add gst_vaapi_decoder_pause().
34450
34451 2010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34452
34453         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34454         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34455         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34456           Use a GstTask with start/stop semantics for the decoder thread.
34457
34458 2010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34459
34460         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34461           Drop extraneous var.
34462
34463 2010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34464
34465         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34466         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
34467           Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
34468
34469 2010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34470
34471         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34472           Fix gst_vaapi_decoder_get_surface() status.
34473
34474 2010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34475
34476         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34477         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34478           Try to set correct timestamps to the decoded surface proxy.
34479
34480 2010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34481
34482         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
34483         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34484         * tests/test-decode.c:
34485           Add timestamps to GstVaapiSurfaceProxy.
34486
34487 2010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34488
34489         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34490           Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
34491
34492 2010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34493
34494         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34495           Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
34496
34497 2010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34498
34499         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34500           Prefer profile from codec-data if any was found there.
34501
34502 2010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34503
34504         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34505           Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
34506
34507 2010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34508
34509         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34510           Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
34511
34512 2010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34513
34514         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34515           Fix VC-1 codec initialization, it really needs an extradata buffer.
34516
34517 2010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34518
34519         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34520         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34521           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.
34522
34523 2010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34524
34525         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34526           Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
34527
34528 2010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34529
34530         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34531         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34532         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34533         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34534         * tests/test-decode.c:
34535           Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
34536
34537 2010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34538
34539         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34540           Cosmetics (weird indentation).
34541
34542 2010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34543
34544         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34545           Cosmetics (extraneous variable, debug message).
34546
34547 2010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34548
34549         * configure.ac:
34550           Fix check for VA-API enabled FFmpeg.
34551
34552 2010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34553
34554         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34555         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34556         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34557         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34558           - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
34559
34560 2010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34561
34562         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34563         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34564           Add more error codes. Fix documentation.
34565
34566 2010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34567
34568         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34569           Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
34570
34571 2010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34572
34573         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34574         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34575         * tests/test-decode.c:
34576           Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
34577
34578 2010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34579
34580         * tests/test-vc1.c:
34581           Drop useless End-of-Sequence marker.
34582
34583 2010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34584
34585         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34586           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.
34587
34588 2010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34589
34590         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34591         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34592           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.
34593
34594 2010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34595
34596         * tests/test-h264.c:
34597         * tests/test-vc1.c:
34598           Regenerate correct clips.
34599
34600 2010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34601
34602         * tests/Makefile.am:
34603         * tests/test-decode.c:
34604         * tests/test-h264.c:
34605         * tests/test-h264.h:
34606         * tests/test-mpeg2.c:
34607         * tests/test-mpeg2.h:
34608         * tests/test-vc1.c:
34609         * tests/test-vc1.h:
34610           Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
34611           XXX: only VC-1 decoding works at this time because of awful
34612           bugs left in GstVaapiDecoderFfmpeg et al.
34613
34614 2010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34615
34616         * configure.ac:
34617         * gst-libs/gst/vaapi/Makefile.am:
34618         * gst-libs/gst/vaapi/gstvaapidecoder.c:
34619         * gst-libs/gst/vaapi/gstvaapidecoder.h:
34620         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
34621         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
34622         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
34623           Add initial (multithreaded) decoder based on FFmpeg.
34624           There are tons of bugs left:
34625           - Decoder API not nice enough with error conditions
34626           - FFmpeg parser is sometimes broken
34627           - Packets queue can be lost
34628
34629 2010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34630
34631         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
34632         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
34633           Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
34634
34635 2010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34636
34637         * gst-libs/gst/vaapi/gstvaapicontext.c:
34638         * gst-libs/gst/vaapi/gstvaapicontext.h:
34639           Add VA context abstraction.
34640
34641 2010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34642
34643         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34644           Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
34645
34646 2010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34647
34648         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34649         * gst-libs/gst/vaapi/gstvaapivideopool.h:
34650           Add a means to cap the number of objects allocated in the pool.
34651
34652 2010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34653
34654         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34655         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34656           Add VA entrypoint abstraction.
34657
34658 2010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34659
34660         * docs/reference/libs/libs-docs.xml.in:
34661         * docs/reference/libs/libs-sections.txt:
34662         * gst-libs/gst/vaapi/Makefile.am:
34663         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34664         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34665         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34666         * gst-libs/gst/vaapi/gstvaapiprofile.c:
34667         * gst-libs/gst/vaapi/gstvaapiprofile.h:
34668         * tests/test-display.c:
34669           Add VA profile abstraction.
34670
34671 2010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34672
34673         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34674           Fix OpenGL rendering on G45 systems.
34675
34676 2010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34677
34678         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34679           Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
34680
34681 2010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34682
34683         * gst-libs/gst/vaapi/gstvaapitexture.c:
34684         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34685         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34686           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.
34687
34688 2010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34689
34690         * gst-libs/gst/vaapi/gstvaapitexture.c:
34691           Fix get-out conditions.
34692
34693 2010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34694
34695         * gst-libs/gst/vaapi/gstvaapitexture.c:
34696         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34697           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.
34698
34699 2010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34700
34701         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34702           Shorter structs.
34703
34704 2010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34705
34706         * docs/reference/libs/libs-sections.txt:
34707         * gst-libs/gst/vaapi/Makefile.am:
34708         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34709         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
34710         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34711         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34712         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34713         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
34714         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
34715         * gst-libs/gst/vaapi/gstvaapitexture.c:
34716         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34717         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34718         * tests/test-windows.c:
34719           Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
34720
34721 2010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34722
34723         * gst-libs/gst/vaapi/Makefile.am:
34724         * gst-libs/gst/vaapi/gstvaapi_priv.h:
34725         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34726         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34727         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34728         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
34729         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34730         * gst-libs/gst/vaapi/gstvaapiimage.c:
34731         * gst-libs/gst/vaapi/gstvaapiobject.c:
34732         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34733         * gst-libs/gst/vaapi/gstvaapisurface.c:
34734         * gst-libs/gst/vaapi/gstvaapitexture.c:
34735         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34736         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34737         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34738           Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
34739
34740 2010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34741
34742         * gst-libs/gst/vaapi/gstvaapitexture.c:
34743         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34744         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34745         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34746           Improve handling of GL contexts.
34747
34748 2010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34749
34750         * configure.ac:
34751           Simplify summary.
34752
34753 2010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34754
34755         * configure.ac:
34756           Bump version for development.
34757
34758 2010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34759
34760         * configure.ac:
34761         * debian.upstream/Makefile.am:
34762         * debian.upstream/control.in:
34763           Rename -dev package to libgstvaapi-dev.
34764
34765 2010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34766
34767         * NEWS:
34768         * README:
34769           Updates.
34770
34771 2010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34772
34773         * gst-libs/gst/vaapi/gstvaapiutils.c:
34774           Fix build with VA-API < 0.30.
34775
34776 2010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34777
34778         * configure.ac:
34779         * gst-libs/gst/vaapi/gstvaapicompat.h:
34780         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
34781         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
34782         * gst-libs/gst/vaapi/gstvaapitexture.c:
34783         * tests/test-display.c:
34784           Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
34785
34786 2010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34787
34788         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34789         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34790           Add TFP and FBO helpers.
34791
34792 2010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34793
34794         * gst-libs/gst/vaapi/gstvaapiutils.c:
34795         * gst-libs/gst/vaapi/gstvaapiutils.h:
34796           Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
34797
34798 2010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34799
34800         * gst-libs/gst/vaapi/gstvaapitexture.c:
34801         * gst-libs/gst/vaapi/gstvaapiutils.c:
34802         * gst-libs/gst/vaapi/gstvaapiutils.h:
34803         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34804           Use a shorter function name.
34805
34806 2010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34807
34808         * docs/reference/libs/libs-sections.txt:
34809         * gst-libs/gst/vaapi/gstvaapisurface.c:
34810         * gst-libs/gst/vaapi/gstvaapisurface.h:
34811         * gst-libs/gst/vaapi/gstvaapiutils.c:
34812         * gst-libs/gst/vaapi/gstvaapiutils.h:
34813           Add gst_vaapi_surface_query_status() wrapper.
34814
34815 2010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34816
34817         * docs/reference/plugins/Makefile.am:
34818           Fix leftover during migration.
34819
34820 2010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34821
34822         * Makefile.am:
34823         * configure.ac:
34824         * docs/reference/plugins/Makefile.am:
34825         * gst/Makefile.am:
34826         * gst/vaapiconvert/Makefile.am:
34827         * gst/vaapiconvert/gstvaapiconvert.c:
34828         * gst/vaapiconvert/gstvaapiconvert.h:
34829         * gst/vaapisink/Makefile.am:
34830         * gst/vaapisink/gstvaapisink.c:
34831         * gst/vaapisink/gstvaapisink.h:
34832           Rename to gst/ as sys/ was too vague.
34833
34834 2010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34835
34836         * gst-libs/gst/vaapi/gstvaapiimage.c:
34837         * gst-libs/gst/vaapi/gstvaapiimage.h:
34838         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34839         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34840         * gst-libs/gst/vaapi/gstvaapisurface.c:
34841         * gst-libs/gst/vaapi/gstvaapisurface.h:
34842           Try to not reference VA-API types directly.
34843
34844 2010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34845
34846         * sys/vaapisink/gstvaapisink.c:
34847           Fix reflection code to preserve aspect ratio.
34848
34849 2010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34850
34851         * sys/vaapisink/gstvaapisink.c:
34852         * sys/vaapisink/gstvaapisink.h:
34853           Fix fullscreen mode.
34854
34855 2010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34856
34857         * sys/vaapisink/gstvaapisink.c:
34858         * sys/vaapisink/gstvaapisink.h:
34859           Add OpenGL reflection effect ("use-reflection").
34860
34861 2010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34862
34863         * configure.ac:
34864         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34865           Use a projection suitable for rotation around the Y axis.
34866
34867 2010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34868
34869         * configure.ac:
34870         * sys/vaapisink/Makefile.am:
34871         * sys/vaapisink/gstvaapisink.c:
34872         * sys/vaapisink/gstvaapisink.h:
34873           Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
34874
34875 2010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34876
34877         * configure.ac:
34878         * debian.upstream/Makefile.am:
34879         * debian.upstream/control.in:
34880         * debian.upstream/libgstvaapi-glx.install.in:
34881           Add libgstvaapi-glx-0 package.
34882
34883 2010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34884
34885         * pkgconfig/Makefile.am:
34886           Really fix make distclean.
34887
34888 2010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34889
34890         * docs/reference/libs/Makefile.am:
34891           Fix make dist.
34892
34893 2010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34894
34895         * pkgconfig/Makefile.am:
34896           Fix make distclean.
34897
34898 2010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34899
34900         * tests/Makefile.am:
34901           Fix make dist.
34902
34903 2010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34904
34905         * docs/reference/libs/Makefile.am:
34906         * docs/reference/libs/libs.core.types:
34907         * docs/reference/libs/libs.glx.types:
34908         * docs/reference/libs/libs.x11.types:
34909           Fix doc build.
34910
34911 2010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34912
34913         * sys/vaapisink/gstvaapisink.h:
34914           Fix build without GLX.
34915
34916 2010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34917
34918         * NEWS:
34919           0.1.2.
34920
34921 2010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34922
34923         * sys/vaapisink/Makefile.am:
34924         * sys/vaapisink/gstvaapisink.c:
34925         * sys/vaapisink/gstvaapisink.h:
34926           Add VA/GLX support to vaapisink.
34927
34928 2010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34929
34930         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34931         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34932         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34933           Add glXSwapBuffers() workaround for NVIDIA.
34934
34935 2010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34936
34937         * tests/Makefile.am:
34938         * tests/test-textures.c:
34939           Improve VA/GLX textures test.
34940
34941 2010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34942
34943         * gst-libs/gst/vaapi/gstvaapitexture.c:
34944         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34945         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34946           Fix texture rendering.
34947
34948 2010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34949
34950         * docs/reference/libs/libs-docs.xml.in:
34951         * docs/reference/libs/libs-sections.txt:
34952         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34953         * gst-libs/gst/vaapi/gstvaapitexture.c:
34954           Fix documentation.
34955
34956 2010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34957
34958         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34959         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
34960           Add gst_vaapi_window_glx_put_texture() helper.
34961
34962 2010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34963
34964         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
34965           Fix typos.
34966
34967 2010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34968
34969         * tests/image.c:
34970         * tests/image.h:
34971         * tests/test-windows.c:
34972           Move code around.
34973
34974 2010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34975
34976         * gst-libs/gst/vaapi/Makefile.am:
34977         * gst-libs/gst/vaapi/gstvaapitexture.c:
34978         * gst-libs/gst/vaapi/gstvaapitexture.h:
34979         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
34980         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
34981           Add initial VA/GLX texture abstraction though the API is not good enough yet.
34982
34983 2010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34984
34985         * docs/reference/libs/libs-sections.txt:
34986         * gst-libs/gst/vaapi/gstvaapiobject.c:
34987         * gst-libs/gst/vaapi/gstvaapiobject.h:
34988           Add gst_vaapi_object_{,un}lock_display() helpers.
34989
34990 2010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34991
34992         * tests/Makefile.am:
34993         * tests/image.c:
34994         * tests/image.h:
34995         * tests/test-windows.c:
34996           Factor out image utilities.
34997
34998 2010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34999
35000         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35001           MT-Safe: lock display.
35002
35003 2010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35004
35005         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
35006           Make sure window resize completed prior to resizing the GL viewport.
35007
35008 2010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35009
35010         * gst-libs/gst/vaapi/Makefile.am:
35011           gstvaapicompat.h is a private header, don't install it.
35012
35013 2010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35014
35015         * docs/reference/libs/libs-sections.txt:
35016         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35017         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35018         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35019           Add gst_vaapi_display_{sync,flush}() helpers.
35020
35021 2010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35022
35023         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35024         * sys/vaapisink/gstvaapisink.c:
35025         * sys/vaapisink/gstvaapisink.h:
35026           Add "synchronous" mode.
35027
35028 2010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35029
35030         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35031         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35032           Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
35033
35034 2010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35035
35036         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
35037           Restore GLX context only if there is one.
35038
35039 2010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35040
35041         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
35042         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
35043         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
35044         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
35045           Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
35046
35047 2010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35048
35049         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35050           Check GstVaapiWindow::render() is available prior to calling it.
35051
35052 2010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35053
35054         * tests/Makefile.am:
35055         * tests/test-display.c:
35056         * tests/test-textures.c:
35057           Add VA/GLX display tests.
35058
35059 2010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35060
35061         * configure.ac:
35062         * gst-libs/gst/vaapi/Makefile.am:
35063           Fix compile flags.
35064
35065 2010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35066
35067         * docs/reference/libs/Makefile.am:
35068         * docs/reference/libs/libs-docs.xml.in:
35069         * docs/reference/libs/libs-sections.txt:
35070         * docs/reference/libs/libs.types:
35071           Add missing API documentation.
35072
35073 2010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35074
35075         * configure.ac:
35076         * gst-libs/gst/vaapi/Makefile.am:
35077         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
35078         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
35079         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
35080         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
35081         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
35082         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
35083         * pkgconfig/Makefile.am:
35084         * pkgconfig/gstreamer-vaapi-glx.pc.in:
35085         * tests/Makefile.am:
35086         * tests/test-textures.c:
35087           Add initial VA/GLX support.
35088
35089 2010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35090
35091         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35092           Add missing includes (for vaapi_check_status()).
35093
35094 2010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35095
35096         * gst-libs/gst/vaapi/gstvaapidebug.h:
35097           Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
35098
35099 2010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35100
35101         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35102         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35103           Add gst_vaapi_window_x11_is_foreign_xid() helper.
35104
35105 2010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35106
35107         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35108         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35109         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35110         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35111           Allow derived classes to specify custom Visual and Colormap.
35112
35113 2010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35114
35115         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35116         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35117         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35118           Allow window creation with a specific visual (e.g. for GLX support).
35119
35120 2010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35121
35122         * gst-libs/gst/vaapi/gstvaapiimage.c:
35123           Fix return value on error (though it's the same in the end).
35124
35125 2010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35126
35127         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35128         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35129           Simplify initialization of VADisplay.
35130
35131 2010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35132
35133         * configure.ac:
35134           Move __attribute__((visibility("hidden"))) check down.
35135
35136 2010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35137
35138         * docs/reference/libs/libs-sections.txt:
35139         * gst-libs/gst/vaapi/gstvaapiimage.c:
35140         * gst-libs/gst/vaapi/gstvaapiimage.h:
35141         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35142         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35143         * gst-libs/gst/vaapi/gstvaapisurface.c:
35144         * gst-libs/gst/vaapi/gstvaapisurface.h:
35145         * tests/test-surfaces.c:
35146           Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
35147
35148 2010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35149
35150         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35151           Use the parent display object, no need to maintain another one.
35152           In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
35153
35154 2010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35155
35156         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
35157           Add more internal helpers.
35158
35159 2010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35160
35161         * gst-libs/gst/vaapi/gstvaapiimage.c:
35162         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
35163         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35164         * gst-libs/gst/vaapi/gstvaapisurface.c:
35165         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35166         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35167           Rename to GST_VAAPI_OBJECT_DISPLAY().
35168
35169 2010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35170
35171         * docs/reference/libs/libs-sections.txt:
35172         * gst-libs/gst/vaapi/gstvaapiimage.c:
35173         * gst-libs/gst/vaapi/gstvaapiobject.c:
35174         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
35175         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35176         * gst-libs/gst/vaapi/gstvaapisurface.c:
35177         * gst-libs/gst/vaapi/gstvaapitypes.h:
35178         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35179           All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
35180
35181 2010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35182
35183         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35184         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35185         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35186           Make GstVaapiWindow* derive from GstVaapiObject.
35187
35188 2010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35189
35190         * configure.ac:
35191           Factor out use gstreamer-vaapi (PACKAGE name).
35192
35193 2010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35194
35195         * configure.ac:
35196           Improve versioning summary.
35197
35198 2010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35199
35200         * gst-libs/gst/vaapi/Makefile.am:
35201           gstvaapicompat.h is now a private header (not installed).
35202
35203 2010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35204
35205         * gst-libs/gst/vaapi/gstvaapiimage.c:
35206         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35207         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35208         * gst-libs/gst/vaapi/gstvaapiobject.c:
35209         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35210         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35211           Include gstvaapicompat.h in source files only, not headers.
35212
35213 2010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35214
35215         * configure.ac:
35216         * gst-libs/gst/vaapi/Makefile.am:
35217         * sys/vaapiconvert/Makefile.am:
35218         * sys/vaapisink/Makefile.am:
35219         * tests/Makefile.am:
35220           Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
35221
35222 2010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35223
35224         * NEWS:
35225         * configure.ac:
35226         * gst-libs/gst/vaapi/Makefile.am:
35227         * gst-libs/gst/vaapi/gstvaapicompat.h:
35228         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35229         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35230         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35231         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
35232         * gst-libs/gst/vaapi/gstvaapisurface.c:
35233         * gst-libs/gst/vaapi/gstvaapiutils.c:
35234         * gst-libs/gst/vaapi/gstvaapiutils.h:
35235         * pkgconfig/gstreamer-vaapi-x11.pc.in:
35236         * pkgconfig/gstreamer-vaapi.pc.in:
35237         * sys/vaapiconvert/Makefile.am:
35238         * sys/vaapisink/Makefile.am:
35239         * tests/Makefile.am:
35240           Add compatibility with the original VA-API 0.29.
35241
35242 2010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35243
35244         * gst-libs/gst/vaapi/gstvaapivalue.h:
35245           Add missing file (gstvaapivalue.h).
35246
35247 2010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35248
35249         * gst-libs/gst/vaapi/gstvaapiimage.c:
35250         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35251         * gst-libs/gst/vaapi/gstvaapisurface.c:
35252           Fix g_warning() invocation.
35253
35254 2010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35255
35256         * gst-libs/gst/vaapi/gstvaapisurface.c:
35257           Deassociate subpictures while destroying the surface.
35258
35259 2010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35260
35261         * gst-libs/gst/vaapi/gstvaapisurface.c:
35262           Fix destruction order of subpictures. They should be destroyed first.
35263
35264 2010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35265
35266         * NEWS:
35267         * gst-libs/gst/vaapi/gstvaapiimage.c:
35268         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35269         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35270         * tests/test-windows.c:
35271           Add support for AYUV format.
35272
35273 2010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35274
35275         * tests/test-windows.c:
35276           Simplify upload process and fallback to subpictures.
35277
35278 2010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35279
35280         * docs/reference/libs/libs-docs.xml.in:
35281         * docs/reference/libs/libs-sections.txt:
35282         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
35283           Fix documentation.
35284
35285 2010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35286
35287         * gst-libs/gst/vaapi/Makefile.am:
35288         * gst-libs/gst/vaapi/gstvaapiobject.c:
35289         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
35290         * gst-libs/gst/vaapi/gstvaapitypes.h:
35291         * gst-libs/gst/vaapi/gstvaapivalue.c:
35292           Move GValue specific stuff to a dedicated file.
35293
35294 2010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35295
35296         * tests/test-surfaces.c:
35297           Cosmetics (lowercase for consistency).
35298
35299 2010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35300
35301         * gst-libs/gst/vaapi/gstvaapiobject.c:
35302           Cosmetics (vertical alignment).
35303
35304 2010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35305
35306         * gst-libs/gst/vaapi/gstvaapiobject.c:
35307           Fix return value on error.
35308
35309 2010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35310
35311         * docs/reference/libs/libs-sections.txt:
35312         * gst-libs/gst/vaapi/gstvaapiimage.c:
35313         * gst-libs/gst/vaapi/gstvaapiimage.h:
35314         * gst-libs/gst/vaapi/gstvaapiobject.c:
35315         * gst-libs/gst/vaapi/gstvaapiobject.h:
35316         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
35317         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35318         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35319         * gst-libs/gst/vaapi/gstvaapisurface.c:
35320         * gst-libs/gst/vaapi/gstvaapisurface.h:
35321         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35322         * tests/test-surfaces.c:
35323           Move "id" down to the GstVaapiObject base.
35324
35325 2010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35326
35327         * gst-libs/gst/vaapi/gstvaapitypes.c:
35328           Cosmetics (drop extraneous empty line).
35329
35330 2010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35331
35332         * gst-libs/gst/vaapi/Makefile.am:
35333         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
35334         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
35335           Add GParamSpecs for GstVaapiID.
35336
35337 2010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35338
35339         * docs/reference/libs/libs.types:
35340           Drop gst_vaapi_id_get_type().
35341
35342 2010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35343
35344         * docs/reference/libs/libs-sections.txt:
35345         * gst-libs/gst/vaapi/gstvaapitypes.h:
35346           Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
35347
35348 2010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35349
35350         * docs/reference/libs/libs-sections.txt:
35351         * docs/reference/libs/libs.types:
35352         * gst-libs/gst/vaapi/Makefile.am:
35353         * gst-libs/gst/vaapi/gstvaapitypes.c:
35354         * gst-libs/gst/vaapi/gstvaapitypes.h:
35355           Add GstVaapiID abstraction.
35356
35357 2010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35358
35359         * docs/reference/libs/libs.types:
35360           Sort types.
35361
35362 2010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35363
35364         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35365         * gst-libs/gst/vaapi/gstvaapiimage.c:
35366         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35367         * gst-libs/gst/vaapi/gstvaapisurface.c:
35368           Drop useless include (<va/va_backend.h>).
35369
35370 2010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35371
35372         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
35373           Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
35374
35375 2010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35376
35377         * gst-libs/gst/vaapi/Makefile.am:
35378         * gst-libs/gst/vaapi/gstvaapiimage.c:
35379         * gst-libs/gst/vaapi/gstvaapiobject.c:
35380         * gst-libs/gst/vaapi/gstvaapiobject.h:
35381         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
35382         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35383         * gst-libs/gst/vaapi/gstvaapisurface.c:
35384         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35385           Move private definitions and accessors to gstvaapiobject_priv.h.
35386
35387 2010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35388
35389         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35390         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35391         * gst-libs/gst/vaapi/gstvaapiimage.c:
35392         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35393         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35394         * gst-libs/gst/vaapi/gstvaapiobject.c:
35395         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35396         * gst-libs/gst/vaapi/gstvaapisurface.c:
35397         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35398         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35399         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35400         * gst-libs/gst/vaapi/gstvaapivideosink.c:
35401         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35402         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35403           Fix short descriptions.
35404
35405 2010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35406
35407         * Makefile.am:
35408         * configure.ac:
35409         * debian.upstream/Makefile.am:
35410         * debian.upstream/changelog.in:
35411         * debian.upstream/compat:
35412         * debian.upstream/control.in:
35413         * debian.upstream/copyright:
35414         * debian.upstream/gstreamer-vaapi-doc.install.in:
35415         * debian.upstream/gstreamer-vaapi.install.in:
35416         * debian.upstream/libgstvaapi-dev.install.in:
35417         * debian.upstream/libgstvaapi-x11.install.in:
35418         * debian.upstream/libgstvaapi.install.in:
35419         * debian.upstream/rules:
35420           Generate upstream packages through make deb.upstream.
35421
35422 2010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35423
35424         * configure.ac:
35425           Bump version for development.
35426
35427 2010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35428
35429         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35430           Use a black background for new windows.
35431
35432 2010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35433
35434         * NEWS:
35435           0.1.1.
35436
35437 2010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35438
35439         * configure.ac:
35440         * docs/reference/libs/libs.types:
35441         * gst-libs/gst/vaapi/Makefile.am:
35442         * gst-libs/gst/vaapi/gstvaapimarshal.list:
35443         * gst-libs/gst/vaapi/gstvaapiobject.c:
35444         * gst-libs/gst/vaapi/gstvaapiobject.h:
35445         * tests/test-surfaces.c:
35446           Add "destroy" signal.
35447
35448 2010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35449
35450         * docs/reference/libs/libs-docs.xml.in:
35451           Improve gst-plugins-vaapi Library reference template.
35452
35453 2010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35454
35455         * docs/reference/libs/libs-docs.xml.in:
35456         * docs/reference/libs/libs-sections.txt:
35457         * gst-libs/gst/vaapi/Makefile.am:
35458         * gst-libs/gst/vaapi/gstvaapiimage.c:
35459         * gst-libs/gst/vaapi/gstvaapiimage.h:
35460         * gst-libs/gst/vaapi/gstvaapiobject.c:
35461         * gst-libs/gst/vaapi/gstvaapiobject.h:
35462         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35463         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35464         * gst-libs/gst/vaapi/gstvaapisurface.c:
35465         * gst-libs/gst/vaapi/gstvaapisurface.h:
35466         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35467           Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
35468
35469 2010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35470
35471         * sys/vaapisink/gstvaapisink.c:
35472           Fix return value.
35473
35474 2010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35475
35476         * sys/vaapisink/gstvaapisink.c:
35477           Make sure VA display is valid when created with an explicit "display" name.
35478
35479 2010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35480
35481         * sys/vaapisink/gstvaapisink.c:
35482           Use plain "display" property for the X11 display name.
35483
35484 2010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35485
35486         * sys/vaapiconvert/gstvaapiconvert.c:
35487         * sys/vaapisink/gstvaapisink.c:
35488           Document vaapiconvert & vaapisink plugins.
35489
35490 2010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35491
35492         * configure.ac:
35493         * docs/reference/Makefile.am:
35494         * docs/reference/plugins/Makefile.am:
35495         * docs/reference/plugins/plugins-docs.xml.in:
35496         * docs/reference/plugins/plugins-overrides.txt:
35497         * docs/reference/plugins/plugins-sections.txt:
35498         * docs/reference/plugins/plugins.types:
35499           Add plugins documentation template.
35500
35501 2010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35502
35503         * sys/vaapisink/gstvaapisink.c:
35504         * sys/vaapisink/gstvaapisink.h:
35505           Don't export gst_vaapisink_get_display().
35506
35507 2010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35508
35509         * configure.ac:
35510         * docs/reference/libs/libs-docs.xml.in:
35511         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35512         * gst-libs/gst/vaapi/gstvaapiimage.c:
35513         * gst-libs/gst/vaapi/gstvaapisurface.c:
35514         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35515           Drop introspection annotations since they require gtk-doc >= 1.12.
35516
35517 2010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35518
35519         * gst-libs/gst/vaapi/gstvaapisurface.c:
35520           Add note about the fact that the surface holds an extra reference to the subpicture.
35521
35522 2010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35523
35524         * gst-libs/gst/vaapi/gstvaapiimage.c:
35525         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35526         * gst-libs/gst/vaapi/gstvaapisurface.c:
35527           Improve debugging messages.
35528
35529 2010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35530
35531         * tests/test-windows.c:
35532           Unref subpicture earlier as the surface is supposed to hold a reference to it.
35533
35534 2010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35535
35536         * docs/reference/libs/libs-sections.txt:
35537         * gst-libs/gst/vaapi/gstvaapisurface.c:
35538         * gst-libs/gst/vaapi/gstvaapisurface.h:
35539         * tests/test-windows.c:
35540           Add gst_vaapi_surface_{,de}associate_subpicture() API.
35541
35542 2010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35543
35544         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35545           Wait for MapNotify or UnmapNotify events on foreign windows too.
35546
35547 2010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35548
35549         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35550           Check whether the foreign XID is mapped at binding time.
35551
35552 2010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35553
35554         * sys/vaapisink/gstvaapisink.c:
35555           Add missing includes.
35556
35557 2010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35558
35559         * configure.ac:
35560         * debian/Makefile.am:
35561         * debian/control.in:
35562         * debian/gstreamer-vaapi-doc.install.in:
35563         * debian/rules:
35564           Add -doc package.
35565
35566 2010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35567
35568         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35569           Fix warnings (drop extraneous var).
35570
35571 2010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35572
35573         * docs/reference/libs/libs-sections.txt:
35574         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35575           Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
35576
35577 2010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35578
35579         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35580           Shorten condition.
35581
35582 2010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35583
35584         * gst-libs/gst/vaapi/Makefile.am:
35585         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35586         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35587         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35588         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35589           Try to improve switch to fullscreen mode.
35590
35591 2010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35592
35593         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35594         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35595         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35596           Improve display locking and rework X event wait functions.
35597
35598 2010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35599
35600         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35601         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35602           Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
35603
35604 2010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35605
35606         * gst-libs/gst/vaapi/Makefile.am:
35607         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35608         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
35609           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.
35610
35611 2010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35612
35613         * docs/reference/libs/libs-sections.txt:
35614         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35615         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35616           Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
35617
35618 2010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35619
35620         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35621         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35622         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35623           Add gst_vaapi_window_get_display() to base.
35624
35625 2010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35626
35627         * docs/reference/libs/libs-docs.xml.in:
35628         * docs/reference/libs/libs-sections.txt:
35629         * gst-libs/gst/vaapi/Makefile.am:
35630         * gst-libs/gst/vaapi/gstvaapitypes.h:
35631         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35632         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35633         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35634         * sys/vaapisink/gstvaapisink.c:
35635         * sys/vaapisink/gstvaapisink.h:
35636           Add GstVaapiPoint & GstVaapiRectangle data structures.
35637
35638 2010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35639
35640         * NEWS:
35641           0.1.1.
35642
35643 2010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35644
35645         * NEWS:
35646         * sys/vaapisink/gstvaapisink.c:
35647         * sys/vaapisink/gstvaapisink.h:
35648           Allow `vaapisink` to render videos in fullscreen mode.
35649
35650 2010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35651
35652         * docs/reference/libs/libs-sections.txt:
35653         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35654         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35655         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35656           Add gst_vaapi_window_set_fullscreen() API.
35657
35658 2010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35659
35660         * sys/vaapisink/gstvaapisink.c:
35661           Size window so that to respect the video and pixel aspect ratio.
35662
35663 2010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35664
35665         * docs/reference/libs/libs-sections.txt:
35666         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35667         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35668         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35669         * tests/test-display.c:
35670           Add gst_vaapi_display_get_pixel_aspect_ratio().
35671
35672 2010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35673
35674         * docs/reference/libs/libs-sections.txt:
35675           Updates.
35676
35677 2010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35678
35679         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35680         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35681         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35682         * tests/test-display.c:
35683           Add display size accessors.
35684
35685 2010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35686
35687         * configure.ac:
35688         * debian/control.in:
35689           Build-Requires: gstreamer-plugins-base >= 0.10.16.
35690
35691 2010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35692
35693         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35694         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35695         * gst-libs/gst/vaapi/gstvaapiimage.h:
35696         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35697         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35698         * gst-libs/gst/vaapi/gstvaapisurface.h:
35699         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35700         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35701         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35702         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35703         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35704           Fix documentation of *Class'es.
35705
35706 2010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35707
35708         * gst-libs/gst/vaapi/gstvaapiutils.c:
35709         * gst-libs/gst/vaapi/gstvaapiutils.h:
35710         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35711           Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
35712
35713 2010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35714
35715         * docs/reference/libs/libs-sections.txt:
35716         * gst-libs/gst/vaapi/gstvaapisurface.h:
35717         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35718           Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
35719
35720 2010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35721
35722         * docs/reference/libs/libs-sections.txt:
35723         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35724         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35725         * sys/vaapisink/gstvaapisink.c:
35726         * tests/test-windows.c:
35727           Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
35728
35729 2010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35730
35731         * docs/reference/libs/Makefile.am:
35732           Fix make dist for --enable-gtk-doc builds.
35733
35734 2010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35735
35736         * autogen.sh:
35737           Improve autogen.sh.
35738
35739 2010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35740
35741         * Makefile.am:
35742         * autogen.sh:
35743           Generate gtk-doc.make from gtkdocize.
35744
35745 2010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35746
35747         * Makefile.am:
35748         * NEWS:
35749         * configure.ac:
35750         * docs/Makefile.am:
35751         * docs/reference/Makefile.am:
35752         * docs/reference/libs/Makefile.am:
35753         * docs/reference/libs/libs-docs.xml.in:
35754         * docs/reference/libs/libs-overrides.txt:
35755         * docs/reference/libs/libs-sections.txt:
35756         * docs/reference/libs/libs.types:
35757           Document public API for libgstvaapi-*.so.*.
35758
35759 2010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35760
35761         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35762         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35763           Document GstVaapiVideoBuffer.
35764
35765 2010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35766
35767         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
35768         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
35769         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
35770         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
35771         * gst-libs/gst/vaapi/gstvaapivideopool.c:
35772         * gst-libs/gst/vaapi/gstvaapivideopool.h:
35773           Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
35774
35775 2010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35776
35777         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35778         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35779         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
35780         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
35781         * gst-libs/gst/vaapi/gstvaapiimage.c:
35782         * gst-libs/gst/vaapi/gstvaapiimage.h:
35783         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
35784         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
35785         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35786         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
35787         * gst-libs/gst/vaapi/gstvaapisurface.c:
35788         * gst-libs/gst/vaapi/gstvaapisurface.h:
35789         * gst-libs/gst/vaapi/gstvaapivideosink.c:
35790         * gst-libs/gst/vaapi/gstvaapivideosink.h:
35791         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35792         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35793         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35794         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
35795           Add tedious documentation.
35796
35797 2010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35798
35799         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35800           Beautify append_formats().
35801
35802 2010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35803
35804         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35805           Simplify GstVaapiDisplay (use GArray).
35806
35807 2010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35808
35809         * NEWS:
35810         * sys/vaapiconvert/gstvaapiconvert.c:
35811         * sys/vaapiconvert/gstvaapiconvert.h:
35812           Factor out direct-rendering infrastructure.
35813
35814 2010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35815
35816         * sys/vaapiconvert/gstvaapiconvert.c:
35817         * sys/vaapiconvert/gstvaapiconvert.h:
35818           Allow user to specify inout-buffers & derive-image optimizations.
35819
35820 2010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35821
35822         * sys/vaapiconvert/gstvaapiconvert.c:
35823           Reduce number of debug messaged printed out.
35824
35825 2010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35826
35827         * sys/vaapiconvert/gstvaapiconvert.c:
35828         * sys/vaapiconvert/gstvaapiconvert.h:
35829           Add vaDeriveImage() optimization.
35830
35831 2010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35832
35833         * gst-libs/gst/vaapi/gstvaapiimage.c:
35834           Fix gst_vaapi_image_create() from a foreign VA image.
35835
35836 2010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35837
35838         * gst-libs/gst/vaapi/gstvaapiimage.c:
35839         * gst-libs/gst/vaapi/gstvaapiimage.h:
35840         * gst-libs/gst/vaapi/gstvaapisurface.c:
35841         * gst-libs/gst/vaapi/gstvaapisurface.h:
35842           Add gst_vaapi_surface_derive_image() API.
35843
35844 2010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35845
35846         * gst-libs/gst/vaapi/gstvaapiwindow.c:
35847         * gst-libs/gst/vaapi/gstvaapiwindow.h:
35848         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35849           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().
35850
35851 2010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35852
35853         * tests/test-windows.c:
35854           Try YV12 & I420 image formats too.
35855
35856 2010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35857
35858         * gst-libs/gst/vaapi/gstvaapiimage.c:
35859           Split map/unmap functions into internal functions that don't check preconditions.
35860
35861 2010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35862
35863         * gst-libs/gst/vaapi/gstvaapiimage.c:
35864           Improve gst_vaapi_image_new() sanity checks.
35865
35866 2010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35867
35868         * tests/test-windows.c:
35869           Fix typo.
35870
35871 2010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35872
35873         * sys/vaapiconvert/gstvaapiconvert.c:
35874           Check if our inout buffer is still alive or default to a separate output buffer.
35875
35876 2010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35877
35878         * sys/vaapiconvert/gstvaapiconvert.c:
35879         * sys/vaapiconvert/gstvaapiconvert.h:
35880           Factor out buffers negotiation and optimization checks.
35881
35882 2010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35883
35884         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35885         * gst-libs/gst/vaapi/gstvaapiimage.c:
35886         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
35887         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
35888         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35889         * sys/vaapiconvert/gstvaapiconvert.h:
35890           Use gtypes.
35891
35892 2010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35893
35894         * gst-libs/gst/vaapi/gstvaapiimage.c:
35895           Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
35896
35897 2010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35898
35899         * gst-libs/gst/vaapi/gstvaapidisplay.c:
35900         * gst-libs/gst/vaapi/gstvaapidisplay.h:
35901         * gst-libs/gst/vaapi/gstvaapiimage.c:
35902         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
35903         * gst-libs/gst/vaapi/gstvaapisurface.c:
35904         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35905           Add VA display locking utilities.
35906
35907 2010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35908
35909         * sys/vaapisink/gstvaapisink.c:
35910           Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
35911
35912 2010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35913
35914         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35915         * tests/test-windows.c:
35916           Don't show window by default during creation.
35917
35918 2010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35919
35920         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
35921           Fix gst_vaapi_window_x11_destroy().
35922
35923 2010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35924
35925         * sys/vaapiconvert/gstvaapiconvert.c:
35926         * sys/vaapiconvert/gstvaapiconvert.h:
35927           Alias sink & src pad buffers whenever possible.
35928
35929 2010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35930
35931         * gst-libs/gst/vaapi/gstvaapiimage.c:
35932         * gst-libs/gst/vaapi/gstvaapiimage.h:
35933           Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
35934
35935 2010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35936
35937         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
35938         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
35939           Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
35940
35941 2010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35942
35943         * sys/vaapiconvert/gstvaapiconvert.c:
35944           Fix image & surface size cache.
35945
35946 2010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35947
35948         * configure.ac:
35949           Move gstreamer-vaapi package versioning to the top.
35950
35951 2010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35952
35953         * configure.ac:
35954           Bump version for development.
35955
35956 2010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35957
35958         * configure.ac:
35959           Cosmetics (shorten lines).
35960
35961 2010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35962
35963         * NEWS:
35964         * README:
35965           Update docs.
35966
35967 2010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35968
35969         * debian/Makefile.am:
35970         * debian/changelog.in:
35971         * debian/compat:
35972         * debian/control.in:
35973         * debian/copyright:
35974         * debian/gstreamer-vaapi.install.in:
35975         * debian/libgstvaapi-dev.install.in:
35976         * debian/libgstvaapi-x11.install.in:
35977         * debian/libgstvaapi.install.in:
35978         * debian/rules:
35979           Add debian packaging.
35980
35981 2010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35982
35983         * Makefile.am:
35984         * configure.ac:
35985           Add debian packaging.
35986
35987 2010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35988
35989         * pkgconfig/Makefile.am:
35990           Silence GNU make extensions warning.
35991
35992 2010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35993
35994         * configure.ac:
35995           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'
35996
35997 2010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
35998
35999         * Makefile.am:
36000         * configure.ac:
36001         * pkgconfig/Makefile.am:
36002         * pkgconfig/gstreamer-vaapi-x11.pc.in:
36003         * pkgconfig/gstreamer-vaapi.pc.in:
36004           Add pkgconfig files.
36005
36006 2010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36007
36008         * configure.ac:
36009         * gst-libs/gst/vaapi/Makefile.am:
36010         * sys/vaapisink/Makefile.am:
36011         * tests/Makefile.am:
36012           Split X11 support to libgstvaapi-x11-*.so.*
36013
36014 2010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36015
36016         * gst-libs/gst/vaapi/Makefile.am:
36017           Don't install private headers.
36018
36019 2010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36020
36021         * gst-libs/gst/vaapi/gstvaapidebug.h:
36022         * gst-libs/gst/vaapi/gstvaapiutils.c:
36023         * gst-libs/gst/vaapi/gstvaapiutils.h:
36024           Fix header guards.
36025
36026 2010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36027
36028         * gst-libs/gst/vaapi/Makefile.am:
36029         * gst-libs/gst/vaapi/gstvaapidebug.h:
36030         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36031         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36032         * gst-libs/gst/vaapi/gstvaapiimage.c:
36033         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
36034         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
36035         * gst-libs/gst/vaapi/gstvaapisurface.c:
36036         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
36037         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
36038         * gst-libs/gst/vaapi/gstvaapivideopool.c:
36039         * gst-libs/gst/vaapi/gstvaapiwindow.c:
36040         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
36041           Rename vaapi_debug.h to gstvaapidebug.h.
36042
36043 2010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36044
36045         * gst-libs/gst/vaapi/Makefile.am:
36046         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36047         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36048         * gst-libs/gst/vaapi/gstvaapiimage.c:
36049         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
36050         * gst-libs/gst/vaapi/gstvaapisurface.c:
36051         * gst-libs/gst/vaapi/gstvaapiutils.c:
36052         * gst-libs/gst/vaapi/gstvaapiutils.h:
36053         * gst-libs/gst/vaapi/vaapi_debug.h:
36054           Move vaapi_utils.* to gstvaapiutils.*
36055
36056 2010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36057
36058         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
36059           Cosmetics (remove an extra line).
36060
36061 2010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36062
36063         * gst-libs/gst/vaapi/Makefile.am:
36064         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
36065         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
36066         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
36067           Move X11 utilties to gstvaapiutils_x11.[ch].
36068
36069 2010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36070
36071         * gst-libs/gst/vaapi/Makefile.am:
36072         * gst-libs/gst/vaapi/gstvaapivideosink.c:
36073         * gst-libs/gst/vaapi/gstvaapivideosink.h:
36074         * sys/vaapiconvert/gstvaapiconvert.c:
36075         * sys/vaapisink/gstvaapisink.c:
36076           Rename GstVaapiSinkBase to GstVaapiVideoSink.
36077
36078 2010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36079
36080         * configure.ac:
36081         * tests/Makefile.am:
36082         * tests/examples/Makefile.am:
36083         * tests/examples/generic/Makefile.am:
36084         * tests/test-display.c:
36085         * tests/test-surfaces.c:
36086         * tests/test-windows.c:
36087           Move tests to top-level tests/ directory.
36088
36089 2010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36090
36091         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36092         * gst-libs/gst/vaapi/gstvaapiimage.c:
36093         * sys/vaapiconvert/gstvaapiconvert.c:
36094         * sys/vaapiconvert/gstvaapiconvert.h:
36095           Handle I420 formats internally in GstVaapiImage.
36096
36097 2010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36098
36099         * sys/vaapiconvert/gstvaapiconvert.c:
36100         * sys/vaapiconvert/gstvaapiconvert.h:
36101           Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
36102
36103 2010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36104
36105         * gst-libs/gst/vaapi/gstvaapiimage.c:
36106           Implement I420 and YV12 if the underlying implementation does not.
36107
36108 2010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36109
36110         * sys/vaapiconvert/Makefile.am:
36111         * sys/vaapiconvert/gstvaapiconvert.c:
36112         * sys/vaapiconvert/gstvaapiconvert.h:
36113           Add initial vaapiconvert plugin.
36114
36115 2010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36116
36117         * sys/vaapisink/gstvaapisink.c:
36118         * sys/vaapisink/gstvaapisink.h:
36119           Display frames.
36120
36121 2010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36122
36123         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
36124           Factor out.
36125
36126 2010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36127
36128         * tests/examples/generic/test-windows.c:
36129           Generate R/G/B rects.
36130
36131 2010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36132
36133         * gst-libs/gst/vaapi/gstvaapisurface.c:
36134         * gst-libs/gst/vaapi/gstvaapisurface.h:
36135           Add gst_vaapi_surface_sync().
36136
36137 2010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36138
36139         * gst-libs/gst/vaapi/gstvaapiimage.c:
36140           Cosmetics (reverse args order).
36141
36142 2010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36143
36144         * gst-libs/gst/vaapi/gstvaapiimage.c:
36145         * gst-libs/gst/vaapi/gstvaapiimage.h:
36146         * gst-libs/gst/vaapi/gstvaapisurface.c:
36147           Cosmetics.
36148
36149 2010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36150
36151         * gst-libs/gst/vaapi/Makefile.am:
36152         * gst-libs/gst/vaapi/gstvaapiwindow.c:
36153         * gst-libs/gst/vaapi/gstvaapiwindow.h:
36154         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
36155         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
36156         * tests/examples/generic/Makefile.am:
36157         * tests/examples/generic/test-windows.c:
36158           Add VA/X11 window abstraction.
36159
36160 2010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36161
36162         * gst-libs/gst/vaapi/gstvaapidisplay.h:
36163         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
36164           Add VA and X11 display accessors.
36165
36166 2010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36167
36168         * gst-libs/gst/vaapi/gstvaapiimage.c:
36169           Fix preconditions.
36170
36171 2010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36172
36173         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36174           Cosmetics.
36175
36176 2010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36177
36178         * gst-libs/gst/vaapi/gstvaapiimage.c:
36179         * gst-libs/gst/vaapi/gstvaapiimage.h:
36180         * gst-libs/gst/vaapi/gstvaapisurface.c:
36181         * gst-libs/gst/vaapi/gstvaapisurface.h:
36182           Add gst_vaapi_{get,put}_image() API.
36183
36184 2010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36185
36186         * gst-libs/gst/vaapi/gstvaapiimage.c:
36187         * gst-libs/gst/vaapi/gstvaapiimage.h:
36188           Add gst_vaapi_image_update_from_buffer() helper.
36189
36190 2010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36191
36192         * sys/vaapisink/Makefile.am:
36193         * sys/vaapisink/gstvaapisink.c:
36194         * sys/vaapisink/gstvaapisink.h:
36195           Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
36196
36197 2010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36198
36199         * tests/examples/generic/Makefile.am:
36200         * tests/examples/generic/test-surfaces.c:
36201           Add surface tests.
36202
36203 2010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36204
36205         * gst-libs/gst/vaapi/Makefile.am:
36206         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
36207         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
36208           Add basic GstVaapiVideoBuffer.
36209
36210 2010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36211
36212         * gst-libs/gst/vaapi/Makefile.am:
36213         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
36214         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
36215         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
36216         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
36217         * gst-libs/gst/vaapi/gstvaapivideopool.c:
36218         * gst-libs/gst/vaapi/gstvaapivideopool.h:
36219           Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
36220
36221 2010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36222
36223         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
36224           Simplify format conversion code.
36225
36226 2010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36227
36228         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
36229         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
36230           Add gst_vaapi_image_format_from_caps() helper.
36231
36232 2010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36233
36234         * gst-libs/gst/vaapi/Makefile.am:
36235         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
36236         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
36237           Add VA surface pool (lazy allocator).
36238
36239 2010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36240
36241         * gst-libs/gst/vaapi/gstvaapisurface.c:
36242         * gst-libs/gst/vaapi/gstvaapisurface.h:
36243           Add gst_vaapi_surface_get_size() helper.
36244
36245 2010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36246
36247         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
36248           Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
36249
36250 2010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36251
36252         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36253           Reset display-name if the user provided his own X11 display.
36254
36255 2010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36256
36257         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36258         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
36259         * tests/examples/generic/test-display.c:
36260           Add gst_vaapi_display_x11_new_with_display() API.
36261
36262 2010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36263
36264         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
36265         * gst-libs/gst/vaapi/gstvaapiimage.h:
36266         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
36267         * gst-libs/gst/vaapi/gstvaapisurface.h:
36268           Fix *_GET_CLASS() definitions...
36269
36270 2010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36271
36272         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36273         * gst-libs/gst/vaapi/gstvaapidisplay.h:
36274         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36275         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
36276         * tests/examples/generic/test-display.c:
36277           API change: gst_vaapi_display_x11_new() now takes an X11 display name.
36278
36279 2010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36280
36281         * gst-libs/gst/vaapi/gstvaapisurface.c:
36282         * gst-libs/gst/vaapi/gstvaapisurface.h:
36283           Use GstVaapiChromaType abstraction.
36284
36285 2010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36286
36287         * gst-libs/gst/vaapi/gstvaapiimage.c:
36288         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
36289         * gst-libs/gst/vaapi/gstvaapisurface.c:
36290           New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
36291
36292 2010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36293
36294         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
36295           Don't warn on failure, just return an appropriate error or value.
36296
36297 2010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36298
36299         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36300         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
36301         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
36302           Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
36303
36304 2010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36305
36306         * gst-libs/gst/vaapi/Makefile.am:
36307         * gst-libs/gst/vaapi/gstvaapisinkbase.c:
36308         * gst-libs/gst/vaapi/gstvaapisinkbase.h:
36309           Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
36310
36311 2010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36312
36313         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36314         * gst-libs/gst/vaapi/gstvaapiimage.c:
36315         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
36316         * gst-libs/gst/vaapi/gstvaapisurface.c:
36317         * gst-libs/gst/vaapi/vaapi_debug.h:
36318           Use GST_DEBUG.
36319
36320 2010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36321
36322         * gst-libs/gst/vaapi/gstvaapiimage.c:
36323         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
36324           Fix GstVaapiImage and GstVaapiSubpicture initialization.
36325
36326 2010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36327
36328         * gst-libs/gst/vaapi/gstvaapisurface.c:
36329           Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
36330
36331 2010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36332
36333         * tests/examples/generic/test-display.c:
36334           Dump caps.
36335
36336 2010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36337
36338         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36339         * gst-libs/gst/vaapi/gstvaapidisplay.h:
36340         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36341           Fix GstVaapiDisplay initialization.
36342
36343 2010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36344
36345         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36346         * gst-libs/gst/vaapi/gstvaapidisplay.h:
36347           Get VA image & subpicture formats as GstCaps.
36348
36349 2010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36350
36351         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
36352         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
36353           Add helper to convert from GstVaapiImageFormat to GstCaps.
36354
36355 2010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36356
36357         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36358         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36359         * gst-libs/gst/vaapi/gstvaapisurface.c:
36360           Cosmetics (drop unused variables).
36361
36362 2010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36363
36364         * configure.ac:
36365         * sys/vaapiconvert/Makefile.am:
36366         * sys/vaapiconvert/gstvaapiconvert.c:
36367         * sys/vaapiconvert/gstvaapiconvert.h:
36368         * sys/vaapisink/Makefile.am:
36369         * sys/vaapisink/gstvaapisink.c:
36370         * sys/vaapisink/gstvaapisink.h:
36371           Add boilerplate for vaapiconvert and vaapisink elements.
36372
36373 2010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36374
36375         * configure.ac:
36376         * sys/Makefile.am:
36377         * sys/vaapiconvert/Makefile.am:
36378           Add vaapiconvert element hierarchy.
36379
36380 2010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36381
36382         * sys/vaapisink/Makefile.am:
36383           Rename to vaapisink.
36384
36385 2010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36386
36387         * gst-libs/gst/vaapi/gstvaapisurface.c:
36388           Shorter code (and more correct).
36389
36390 2010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36391
36392         * gst-libs/gst/vaapi/gstvaapisurface.c:
36393         * gst-libs/gst/vaapi/gstvaapisurface.h:
36394           Add helper to get GstVaapiDisplay from a surface.
36395
36396 2010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36397
36398         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36399           Fix subpicture formats list length.
36400
36401 2010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36402
36403         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36404         * gst-libs/gst/vaapi/gstvaapidisplay.h:
36405           Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
36406
36407 2010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36408
36409         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36410         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
36411           Cosmetics (more checks, includes).
36412
36413 2010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36414
36415         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
36416         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
36417           Really add VA subpicture abstraction.
36418
36419 2010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36420
36421         * gst-libs/gst/vaapi/Makefile.am:
36422         * gst-libs/gst/vaapi/gstvaapiimage.c:
36423         * gst-libs/gst/vaapi/gstvaapiimage.h:
36424         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
36425         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
36426         * gst-libs/gst/vaapi/gstvaapisurface.c:
36427         * gst-libs/gst/vaapi/gstvaapisurface.h:
36428           Add VA surface, image, subpicture abstractions. Ported over from Gnash.
36429
36430 2010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36431
36432         * configure.ac:
36433         * gst-libs/gst/vaapi/Makefile.am:
36434         * gst-libs/gst/vaapi/gstvaapidisplay.c:
36435         * gst-libs/gst/vaapi/gstvaapidisplay.h:
36436         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
36437         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
36438         * gst-libs/gst/vaapi/vaapi_debug.h:
36439         * gst-libs/gst/vaapi/vaapi_utils.c:
36440         * gst-libs/gst/vaapi/vaapi_utils.h:
36441         * tests/examples/generic/Makefile.am:
36442         * tests/examples/generic/test-display.c:
36443           Add initial VA display abstraction.
36444
36445 2010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36446
36447         * Makefile.am:
36448         * configure.ac:
36449         * tests/Makefile.am:
36450         * tests/examples/Makefile.am:
36451         * tests/examples/generic/Makefile.am:
36452           Add tests infrastructure.
36453
36454 2010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36455
36456         * configure.ac:
36457           Clean up VA-API checks.
36458
36459 2010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
36460
36461         * configure.ac:
36462           Check for __attribute__((visibility("hidden"))).
36463