libs: filter: set vpp input/output color range
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 1.16.0 ===
2
3 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
4
5         * ChangeLog:
6         * NEWS:
7         * RELEASE:
8         * configure.ac:
9         * gstreamer-vaapi.doap:
10         * meson.build:
11           Release 1.16.0
12
13 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
14
15         * docs/plugins/inspect/plugin-vaapi.xml:
16           Update docs
17
18 2019-04-15 19:34:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19
20         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
22         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
23           libs: encoder: h264,h265: guard VA version for max_qp property
24           This patch fixes a regression from commit 5b1fe9c6.
25           max_qp, in rate control configuration, appeared in libva release
26           2.1 (API 1.1), thus it is required to guard the VA API version.
27           Fixes: #150
28
29 2019-04-08 18:29:35 +0800  He Junyan <junyan.he@hotmail.com>
30
31         * gst-libs/gst/vaapi/gstvaapiimage.c:
32         * gst-libs/gst/vaapi/video-format.c:
33           libs: Add RGB565 image format support.
34
35 2019-04-10 13:59:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
36
37         * configure.ac:
38           build: configure: delay USE_GTK conditional until check libva-x11
39           libva-x11 is used for X11 applications, so it is required to build
40           any GTK application.
41           Later, when Wayland test is added, we should change this.
42
43 2019-04-10 13:25:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
44
45         * configure.ac:
46           build: configure: disable GLX if libva-x11 is not found
47
48 2019-04-15 13:55:26 +0200  He Junyan <junyan.he@hotmail.com>
49
50         * gst-libs/gst/vaapi/gstvaapiutils.c:
51           libs: utils: avoid macro evaluation when stringify
52           string_of_va_chroma_format() gets a wrong string format description.
53           For example, the YUV420_10BPP get a string of 0x00000100 as output.
54           It's because VA_RT_FORMAT_xxx values are macro definitions. And
55           STRINGIFY(VA_RT_FORMAT_xxx) will expand to its real value
56           0x00000XXX.
57           To avoid the macro evaluation, it is changed to show only the color
58           format without VA_RT_FORMAT_ prefix.
59
60 2019-04-15 13:54:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
61
62         * gst-libs/gst/vaapi/gstvaapiutils.c:
63           libs: utils: use glib's macros
64           Don't reinvent the wheel.
65
66 2019-04-11 15:05:02 +0800  Wangfei <fei.w.wang@intel.com>
67
68         * gst/vaapi/gstvaapipluginutil.c:
69           plugins: find the preferred format from right caps.
70           When the downstream has any caps, then raw video feature will
71           be used. At this situation, the preferred format should be chose
72           from caps which contains "vide/x-raw" feature instead of from
73           the fist allowed caps.
74           Fixes #142
75
76 2019-04-10 11:43:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
77
78         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
79           libs: encoder: h265: fill tier in va seq param buf
80           Now that tier is calculated in commit 58e74f9440fe (!68),
81           ensure we fill in the general_tier_flag in the
82           VAEncSequenceParameterBufferHEVC.
83
84 === release 1.15.90 ===
85
86 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
87
88         * ChangeLog:
89         * NEWS:
90         * RELEASE:
91         * configure.ac:
92         * gstreamer-vaapi.doap:
93         * meson.build:
94           Release 1.15.90
95
96 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
97
98         * docs/plugins/inspect/plugin-vaapi.xml:
99           Update docs
100
101 2019-04-09 20:42:04 +0800  He Junyan <junyan.he@hotmail.com>
102
103         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
104           libs: encoder: h265: Recognize the correct level and tier.
105           The current manner can not recognize the correct level and always
106           set the tier to main. Need to add frame rate check to recognize
107           levels such as 4.1, 6.2, etc. We also add a logic to check main
108           and high tier based on bitrate.
109           Fixes: #145
110
111 2019-04-03 14:12:23 +0800  He Junyan <junyan.he@hotmail.com>
112
113         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
114         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
115         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
116           libs: encoder: h264,h265: Set max_qp if min_qp is non-zero.
117           media-driver currently fails to set a correct value of max_qp when
118           min_qp is different to zero, in CBR and VBR mode, generating full
119           quality frames, thus unexpected huge output.
120           This patch sets max_qp to an arbitrary value to avoid this output
121           temporary.
122           Fixes: #144
123
124 2019-04-09 12:42:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
125
126         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
127         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
128         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
129           libs: encoder: h264,h265: initial and minimal QP can be zero
130           Currently the minimal value for either min_qp and init_qp are 1,
131           but VA documentation specifiy that zero is also valid and means
132           to ignore the quantiser.
133           The default value is not changed though to avoid behaivor changes
134           to users.
135
136 2019-04-09 09:20:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
137
138         * tests/elements/meson.build:
139           meson: build test-vaapicontext when using X11
140           x11_dep and libva_x11_dep are optional and meson ignores these
141           dependencies even if they are added into the dependency list.
142           This fixes the error below when libva-x11 is not avaiblabe:
143           cc -Itests/elements/tests@elements@@test-vaapicontext@exe
144           -Itests/elements -I../../gstreamer-vaapi/tests/elements -I.
145           -I../../gstreamer-vaapi/ -Igst-libs -I../../gstreamer-vaapi/gst-libs
146           -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0
147           -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orc-0.4
148           -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
149           -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
150           -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
151           -I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/pango-1.0
152           -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo
153           -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
154           -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
155           -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
156           -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -pthread
157           -DHAVE_CONFIG_H  -MD -MQ
158           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
159           -MF
160           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o.d'
161           -o
162           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
163           -c ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c
164           ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c:29:10: fatal
165           error: va/va_x11.h: No such file or directory
166           #include <va/va_x11.h>
167
168 2019-04-01 12:56:28 +0800  He Junyan <junyan.he@hotmail.com>
169
170         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
171         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
172         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
173           libs: encoder: h264_fei: Use gst_param_spec_array for view-ids
174           GValueArray is deprecated. Use GstValueArray instead.
175
176 2019-03-30 18:29:31 +0100  Danilo Spinella <danyspin97@protonmail.com>
177
178         * gst/vaapi/gstvaapipluginutil.c:
179           vaapipluginutil: Fix #endif for USE_X11
180
181 2019-03-29 18:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
182
183         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
184           libs: encoder: h264: simplify the view-ids setting
185
186 2019-03-26 14:54:47 +0800  He Junyan <junyan.he@hotmail.com>
187
188         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
189           libs: encoder: h264: Use gst_param_spec_array for view-ids
190           GValueArray is deprecated. Use GstValueArray instead.
191           gst_param_spec_array can be deserialized from command line using:
192           vaapih264enc view-ids="<(uint)40,(uint)100>" num-views=2
193           While the g_param_spec_value_array() can not, and always get
194           error: "gst_value_deserialize_g_value_array: unimplemented"
195           Also fixed an out-of-range bug.
196
197 2019-03-29 13:33:41 +0800  He Junyan <junyan.he@hotmail.com>
198
199         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
200           libs: Change the parameter setting order when encode picture.
201           The order in gst_vaapi_enc_picture_encode when encoding one
202           picture is not very correct. The misc parameters are set before
203           the picture parameters. Some of the misc parameters such as
204           ROI may change the current picture parameters. But the later
205           setting of picture parameter will re-init all picture related
206           parameters and clear the previous setting. The right order
207           should be picture parameter first and then misc parameters.
208           Signed-off-by: He Junyan <junyan.he@hotmail.com>
209
210 2019-03-26 14:20:34 +0800  Wangfei <fei.w.wang@intel.com>
211
212         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
213           libs: decoder: jpeg: support dynamic resolution change decode.
214           Add size_changed flag to watch out resolution. if change, reset
215           jpeg decoder's context.
216
217 2019-03-23 15:34:03 +0800  Wangfei <fei.w.wang@intel.com>
218
219         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
220           libs: encoder: h265: add low power mode encode.
221           By now, this feature only support by media-driver on Ice Lake
222           platform, more information you can reference:
223           https://github.com/intel/media-driver
224
225 2019-03-15 18:40:21 +0800  He Junyan <junyan.he@hotmail.com>
226
227         * gst/vaapi/gstvaapiencode.c:
228           vaapiencode: gobject's prop_id differ from vaapi encoder
229           The vaapi internal encoder's property id are negative, thus they are
230           different from GObject's property ids.
231           gst_vaapi_encoder_set_property() should map to the internal encoder
232           property id, assigned in gst_vaapiencode_default_set_property().
233
234 2019-03-21 16:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
235
236         * meson.build:
237           meson: disable compiler warnings for unused vars and args if gst debug system is disabled
238
239 2019-03-21 13:31:57 +0000  Tim-Philipp Müller <tim@centricular.com>
240
241         * meson.build:
242           meson: use new 'python' module instead of deprecated 'python3' one
243
244 2019-03-11 18:38:36 -0300  Thibault Saunier <tsaunier@igalia.com>
245
246         * common:
247           Update common submodule back to 59cb678164719ff59dcf6c8b93df4617a1075d11
248           It was wrongly changed in 3d9555a86d45565870c684fe00ec8bbb0fed7205
249
250 2019-03-04 09:16:17 +0000  Tim-Philipp Müller <tim@centricular.com>
251
252         * NEWS:
253         * RELEASE:
254         * configure.ac:
255         * docs/plugins/inspect/plugin-vaapi.xml:
256         * meson.build:
257           Back to development
258
259 2019-03-01 12:33:26 +0800  He Junyan <junyan.he@hotmail.com>
260
261         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
262           libs: Fix a typo in comments.
263           Fix a typo in function description of
264           gst_vaapi_surface_pool_new_with_chroma_type.
265           Signed-off-by: He Junyan <junyan.he@hotmail.com>
266
267 2019-02-27 13:02:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
268
269         * gst/vaapi/gstvaapipluginutil.c:
270           plugin: if any caps in downstream, negotiate raw video
271           When downstream has any caps, vaapi should not shovel vaapi featured
272           buffers, but rather plain raw video, assuming always the worst case
273           scenario (downstream cannot handle featured video memory but raw
274           system memory buffers).
275           This patch query the peer caps without any filter, to know if
276           donwstream just ask for any caps, if so jump to the color space
277           checking, otherwise do the caps intersection and continue with the
278           feature selection algorithm.
279           Fixes: #139
280
281 === release 1.15.2 ===
282
283 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
284
285         * ChangeLog:
286         * NEWS:
287         * RELEASE:
288         * configure.ac:
289         * gstreamer-vaapi.doap:
290         * meson.build:
291           Release 1.15.2
292
293 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
294
295         * docs/plugins/inspect/plugin-vaapi.xml:
296           Update docs
297
298 2019-02-05 16:59:40 +0800  He Junyan <junyan.he@hotmail.com>
299
300         * gst/vaapi/gstvaapivideomemory.c:
301           vaapivideomemory: Prefer same format for surface and image
302           We prefer to use the same format between image and surface for gst
303           vaapi allocator. The old way may choose different formats between
304           image and surface. For example, the RGBA image may have a NV12 surface.
305           So we need to do format conversion when we put/get image to surface.
306           Some drivers such as iHD can not support such conversion and always
307           cause a data flow error. There may also have some performance cost
308           for format conversion when put/get images.
309           So we prefer to use the same format for image and surface in the
310           allocator. If the surface can not support that format, we then
311           fallback to find a best one as the surface format.
312           Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
313
314 2019-02-15 15:19:51 +0800  He Junyan <junyan.he@hotmail.com>
315
316         * gst-libs/gst/vaapi/video-format.c:
317           libs: Delete the duplicated ARGB video format.
318           Two ARGB formats with the same format information.
319           Should be verbose and delete one.
320           Signed-off-by: He Junyan <junyan.he@hotmail.com>
321
322 2019-02-13 10:39:59 -0500  Adam Jackson <ajax@redhat.com>
323
324         * common:
325         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
326           glx: Stop specifying GLX_DEPTH_SIZE
327           This code is just confused. It's asking for at least as many bits of
328           (z-axis) depth as the root window has bits of (color) depth. For rgb565
329           or rgb888 this is harmless, but at 10 bits per channel this demands a
330           30-bit or deeper Z buffer. While some hardware could in principle do a
331           32-bit Z buffer, Mesa does not expose such fbconfigs (at least on Intel
332           and AMD).
333           We're not actually using the Z buffer, so just stop asking for one.
334
335 2019-01-14 11:30:48 +0100  Niels De Graef <niels.degraef@barco.com>
336
337         * configure.ac:
338         * gst-libs/gst/vaapi/Makefile.am:
339         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
340         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
341         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
342         * gst-libs/gst/vaapi/meson.build:
343         * gst/vaapi/gstvaapisink.c:
344         * meson.build:
345           libs: wayland: add support for XDG-shell protocol
346           [wl_shell] is officially [deprecated], so provide support for the
347           XDG-shell protocol should be provided by all desktop-like compositors.
348           (In case they don't, we can of course fall back to wl_shell).
349           Note that the XML file is directly provided by the `wayland-protocols`
350           dependency and generates the protocol marshalling code.
351           [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
352           [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c
353
354 2019-02-16 19:09:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
355
356         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
357           libs: window: wayland: Prefix wl_shell_surface field with `wl_`
358           It will help us to distinguish from other Wayland shell surface
359           (such as XDG-shell) later on.
360
361 2019-01-14 09:58:19 +0100  Niels De Graef <nielsdegraef@gmail.com>
362
363         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
364         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
365         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
366           libs: wayland: Prefix wl_shell field with `wl_`
367           It will help us to distinguish from other Wayland shells (such as
368           XDG-shell) later on.
369
370 2019-02-08 09:21:28 +0300  Denis Nagorny <denis.nagorny@intel.com>
371
372         * gst-libs/gst/vaapi/gstvaapidisplay.c:
373           libs: display: lock ensure_profile()
374           Thread safety patch for ensure_profile() function
375           Fixes #133
376
377 2019-02-08 16:35:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
378
379         * meson.build:
380           meson: bump the minimum wayland version requirement to 1.11.0
381           This was missed on commit 77bb3424
382
383 2019-01-24 21:08:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
384
385         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
386         * gst/vaapi/gstvaapisink.c:
387           vaapisink: x11: trap WM_DELETE_WINDOW message
388           Register the WM_DELETE_WINDOW message from window manager and
389           trap it to stop the pipeline cleanly.
390           Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/130
391
392 2019-01-21 19:22:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
393
394         * gst-libs/gst/vaapi/gstvaapiwindow.c:
395           libs: window: remove native-id property
396           native-id property is problematic since the variable that stores it is
397           gsize, which is platform specific, and in some is bigger than unsigned
398           long, and there are not way to handle gsize properties.
399           Also, GST_VAAPI_ID_INVALID is defined in gsize terms, and we would
400           like to keep using it for this scope.
401           This patch removes the native-id property and set it manually in
402           gst_vaapi_window_new_internal().
403
404 2019-01-18 10:33:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
405
406         * gst-libs/gst/vaapi/gstvaapiwindow.c:
407           libs: window: use G_GSIZE_MODIFIER for window id
408           gsize type is not equal in all platforms, then the 'l' print modifier
409           shall not be used always.
410           This issue was found in Debian builds.
411
412 2019-01-17 10:27:13 +0800  Wangfei <fei.w.wang@intel.com>
413
414         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
415         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
416           encoder: h264/h265: set SPS cbr_flag with correct value.
417           The flag only set as 1 when the rate-control mode is CBR.
418
419 === release 1.15.1 ===
420
421 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
422
423         * ChangeLog:
424         * NEWS:
425         * RELEASE:
426         * configure.ac:
427         * gstreamer-vaapi.doap:
428         * meson.build:
429           Release 1.15.1
430
431 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
432
433         * docs/plugins/inspect/plugin-vaapi.xml:
434           Update docs
435
436 2019-01-14 19:35:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
437
438         * gst-libs/gst/vaapi/gstvaapiencoder.c:
439           libs: encoder: refactor to avoid code duplication
440           gst_vaapi_encoder_put_frame() and gst_vaapi_encoder_flush() duplicates
441           the same code segment where the coded buffer is created, the picture
442           encoded on it and pushed to the async queue.
443           The function gst_vaapi_encoder_encode_and_queue() refactor this.
444
445 2019-01-14 18:21:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
446
447         * gst-libs/gst/vaapi/gstvaapiencoder.c:
448         * gst-libs/gst/vaapi/gstvaapiencoder.h:
449         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
450         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
451         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
452           libs: encoder: h264/h265: flush pending ordered pictures
453           In order to flush the pending pictures, a new internal encoder vmethod
454           is used: get_pending_reordered()
455           This method follows an iterator pattern which will return the next
456           picture to encode and push.
457           The base encoder will call this function in a loop when flush() is called.
458           For now, only H.264 and H.265 encoders implement this flushing mechanism.
459
460 2018-12-06 10:18:53 +0800  Wangfei <fei.w.wang@intel.com>
461
462         * gst-libs/gst/vaapi/gstvaapiencoder.c:
463         * gst-libs/gst/vaapi/gstvaapiencoder.h:
464         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
465         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
466           libs: encoder: h264/h265: fix encode lose frame issue.
467           Instead of dropping all remain frames in reorder_frame_list during
468           flush, keep encoding.
469           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/97
470
471 2019-01-15 14:33:11 +0800  Wangfei <fei.w.wang@intel.com>
472
473         * gst/vaapi/gstvaapipostproc.c:
474           vaapipostproc: before set surface proxy, check if it already been created and exist.
475           Fix the deinterlace black frame when playing with glimagesink:
476           gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \
477           ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
478
479 2019-01-11 13:48:29 +0800  Wangfei <fei.w.wang@intel.com>
480
481         * gst-libs/gst/vaapi/gstvaapiutils.c:
482           vaapipostproc: clean up USE_VA_VPP macro since it already removed from configure file.
483
484 2018-12-26 14:36:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
485
486         * gst-libs/gst/vaapi/meson.build:
487         * gst/vaapi/meson.build:
488         * meson.build:
489         * tests/meson.build:
490           meson: build h264 fei encoder if possible
491
492 2018-12-26 14:04:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
493
494         * configure.ac:
495           configure: bump the minimum wayland version requirement to 1.11.0
496
497 2018-12-24 12:58:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
498
499         * configure.ac:
500         * gst-libs/gst/vaapi/Makefile.am:
501         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
502         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
503         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
504         * gst-libs/gst/vaapi/gstvaapicompat.h:
505         * gst-libs/gst/vaapi/gstvaapicontext.c:
506         * gst-libs/gst/vaapi/gstvaapidisplay.c:
507         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
508         * gst-libs/gst/vaapi/gstvaapifilter.c:
509         * gst-libs/gst/vaapi/gstvaapiprofile.c:
510         * gst-libs/gst/vaapi/gstvaapisurface.c:
511         * gst-libs/gst/vaapi/gstvaapiutils.c:
512         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
513         * gst-libs/gst/vaapi/meson.build:
514         * gst/vaapi/Makefile.am:
515         * gst/vaapi/gstvaapi.c:
516         * gst/vaapi/gstvaapidecode.c:
517         * gst/vaapi/gstvaapidecodebin.c:
518         * gst/vaapi/gstvaapipluginbase.c:
519         * gst/vaapi/meson.build:
520         * meson.build:
521         * tests/decoder.c:
522         * tests/simple-decoder.c:
523           vaapi: bump the minimum vaapi version requirement to 0.39.0
524           And reduce unnecessary API version and structures check as well.
525           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
526
527 2018-12-22 18:07:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
528
529         * gst-libs/gst/vaapi/gstvaapiwindow.c:
530         * gst-libs/gst/vaapi/gstvaapiwindow.h:
531         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
532         * tests/test-decode.c:
533         * tests/test-filter.c:
534         * tests/test-subpicture.c:
535         * tests/test-textures.c:
536         * tests/test-windows.c:
537           libs: window: remove custom ref() and unref()
538           Use gst_object_ref() and gst_object_unref() instead.
539
540 2018-12-22 13:25:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
541
542         * gst-libs/gst/vaapi/gstvaapiwindow.c:
543         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
544         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
545         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
546         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
547         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
548           libs: window: use its own debug category
549
550 2018-12-22 18:02:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
551
552         * gst-libs/gst/vaapi/gstvaapiwindow.c:
553         * gst-libs/gst/vaapi/gstvaapiwindow.h:
554         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
555         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
556         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
557         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
558         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
559         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
560         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
561         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
562         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
563         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
564         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
565         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
566           libs: window: refactor as gobject
567           This is another step in the gobjectification of the internal library
568           of gstreamer-vaapi. Now it is the turn of GstVaapiWindow and its
569           derivates.
570           The idea is to minimize the changeset keeping the same design as
571           much as possible.
572           GstVaapiWindow is defined as an abstract class with two properties:
573           the GstVaapiDisplay and the native ID. Thus, many of the
574           GstVaapiObject macros were copied as GstVaapiWindow macros.
575           The function gst_vaapi_window_new_internal() is kept as a decorator
576           of for calling gst_vaapi_window_create() and the possibility of
577           failure.
578           The descendant classes, such as glx, still use the private
579           structures, but through the gobject mechanism.
580
581 2018-12-03 22:05:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
582
583         * gst-libs/gst/vaapi/gstvaapifilter.c:
584           libs: filter: use its own debug category
585
586 2018-12-24 14:08:42 +0800  He Junyan <junyan.he@hotmail.com>
587
588         * gst/vaapi/gstvaapidecode.c:
589         * gst/vaapi/gstvaapipluginbase.c:
590         * gst/vaapi/gstvaapipluginbase.h:
591         * gst/vaapi/gstvaapipostproc.c:
592         * gst/vaapi/gstvaapisink.c:
593           plugins: Add more check for allowed raw caps.
594           The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
595           pad and src pad, which cause some bugs. For sink pad, we need to verify
596           vaPutImage() while for the src pad we need to verify vaGetImage().
597           For vaapidecoderXXX kind of plugins, the case is more complex. We need
598           to verify whether the decoded result(in some surface, NV12 format most
599           of the time) can be vaGetImage to some raw image format. Add more check
600           to fix all these problems.
601           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123
602           Signed-off-by: He Junyan <junyan.he@hotmail.com>
603
604 2018-12-18 10:44:21 +0800  Wangfei <fei.w.wang@intel.com>
605
606         * gst/vaapi/gstvaapipostproc.c:
607           vaapipostproc: fix csc fail when only change width or height.
608
609 2018-12-15 09:47:15 +0900  Wonchul Lee <chul0812@gmail.com>
610
611         * tests/elements/meson.build:
612           meson: Add gtk guard
613
614 2018-12-15 14:48:03 +0800  Wangfei <fei.w.wang@intel.com>
615
616         * gst/vaapi/gstvaapiencode_h264.c:
617           libs: enc: h264: set max profile idc with correct profile.
618           Use the highest rank of available profile as the max profile to
619           set max idc value.
620           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/124
621
622 2018-12-03 13:56:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
623
624         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
625         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
626         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
627           Use G_DEFINE_TYPE_WITH_PRIVATE if applicable
628           This gets rid of the strange `do_init` macro and makes the intent a bit
629           more clear.
630
631 2018-12-05 17:24:53 -0300  Thibault Saunier <tsaunier@igalia.com>
632
633         * common:
634           Automatic update of common submodule
635           From ed78bee to 59cb678
636
637 2018-11-27 09:47:44 -0500  Wangfei <fei.w.wang@intel.com>
638
639         * gst-libs/gst/vaapi/gstvaapiimage.c:
640         * gst-libs/gst/vaapi/gstvaapiprofile.c:
641         * gst-libs/gst/vaapi/gstvaapiprofile.h:
642         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
643         * gst-libs/gst/vaapi/video-format.c:
644         * gst/vaapi/gstvaapidecode.c:
645         * gst/vaapi/gstvaapipluginutil.h:
646           libs: dec: h265: support decode for main-444 10bit streams.
647           Add 444 10bit yuv format Y410, which can be used to decode
648           main-444 10bit streams. Currently, this feature is only
649           supported by media-driver in Icelake.
650
651 2018-11-28 05:56:44 +0200  Jordan Petridis <jordan@centricular.com>
652
653         * gst/vaapi/gstvaapidecode.c:
654         * gst/vaapi/gstvaapisink.c:
655           Run gst-indent through the files
656           This is required before we enabled an indent test in the CI.
657           https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
658
659 2018-11-14 13:11:56 +0800  He Junyan <junyan.he@hotmail.com>
660
661         * gst/vaapi/gstvaapipluginbase.c:
662           plugins: modify image check of extract_allowed_surface_formats.
663           The extract_allowed_surface_formats function just check whether
664           we can support some kind of surface/image format pair. We just
665           need to create a surface, create an image with the same video-format
666           and putImage from image to surface. All these operations success,
667           that kind of video-format is supported.
668           The old manner do not work for some kind of video-format. For example,
669           the RGBA kind of format will create a NV12 surface and RGBA image,
670           and the putImage will fail because the format is not same. And so
671           the RGBA format is not supported but actually it is supported.
672
673 2018-11-14 11:34:20 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
674
675         * gst/vaapi/gstvaapipostproc.c:
676           vaapipostproc: add some missing locking
677           gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
678           in gst_vaapipostproc_transform_caps(). The usage is already protected by
679           the mutex.
680           This is needed when the pipeline is stopped during startup.
681
682 2018-11-20 16:07:44 +0800  Xiang, Haihao <haihao.xiang@intel.com>
683
684         * gst/vaapi/gstvaapivideomemory.c:
685           Close dmabuf_fd
686           Otherwise it will result in resource leak when failed to create
687           dmabuf memory
688
689 2018-11-12 13:39:51 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
690
691         * gst/vaapi/gstvaapiencode.c:
692           vaapiencode: don't start src pad task in set_format
693           Otherwise the task may be restarted during shutdown. Start the task in
694           gst_vaapiencode_handle_frame() instead.
695
696 2018-11-14 13:52:48 +0800  Wangfei <fei.w.wang@intel.com>
697
698         * gst-libs/gst/vaapi/gstvaapiprofile.c:
699         * gst-libs/gst/vaapi/gstvaapiprofile.h:
700         * gst-libs/gst/vaapi/gstvaapiutils.c:
701         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
702         * gst/vaapi/gstvaapidecode.c:
703         * gst/vaapi/gstvaapipluginutil.h:
704           libs: dec: h265: support decode for main-444 8bit streams.
705           Add 444 8bit yuv format AYUV, which can be used to decode
706           main-444 8bit streams. Currently, this feature is only
707           supported by media-driver in Icelake.
708           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/119
709
710 2018-11-12 17:43:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
711
712         * .gitlab-ci.yml:
713           Add Gitlab CI configuration
714           This commit adds a .gitlab-ci.yml file, which uses a feature
715           to fetch the config from a centralized repository. The intent is
716           to have all the gstreamer modules use the same configuration.
717           The configuration is currently hosted at the gst-ci repository
718           under the gitlab/ci_template.yml path.
719           Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
720
721 2018-11-09 22:03:43 +0800  He Junyan <junyan.he@hotmail.com>
722
723         * gst-libs/gst/vaapi/gstvaapisurface.h:
724         * gst-libs/gst/vaapi/gstvaapiutils.c:
725           libs: Sync the GstVaapiChromaType to VA header file.
726           Add more kinds of chrometype which will be used to describe
727           new video formats. Sync it with 1.4.0 version header file.
728           Alse delete useless GST_VAAPI_CHROMA_TYPE_YUV410 chrome type.
729           Signed-off-by: He Junyan <junyan.he@hotmail.com>
730
731 2018-11-09 23:55:05 +0000  Tim-Philipp Müller <tim@centricular.com>
732
733         * gst-libs/gst/vaapi/meson.build:
734           meson: link with -lm
735           Fixes #117 hopefully.
736
737 2018-11-09 23:46:53 +0000  Tim-Philipp Müller <tim@centricular.com>
738
739         * meson.build:
740           meson: bump meson required to 0.47 for feature options
741
742 2018-11-06 14:38:08 +0800  Junyan He <junyan.he@intel.com>
743
744         * gst-libs/gst/vaapi/video-format.c:
745           libs: Modify the video format of endianness.
746           We lack some video format because endianness declare.
747           The video format should not directly relate to endianness. For example,
748           ARGB on big endian should not be simplely seen as BGRA on little endian
749           machine. We should provide endianess convert or format convert help
750           functions if endianness does not match.
751           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/112
752           Signed-off-by: Junyan He <junyan.he@intel.com>
753
754 2018-10-17 18:36:52 +0800  Junyan He <junyan.he@intel.com>
755
756         * gst/vaapi/gstvaapipluginutil.c:
757           plugins: Fix build error when GL is enabled while EGL is disabled.
758           gl_platform_type in gst_vaapi_get_display_type_from_gl_env generate
759           unused-variable warning and may block build when Werror enabled.
760           Several functions like gst_vaapi_display_egl_new_with_native_display
761           have no prototype warning and link error when GL is enabled but EGL
762           is disabled. Fix all these warning and link error.
763           https://bugzilla.gnome.org/show_bug.cgi?id=797358
764           Signed-off-by: Junyan He <junyan.he@intel.com>
765
766 2018-11-03 15:06:09 +0800  Wangfei <fei.w.wang@intel.com>
767
768         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
769         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
770           libs: encoder: h264/h264fei: remove unuseless code.
771           The variable are set twice, remove previous one.
772           https://bugzilla.gnome.org/show_bug.cgi?id=797365
773
774 2018-11-03 15:28:35 +0800  Wangfei <fei.w.wang@intel.com>
775
776         * tests/simple-encoder.c:
777         * tests/test-fei-enc-in.c:
778           tests: check return value when using gst_buffer_map.
779           https://bugzilla.gnome.org/show_bug.cgi?id=797366
780
781 2018-11-02 16:50:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
782
783         * meson.build:
784         * meson_options.txt:
785         * tests/elements/meson.build:
786         * tests/meson.build:
787           build: meson: build examples
788
789 2018-11-02 16:50:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
790
791         * gst-libs/gst/vaapi/meson.build:
792           build: meson: declare headers for libgstvaapi
793           Thus handling its recompilation if needed.
794
795 2018-11-05 05:41:13 +0000  Matthew Waters <matthew@centricular.com>
796
797         * .gitmodules:
798           Update common submodule location
799           Remove the git directory
800
801 2018-11-05 13:00:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
802
803         * .gitmodules:
804         * gstreamer-vaapi.doap:
805           Clone the code from gitlab
806           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/116
807
808 2018-10-24 14:18:37 -0400  Wangfei <fei.w.wang@intel.com>
809
810         * gst-libs/gst/vaapi/gstvaapiimage.c:
811         * gst-libs/gst/vaapi/gstvaapisurface.h:
812         * gst-libs/gst/vaapi/gstvaapiutils.c:
813         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
814         * gst-libs/gst/vaapi/video-format.c:
815         * gst/vaapi/gstvaapidecode.c:
816         * gst/vaapi/gstvaapipluginutil.h:
817           libs: dec: h265: support decode for main-10-422 10bit streams.
818           Add 422 10bit yuv format Y210, which can be used to decode
819           main-10-422 10bit streams. Currently, this feature is only
820           supported by media-driver in Icelake.
821           https://bugzilla.gnome.org/show_bug.cgi?id=797264
822
823 2018-10-13 15:00:32 +0800  Wangfei <fei.w.wang@intel.com>
824
825         * gst-libs/gst/vaapi/gstvaapicontext.c:
826           libs: context: roi_rc_qp_delta_support should not be checked when CQP.
827           VA_ROI_RC_QP_DELTA_SUPPORT return value will be ignored when the
828           rate control mode is set as CQP. In CQP mode, it shouldn't check
829           roi_rc_qp_delta_support return value from driver backend.
830           https://bugzilla.gnome.org/show_bug.cgi?id=797087
831
832 2018-10-15 17:55:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
833
834         * gst/vaapi/gstvaapipostproc.c:
835           vaapipostproc: fix classification string
836           The classification string is splitted by '/' and then looks for the
837           components.
838           This patch removes the ';' by unifying all the components.
839
840 2018-10-15 16:05:02 +0100  Philippe Normand <philn@igalia.com>
841
842         * gst/vaapi/gstvaapipostproc.c:
843           vaapipostproc: Add Hardware classifier to metadata
844
845 2018-10-12 16:37:34 +0800  Wangfei <fei.w.wang@intel.com>
846
847         * gst-libs/gst/vaapi/gstvaapicontext.c:
848           libs: context: create context first before using it to create surface.
849           In gst_vaapi_context_reset(), if the context has to be destroyed, make
850           sure to create it first before allocating its associated surfaces.
851           This patch fixes a regression introduced in commit 82872f4 because
852           the formats available in the current context now are ensured before
853           creating the context's surfaces.
854           https://bugzilla.gnome.org/show_bug.cgi?id=797277
855
856 2018-10-12 15:39:53 +0100  Philippe Normand <philn@igalia.com>
857
858         * docs/plugins/inspect/plugin-vaapi.xml:
859         * gst/vaapi/gstvaapidecode.c:
860         * gst/vaapi/gstvaapiencode_h264.c:
861         * gst/vaapi/gstvaapiencode_h264_fei.c:
862         * gst/vaapi/gstvaapiencode_h265.c:
863         * gst/vaapi/gstvaapiencode_jpeg.c:
864         * gst/vaapi/gstvaapiencode_mpeg2.c:
865         * gst/vaapi/gstvaapiencode_vp8.c:
866         * gst/vaapi/gstvaapiencode_vp9.c:
867           gst: Advertise elements interacting with hardware devices
868
869 2018-10-01 09:26:05 +0800  Wangfei <fei.w.wang@intel.com>
870
871         * gst-libs/gst/vaapi/gstvaapicontext.c:
872         * gst-libs/gst/vaapi/gstvaapisurface.c:
873         * gst-libs/gst/vaapi/gstvaapisurface.h:
874           libs: context: query surface format before context to create surface.
875           Before using context to create surface, the supported surface format
876           should be checked first.
877           https://bugzilla.gnome.org/show_bug.cgi?id=797222
878
879 2018-10-09 17:23:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
880
881         * gst-libs/gst/vaapi/gstvaapiimage.c:
882         * gst-libs/gst/vaapi/gstvaapivalue.c:
883           libs: replace g_error with GST_ERROR
884           And handle those errors rather than halting.
885
886 2018-10-09 17:23:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
887
888         * gst-libs/gst/vaapi/gstvaapiimage.c:
889         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
890         * gst-libs/gst/vaapi/gstvaapisurface.c:
891           libs: replace g_warning with GST_WARNING
892
893 2018-09-26 14:55:32 -0500  Matteo Valdina <matteo.valdina@gmail.com>
894
895         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
896         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
897         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
898         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
899           libs: Move from g_debug to GST_DEBUG.
900           https://bugzilla.gnome.org/show_bug.cgi?id=797202
901
902 2018-10-04 02:20:10 +0800  Soon, Thean Siew <thean.siew.soon@intel.com>
903
904         * gst/vaapi/gstvaapipostproc.c:
905           vaapipostproc: change the way of handling deinterlace
906           The current vaapipostproc calls driver's video processing
907           pipeline for deinterlacing only if it is Advance deinterlacing.
908           Modify in the way that it always tries with driver's video
909           processing pipeline for deinterlacing, and falls back to software
910           method of appending picture structure meta data only if it fails
911           with driver's method.
912           https://bugzilla.gnome.org/show_bug.cgi?id=797095
913
914 2018-09-24 16:54:29 -0500  Matteo Valdina <matteo.valdina@gmail.com>
915
916         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
917         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
918           libs: h264: Update level table to "Recommendation H.264 (04/17)".
919           Added level 6, 6.1 and 6.2. Reference Table A-1 – Level limits
920           from T-REC-H.264-201704.
921           https://bugzilla.gnome.org/show_bug.cgi?id=797202
922
923 2018-09-20 09:57:33 +0800  Wangfei <fei.w.wang@intel.com>
924
925         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
926         * gst-libs/gst/vaapi/gstvaapiprofile.c:
927         * gst-libs/gst/vaapi/gstvaapiprofile.h:
928         * gst-libs/gst/vaapi/gstvaapisurface.c:
929         * gst-libs/gst/vaapi/gstvaapiutils.c:
930         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
931         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
932         * gst-libs/gst/vaapi/video-format.c:
933         * gst-libs/gst/vaapi/video-format.h:
934         * gst/vaapi/gstvaapidecode.c:
935         * gst/vaapi/gstvaapipluginbase.c:
936         * gst/vaapi/gstvaapipluginutil.h:
937           libs: dec: h265: add 422 chroma format support.
938           Add main-422-10 profile which support 422 chroma format stream.
939           Currently, this feature is only supported by media-driver in Icelake.
940           https://bugzilla.gnome.org/show_bug.cgi?id=797143
941
942 2018-09-26 19:34:06 +0200  U. Artie Eoff <ullysses.a.eoff@intel.com>
943
944         * tests/y4mreader.c:
945           tests: include sysdeps.h in compilation unit
946           Fixes https://bugzilla.gnome.org/show_bug.cgi?id=797204
947           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
948
949 2018-09-26 18:04:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
950
951         * tests/y4mreader.c:
952         * tests/y4mreader.h:
953           tests: fix compilation
954           https://bugzilla.gnome.org/show_bug.cgi?id=797204
955
956 2018-09-25 20:28:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
957
958         * tests/y4mreader.h:
959           tests: don's use sysdeps.h in header
960
961 2018-09-14 19:30:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
962
963         * gst-libs/gst/vaapi/gstvaapiutils.h:
964           libs: utils: no need of include config.h
965
966 2018-09-13 18:12:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
967
968         * tests/decoder.c:
969         * tests/output.c:
970         * tests/test-decode.c:
971         * tests/test-subpicture.c:
972           tests: remove already include string.h
973           Since sysdeps.h includes string.h there's no need to include it again.
974
975 2018-09-13 18:11:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
976
977         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
978         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
979         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
980         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
981         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
982         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
983         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
984         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
985         * gst-libs/gst/vaapi/gstvaapidisplay.c:
986         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
987         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
988         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
989         * gst-libs/gst/vaapi/gstvaapiimage.c:
990         * gst-libs/gst/vaapi/gstvaapiprofile.c:
991         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
992         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
993         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
994         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
995           libs: remove already include string.h
996           Since sysdeps.h includes string.h there's no need to include it again.
997
998 2018-09-13 18:26:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
999
1000         * gst-libs/gst/vaapi/gstvaapiobject.h:
1001         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
1002         * gst/vaapi/gstvaapivideometa_texture.c:
1003           libs: object: separation of internal API and plugins
1004           Removed exposed macros GST_VAAPI_OBJECT_DISPLAY() and
1005           GST_VAAPI_OBJECT_ID() to plugins, keeping them only for internal
1006           library usage.
1007           The purpose is readability.
1008           https://bugzilla.gnome.org/show_bug.cgi?id=797139
1009
1010 2018-09-13 16:34:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1011
1012         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
1013           libs: parser_frame: change macros for inlined functions
1014           https://bugzilla.gnome.org/show_bug.cgi?id=797139
1015
1016 2018-09-13 16:10:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1017
1018         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
1019         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
1020         * gst-libs/gst/vaapi/gstvaapivideopool.c:
1021         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
1022           libs: videopool: remove unneeded code
1023           The removed code comes frome the bad practice of copy&paste. Better
1024           move it as internal function.
1025           https://bugzilla.gnome.org/show_bug.cgi?id=797139
1026
1027 2018-09-13 12:22:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1028
1029         * gst-libs/gst/vaapi/Makefile.am:
1030         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
1031         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
1032         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
1033         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
1034         * gst-libs/gst/vaapi/gstvaapiobject.c:
1035         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
1036         * gst-libs/gst/vaapi/gstvaapipixmap.c:
1037         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
1038         * gst-libs/gst/vaapi/gstvaapitexture.c:
1039         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
1040         * gst-libs/gst/vaapi/gstvaapiwindow.c:
1041         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
1042         * gst-libs/gst/vaapi/meson.build:
1043           libs: remove dependency on IN_LIBGSTVAAPI_CORE
1044           This conditional code was when libgstvaapi was intended to be library
1045           used outside GStreamer. This not the case anymore, thus removing it.
1046           https://bugzilla.gnome.org/show_bug.cgi?id=797139
1047
1048 2018-09-19 10:16:36 +0800  Wangfei <fei.w.wang@intel.com>
1049
1050         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1051           libs: dec: h265: fix the macros used for IDC profile
1052           profile_idc flag in SPS only indicate the IDC profile, which may
1053           need some other flags together to get the real profile.
1054           https://bugzilla.gnome.org/show_bug.cgi?id=797160
1055
1056 2018-09-12 19:06:22 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
1057
1058         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1059         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
1060         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1061         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1062         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1063           libs: use g_clear_pointer() when possible
1064           https://bugzilla.gnome.org/show_bug.cgi?id=797131
1065
1066 2018-09-03 13:56:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1067
1068         * gst-libs/gst/vaapi/gstvaapifilter.h:
1069           libs: filter: add gobject's cleanup function
1070
1071 2018-05-22 14:28:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1072
1073         * gst-libs/gst/vaapi/gstvaapifilter.c:
1074         * gst-libs/gst/vaapi/gstvaapifilter.h:
1075         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
1076         * tests/test-filter.c:
1077           libs: filter: remove custom ref() and unref()
1078           Replacing them by gst_object_ref() and gst_object_unref()
1079           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1080
1081 2018-05-22 14:26:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1082
1083         * gst-libs/gst/vaapi/gstvaapifilter.c:
1084         * gst-libs/gst/vaapi/gstvaapifilter.h:
1085           libs: filter: refactor filter as gobject
1086           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1087
1088 2018-05-21 13:38:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1089
1090         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1091         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1092           libs: decoder: remove destoy() and create() callbacks
1093           They were all replaced by reset()
1094           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1095
1096 2018-05-21 13:26:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1097
1098         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1099           libs: decoder: vp9: implement reset() callback
1100           remove destroy() and create() callback
1101           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1102
1103 2018-05-21 13:25:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1104
1105         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1106           libs: decoder: vp8: implement reset() callback
1107           remove create() and destroy() callbacks
1108           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1109
1110 2018-05-21 13:24:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1111
1112         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1113           libs: decoder: vc1: implement reset() callback
1114           remove destroy() and create() callbacks
1115           use g_clear_pointer for rbdu_buffer
1116           no cast for enum
1117           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1118
1119 2018-05-21 13:24:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1120
1121         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1122           libs: decoder: mpeg4: implement reset() callback
1123           remove destroy() and create() callback
1124           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1125
1126 2018-05-21 13:22:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1127
1128         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
1129           libs: decoder: mpeg2: implement reset() callback
1130           remove create() and destroy() callbacks
1131           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1132
1133 2018-05-21 13:22:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1134
1135         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1136           libs: decoder: jpeg: implement reset() callback
1137           and remove create() and destroy() callbacks.
1138           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1139
1140 2018-05-21 13:13:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1141
1142         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1143           libs: decoder: h265: implement reset() callback
1144           and remove create() and destroy()
1145           and use g_clear_pointer for dpb structure
1146           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1147
1148 2018-05-21 13:11:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1149
1150         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1151           libs: decoder: h264: remove create() and destroy() callbacks
1152           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1153
1154 2018-05-21 11:56:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1155
1156         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1157         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1158         * tests/test-decode.c:
1159         * tests/test-subpicture.c:
1160           libs: decoder: remove gst_vaapi_decoder_unref()
1161           Replaced by gst_object_unref() in tests
1162           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1163
1164 2018-05-21 11:51:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1165
1166         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1167         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1168           libs: decoder: remove gst_vaapi_decoder_ref()
1169           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1170
1171 2018-05-21 11:50:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1172
1173         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1174         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1175           libs: decoder: remove gst_vaapi_decoder_new()
1176           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1177
1178 2018-05-18 16:09:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1179
1180         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1181         * gst-libs/gst/vaapi/gstvaapidecoder.h:
1182         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1183         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
1184         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1185         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
1186         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1187         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
1188         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
1189         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
1190         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1191         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
1192         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1193         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1194         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
1195         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1196         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
1197         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1198         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
1199           libs: decoder: refactor decoders as gobject
1200           https://bugzilla.gnome.org/show_bug.cgi?id=796308
1201
1202 2018-08-31 20:56:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
1203
1204         * gst/vaapi/gstvaapidecode.c:
1205           vaapidecode: Requests upstream a key unit at parse or decode error.
1206           This is done to resume decoding after a parse error or decode error.
1207           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
1208
1209 2018-08-31 20:48:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
1210
1211         * gst/vaapi/gstvaapidecode.c:
1212           vaapidecode: sets return value in failure case.
1213           In gst_vaapidecode_handle_frame, when there is a decode error
1214           there is a code path the returns an uninitialized value.
1215           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
1216
1217 2018-08-30 18:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1218
1219         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1220           libs: display: lock at extracting available image formates
1221           When running several vaapi elements at the concurrently, at
1222           initialization, there is a race condition when extractin the avaible
1223           formats for images and subpictures.
1224           This patch add a lock when the those arrays are filled.
1225           https://bugzilla.gnome.org/show_bug.cgi?id=797039
1226
1227 2018-08-31 14:47:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
1228
1229         * meson.build:
1230           meson: Sync libversion and osxversion code from other repos
1231           gstreamer-vaapi does not build any libraries, only plugins, so this is
1232           not used, but sync it just in case someone does add it in the future.
1233
1234 2018-08-29 13:44:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1235
1236         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1237           libs: encoder: h265: trivial documentation fix
1238
1239 2018-08-30 11:08:07 +0800  Wangfei <fei.w.wang@intel.com>
1240
1241         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1242         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1243           libs: encoder: h265: add low delay B frame support.
1244           Low delay B frame provide the function of transforming
1245           P frame into low delay B frame which frame type is B, but
1246           only reference predictive frames. This can be used when P
1247           frame unsupported. Especially for P and B both unsupported,
1248           in this case, I and low delay B frame can be encoded in a
1249           stream.
1250           https://bugzilla.gnome.org/show_bug.cgi?id=796984
1251
1252 2018-08-27 20:42:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1253
1254         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1255           libs: decoder: h264: Avoid using picture after it has been free
1256           In some cases, the found_picture ended up being evicted and freed, which
1257           would lead to a use after free when accessing picture->base.poc. In this
1258           fix, we take a ref on the picture before calling dpb_evict.
1259           https://bugzilla.gnome.org/show_bug.cgi?id=787124
1260
1261 2018-07-25 17:03:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1262
1263         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1264           h264decoder: Fail decoding slice with missing inter-view reference
1265           Similarly to previous patch, we have no error concealment. As a side
1266           effect, it's better to skip slices with missing references then passing
1267           NULL pointers to the accelerator. Passing NULL pointer would lead to
1268           major visual artifact, a behaviour that is likely undefined.
1269           https://bugzilla.gnome.org/show_bug.cgi?id=787124
1270
1271 2017-09-14 14:25:41 +0900  Hyunjun Ko <zzoon@igalia.com>
1272
1273         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1274           libs: decoder: h264: reset context when the number of view is increased
1275           Usually in case of MVC decoding, dpb size is increasedi if subset sps.
1276           That's why it resets context without this patch.
1277           But for some media it doesn't increase dpb size. Even in this case we
1278           should reset context to deal with MVC decoding.
1279           Otherwise, it leads to assert.
1280           https://bugzilla.gnome.org/show_bug.cgi?id=787124
1281
1282 2018-07-25 13:50:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1283
1284         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1285         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1286         * gst/vaapi/gstvaapidecode.c:
1287           vaapidecode: Skip unparsable units from adapter
1288           If the unit could not be parsed, just skip this nal and keep parsing
1289           what is left in the adapter. We need to flush the broken unit in the
1290           decoder specific parser because the generic code does not know about
1291           units boundary. This increases error resilliance.
1292           Before this, the broken unit would stay in the adapter and EOS would be
1293           returned. Which stopped the streaming. Just removing the EOS would have
1294           lead to the adapter size growing indefinitely.
1295           https://bugzilla.gnome.org/show_bug.cgi?id=796863
1296
1297 2018-07-24 12:40:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1298
1299         * gst/vaapi/gstvaapidecode.c:
1300           vaapidecoder: Don't error out on decode errors
1301           This is problematic on live pipeline where loosing network can
1302           cause an important amount of errors.
1303           https://bugzilla.gnome.org/show_bug.cgi?id=796832
1304
1305 2018-07-25 15:47:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1306
1307         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1308           h265decoder: Don't scan empty buffer
1309           Same as what we did for H264 decoder, this is to avoid an assertion
1310           in the adapter.
1311           https://bugzilla.gnome.org/show_bug.cgi?id=796832
1312
1313 2018-07-25 20:21:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1314
1315         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1316           libs: h264: renable the vaapi category for logging
1317           h264 log messages were logged in default category because a regression
1318           in code. This patch renable the usage of vaapi logging category.
1319           This regression was introduced in commit 7c365bdd.
1320
1321 2018-07-18 13:09:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1322
1323         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1324           h264decoder: Fail decoding slice if modification process failed
1325           This patch chains up failure to executing the modification process. The
1326           end result is that we now fail decoding the slice if this process fails.
1327           This avoid sending a corrupted state to the accelerator. In some special
1328           cases, this could lead to unrecoverable errors.
1329           https://bugzilla.gnome.org/show_bug.cgi?id=796832
1330
1331 2018-07-18 13:07:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1332
1333         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1334           h264decoder: Don't scan empty buffer
1335           gst_adapter_masked_scan_uint32_peek() asserts if size is 0. Don't
1336           try and scan in that case. This fixes assertion that would some times
1337           happen when the stream is corrupted.
1338           https://bugzilla.gnome.org/show_bug.cgi?id=796832
1339
1340 2018-07-04 12:51:10 +0800  Tianhao Liu <tianhao.liu@intel.com>
1341
1342         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1343           libs: encoder: jpeg: set component id and Tqi
1344           This change is due a problem encoding JPEGs with Intel's
1345           media-driver: green/black image when playback jpeg
1346           This patch sets component identifier and quantization table
1347           destination selector in frame header to support packing headers
1348           by Intel's media-driver that does not accept packed header
1349           in AP level.
1350           https://bugzilla.gnome.org/show_bug.cgi?id=796705
1351
1352 2018-06-25 14:20:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
1353
1354         * gst/vaapi/gstvaapipluginutil.c:
1355           pluginutil: downgrade unsupported driver logging
1356           On systems with an Nvidia card, this error is output each time
1357           the registry is rebuilt, which happens pretty often when
1358           using gst-build as a development environment.
1359           https://bugzilla.gnome.org/show_bug.cgi?id=796663
1360
1361 2018-06-24 13:07:20 +0200  Tim-Philipp Müller <tim@centricular.com>
1362
1363         * gst/vaapi/gstvaapivideobufferpool.c:
1364           Update for g_type_class_add_private() deprecation in recent GLib
1365
1366 2018-05-30 16:01:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1367
1368         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1369           h264dec: Remove false assumption about parity order
1370           The decoder was trying to detect earlier that a field was lost base
1371           on guessing the parity order. This breaks in streams were the parity
1372           order changes.
1373           This patch reverts the field order prediction code added by commit
1374           8dd93e9c8.
1375           https://bugzilla.gnome.org/show_bug.cgi?id=796169
1376
1377 2018-05-18 17:03:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1378
1379         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1380           h264dec: Properly set sentinel in ref frame list
1381           This ensure that we always have sentinels set in the reference
1382           pictures arrays. The code wasn't unsafe, this simply improve the
1383           tracing, so instead of printing 32 lines of zeros, va tracer
1384           prints proper empty lists.
1385           https://bugzilla.gnome.org/show_bug.cgi?id=796169
1386
1387 2018-06-13 18:00:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1388
1389         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1390         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1391         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1392         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1393         * gst-libs/gst/vaapi/gstvaapifilter.c:
1394         * gst-libs/gst/vaapi/gstvaapiobject.c:
1395         * gst-libs/gst/vaapi/gstvaapivideopool.c:
1396         * gst/vaapi/gstvaapipluginbase.c:
1397         * gst/vaapi/gstvaapivideometa.c:
1398         * tests/test-decode.c:
1399           libs: display: remove gst_vaapi_display_ref()
1400           Replace it with gst_object_ref()
1401           https://bugzilla.gnome.org/show_bug.cgi?id=796470
1402
1403 2018-06-13 17:54:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1404
1405         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1406         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1407         * gst/vaapi/gstvaapi.c:
1408         * gst/vaapi/gstvaapidecode.c:
1409         * gst/vaapi/gstvaapiencode.c:
1410         * gst/vaapi/gstvaapipluginbase.c:
1411         * gst/vaapi/gstvaapipluginutil.c:
1412         * tests/output.c:
1413         * tests/simple-encoder.c:
1414         * tests/test-decode.c:
1415         * tests/test-display.c:
1416         * tests/test-fei-enc-in.c:
1417         * tests/test-filter.c:
1418         * tests/test-subpicture.c:
1419         * tests/test-surfaces.c:
1420         * tests/test-textures.c:
1421         * tests/test-windows.c:
1422           libs: display: remove gst_vaapi_display_unref()
1423           Use gst_object_unref() instead.
1424           https://bugzilla.gnome.org/show_bug.cgi?id=796470
1425
1426 2018-06-13 18:10:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1427
1428         * gst/vaapi/gstvaapivideobufferpool.c:
1429           vaapibufferpool: declare parameter display as object
1430           We have neglected to update this code since GstVaapiDisplay turned
1431           into a GstObject descendant.
1432           https://bugzilla.gnome.org/show_bug.cgi?id=796470
1433
1434 2018-06-01 12:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
1435
1436         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1437         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
1438         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1439         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
1440         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1441         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1442         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1443           libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config()
1444           Gobjectification for GstVaapiDisplay was almost done by the commit 185da3d1.
1445           But still something breaking GObject code convention remains, which is
1446           calling gst_vaapi_display_new() in each decendants.
1447           This patch replaces it with gst_vaapi_display_config(), defined in private
1448           header.
1449           https://bugzilla.gnome.org/show_bug.cgi?id=796470
1450
1451 2018-06-13 17:05:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1452
1453         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1454           libs: display: redefine gst_vaapi_display_create()
1455           The function name was gst_vaapi_display_create_unlocked(), nonetheless
1456           it wasn't called unlocked. In order to keep the semantics this patch
1457           renames the gst_vaapi_display_create_unlocked() as
1458           gst_vaapi_display_create(), removing the previous function
1459           gst_vaapi_display_create().
1460           https://bugzilla.gnome.org/show_bug.cgi?id=796470
1461
1462 2018-06-12 15:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1463
1464         * meson.build:
1465           Revert "build: meson: libva gst-uninstall friendly"
1466           This reverts commit fc3eef9c432c1628cb92ab56e74924cf1182da30.
1467
1468 2018-06-12 15:13:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1469
1470         * gst/vaapi/gstvaapipluginutil.c:
1471           plugins: fix compilation
1472           gstvaapipluginutil.c:171:1: error: old-style function definition [-Werror=old-style-definition]
1473
1474 2018-04-20 18:05:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1475
1476         * meson.build:
1477           build: meson: libva gst-uninstall friendly
1478           Make gstreamer-vaapi to use libva uninstalled.
1479
1480 2018-06-10 10:44:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1481
1482         * gst/vaapi/gstvaapipluginutil.c:
1483           plugins: refactor gst_vaapi_create_display_from_gl_context()
1484           gst_vaapi_create_display_from_gl_context() was a spaghetti mess.
1485           This path refactors it, in order to make the code readable and
1486           easy to follow.
1487           https://bugzilla.gnome.org/show_bug.cgi?id=796564
1488
1489 2018-05-25 12:17:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1490
1491         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1492         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1493         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1494           libs: display: resurrect parent private member
1495           This is, practically, a revert of commit dcf135e2.
1496           The parent logic is useful for the EGL display, which is a decorator
1497           of the real windowing subsystem (X11 or Wayland). Thus it is avoided
1498           calling vaInitialize() and vaTerminate() twice.
1499           https://bugzilla.gnome.org/show_bug.cgi?id=795391
1500
1501 2018-04-27 18:35:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1502
1503         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1504           libs: display: egl: initialize params structure
1505           Statically initialise the internal params structure.
1506           https://bugzilla.gnome.org/show_bug.cgi?id=795391
1507
1508 2018-04-27 18:34:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1509
1510         * gst/vaapi/gstvaapipluginutil.c:
1511           plugins: handle EGL when creating VAAPI display from gl
1512           If GstGL reports a EGL platform force to create a EGL display using
1513           the native EGL display.
1514           https://bugzilla.gnome.org/show_bug.cgi?id=795391
1515
1516 2018-04-24 18:17:24 +0900  Hyunjun Ko <zzoon@igalia.com>
1517
1518         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
1519         * gst/vaapi/gstvaapipluginutil.c:
1520           display: egl: create VaapiDisplayEGL with native EGL display
1521           gst_vaapi_display_egl_new_with_native_display() has been broken since
1522           it wasn't used.
1523           Currently it's needed to call this API to create a display providing
1524           the EGL display, so it could avoid duplicated calls to the native
1525           display (eg. eglTerminate).
1526           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
1527           https://bugzilla.gnome.org/show_bug.cgi?id=795391
1528
1529 2018-06-07 09:34:11 +0800  Tianhao Liu <tianhao.liu@intel.com>
1530
1531         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
1532           libs: decoder: release VA buffers after vaEndPicture
1533           This change is due a problem decoding JPEGs with Intel's media-driver:
1534           no image was generated.
1535           This patch relases the VA buffers after vaEndPicture() is called,
1536           and not before (after vaRenderPicture()).
1537           https://bugzilla.gnome.org/show_bug.cgi?id=796505
1538
1539 2018-06-07 19:49:02 +0100  Tim-Philipp Müller <tim@centricular.com>
1540
1541         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1542         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
1543         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
1544           meson: fix build when xrender or xrandr are not available
1545           HAVE_XRENDER are defined to 1 or 0, not defined or undefined.
1546
1547 2018-05-25 16:47:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1548
1549         * gst/vaapi/gstvaapipostproc.c:
1550           vaapipostproc: don't copy the GstParentBufferMeta if use_vpp
1551           Otherwise a reference to a DMABuf input buffer is kept until the output
1552           buffer is deleted.
1553           https://bugzilla.gnome.org/show_bug.cgi?id=796399
1554
1555 2018-05-22 21:13:08 +0900  Hyunjun Ko <zzoon@igalia.com>
1556
1557         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1558         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1559           libs: display: remove unnecessary legacy code since gobjectification
1560           https://bugzilla.gnome.org/show_bug.cgi?id=796470
1561
1562 2018-05-22 21:05:54 +0900  Hyunjun Ko <zzoon@igalia.com>
1563
1564         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1565         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1566           libs: display: remove unused code
1567           https://bugzilla.gnome.org/show_bug.cgi?id=796470
1568
1569 2018-06-05 15:16:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1570
1571         * gst/vaapi/gstvaapiencode_h264.c:
1572           vaapiencode: h264: log output caps
1573
1574 2018-06-05 22:38:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1575
1576         * gst/vaapi/gstvaapiencode_h264.c:
1577           vaapiencode: h264: find profile in available and allowed caps
1578           The commit 67e33d3de225d0e006d7bf606e7abb20d4544eab ("vaapiencode: h264:
1579           find best profile in those available") changed the code to pick a profile
1580           that is actually supported by the hardware. Unfortunately it dropped the
1581           downstream constraints. This can cause negotiation failures under certain
1582           circumstances.
1583           The fix is split in two cases:
1584           1\ the available VA-API caps doesn't intersect with pipeline's allowed
1585           caps:
1586           * The best allowed profile (pipeline's caps) is set as the encoding
1587           target profile (it will be adjusted later by the available profiles
1588           and properties)
1589           2\ the available VA-API caps does intersect with pipeline's allowed
1590           caps:
1591           * The intersected caps are fixed, and its profile is set as the
1592           encoding target profile. In this case the is not the best profile,
1593           but the minimal one (if VA-API reports the profiles in order).
1594           Setting the minimal profile of the intersected caps is better for
1595           compatibility.
1596           This patch fixes other tests related with caps negotiation, for
1597           example, it handles baseline profile, even when VA only supports
1598           constrained-baseline.
1599           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
1600           https://bugzilla.gnome.org/show_bug.cgi?id=794306
1601
1602 2018-06-01 15:27:25 +0900  Hyunjun Ko <zzoon@igalia.com>
1603
1604         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1605           libs: encoder: h265: increase log2_max_pic_order_cnt range according to spec
1606           The specification says,
1607           "log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive."
1608           This patch changes the upper limit from 6 to 12.
1609           https://bugzilla.gnome.org/show_bug.cgi?id=796179
1610
1611 2018-05-21 13:27:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1612
1613         * gst/vaapi/gstvaapipluginutil.c:
1614           plugins: guard GstGL code
1615
1616 2018-05-18 18:23:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1617
1618         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1619           libs: decoder: h264: use g_clear_pointer()
1620
1621 2018-05-18 17:27:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1622
1623         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
1624         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
1625           libs: decoder: mpeg4, vc1: remove unused header
1626
1627 2018-05-18 11:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1628
1629         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
1630           libs: decoder: remove unused forward declaration
1631
1632 2018-05-07 07:59:25 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
1633
1634         * configure.ac:
1635           fix configure.ac regression
1636           Fixes regression introduced by 77527d67abe
1637           https://bugzilla.gnome.org/show_bug.cgi?id=795885
1638
1639 2018-05-05 17:57:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1640
1641         * gst-libs/gst/Makefile.am:
1642         * gst-libs/gst/base/Makefile.am:
1643         * gst-libs/gst/base/gstbitwriter.c:
1644         * gst-libs/gst/base/gstbitwriter.h:
1645         * gst-libs/gst/base/meson.build:
1646         * gst-libs/gst/meson.build:
1647         * gst-libs/gst/vaapi/Makefile.am:
1648         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1649         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1650         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1651         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1652         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1653         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
1654         * gst-libs/gst/vaapi/meson.build:
1655           libs: remove gstbitwriter
1656           Since it is deployed in gstreamer-core, there is no need to use
1657           our custom version.
1658           https://bugzilla.gnome.org/show_bug.cgi?id=795848
1659
1660 2018-04-28 16:10:46 +0800  Wang,Fei <fei.w.wang@intel.com>
1661
1662         * gst/vaapi/gstvaapidecode.c:
1663           vaapih264dec: add constrained and progressive profiles
1664           Those profiles have been added in the version 2012-01
1665           and 2011-06 of the AVC spec (A.2.4.1 and A.2.4.2).
1666           Both are supported by VAProfileH264High
1667           https://bugzilla.gnome.org/show_bug.cgi?id=795624
1668
1669 2018-04-26 18:15:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1670
1671         * gst/vaapi/gstvaapipluginbase.c:
1672         * gst/vaapi/gstvaapipluginutil.c:
1673         * gst/vaapi/gstvaapivideocontext.c:
1674         * gst/vaapi/gstvaapivideocontext.h:
1675           plugin: remove custom GstGL context handling
1676           Instead of using our own context handling for looking for GstGL
1677           parameters (display, context and other context), this patch changes
1678           the logic to use the utility function offered by GstGL.
1679           https://bugzilla.gnome.org/show_bug.cgi?id=793643
1680
1681 2018-04-26 15:03:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1682
1683         * gst/vaapi/gstvaapipluginbase.c:
1684           plugins: GstGL API must use the member variables
1685           This commit basically is a revert of commits 8092537 and fc1c415
1686           https://bugzilla.gnome.org/show_bug.cgi?id=793643
1687
1688 2018-04-25 16:24:32 +0900  Hyunjun Ko <zzoon@igalia.com>
1689
1690         * gst/vaapi/gstvaapipluginbase.c:
1691           plugins: pass members as parameters of gst_gl_ensure_element_data()
1692           The parameters of gst_gl_ensure_element_data() have to be not
1693           local variable since they are going to be used to see if they're
1694           set in gst_element_set_context() inside the API.
1695           This is basically a revert of commit 3d56306c
1696           https://bugzilla.gnome.org/show_bug.cgi?id=793643
1697
1698 2018-04-25 17:50:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1699
1700         * meson.build:
1701           meson: fix USE_GLES_VERSION_MASK
1702           1. The macro in the code is USE_GLES_VERSION_MASK
1703           2. glesv3 is provided by glesv2 pkg-config, then it's required to
1704           check headers
1705           https://bugzilla.gnome.org/show_bug.cgi?id=795391
1706
1707 2018-04-24 18:12:44 +0900  Hyunjun Ko <zzoon@igalia.com>
1708
1709         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
1710           libs: egl: utils: mark context as wrapped when it is
1711           The returning egl context may be null, so we should check the
1712           return value.
1713           https://bugzilla.gnome.org/show_bug.cgi?id=795391
1714
1715 2018-04-24 10:02:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1716
1717         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
1718           libs: egl: utils: fix usage of GstGL macros
1719           Include gl.h for the required GstGL symbols.
1720           https://bugzilla.gnome.org/show_bug.cgi?id=795391
1721
1722 2018-04-25 11:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
1723
1724         * meson.build:
1725           meson: use -Wl,-Bsymbolic-functions where supported
1726           Just like the autotools build.
1727
1728 2018-04-20 16:01:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1729
1730         * meson.build:
1731           meson: use get_pkgconfig_variable()
1732           Use get_pkgconfig_variable() method, of dependency class, rather
1733           than using run_command().
1734
1735 2018-04-20 11:50:55 +0100  Tim-Philipp Müller <tim@centricular.com>
1736
1737         * gst-libs/gst/base/meson.build:
1738         * gst-libs/gst/vaapi/meson.build:
1739         * meson.build:
1740           meson: fix miscellaneous meson warnings
1741           WARNING: Passed invalid keyword argument "rqeuired".
1742           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "version".
1743           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "soversion".
1744           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "version".
1745           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "soversion".
1746
1747 2018-03-30 13:41:39 +0200  Paul Kocialkowski <paul.kocialkowski@bootlin.com>
1748
1749         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
1750           display: drm: Allow finding DRM paths out of the PCI subsystem
1751           This removes hard-coded checks on the parent subsystem of potential DRM
1752           devices. These checks were set to exlude devices that do not originate
1753           from the PCI bus, which is only a valid approach on x86 devices.
1754           Other devices may have a DRM device originating from the platform
1755           subsystem, so the checks that were previously restricted to PCI are
1756           extended to cover platform devices as well.
1757           https://bugzilla.gnome.org/show_bug.cgi?id=794840
1758           Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
1759
1760 2017-11-08 13:27:06 +0900  Hyunjun Ko <zzoon@igalia.com>
1761
1762         * gst/vaapi/gstvaapivideocontext.c:
1763           videocontext: support wl-display in "gst.vaapi.app.Display"
1764           Through "gst.vaapi.app.Display" context, users can set their own
1765           VADisplay and native display of their backend.
1766           So far we support only X11 display, from now we also support Wayland
1767           display.
1768           Attributes:
1769           - wl-display : pointer of struct wl_display .
1770           https://bugzilla.gnome.org/show_bug.cgi?id=705821
1771
1772 2017-11-08 13:26:38 +0900  Hyunjun Ko <zzoon@igalia.com>
1773
1774         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
1775         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
1776           libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()
1777           Implements new API function so that users could create GstVaapiDisplay
1778           with their own VADisplay within a native display as backend.
1779           https://bugzilla.gnome.org/show_bug.cgi?id=705821
1780
1781 2018-04-13 09:28:53 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
1782
1783         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1784           wayland: don't poll if there are no pending frames
1785           Otherwise the following poll may not return for an arbitrary amount of
1786           time. This can happen if another wayland event queue has flushed and read
1787           our events.
1788           https://bugzilla.gnome.org/show_bug.cgi?id=795224
1789
1790 2017-10-16 12:09:08 +0900  Hyunjun Ko <zzoon@igalia.com>
1791
1792         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1793           libs: encoder: h265: 16 bit rounding of picture width and height
1794           pic_width_in_luma_samples/pic_height_in_luma_samples can be 16-bit rounded
1795           instead of 32-bit.
1796           In addition, codedbuf_size must be calculated according to this change.
1797           https://bugzilla.gnome.org/show_bug.cgi?id=753229
1798
1799 2018-04-16 10:53:47 +0100  Tim-Philipp Müller <tim@centricular.com>
1800
1801         * common:
1802           Automatic update of common submodule
1803           From 3fa2c9e to ed78bee
1804
1805 2018-03-30 20:39:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1806
1807         * gst/vaapi/gstvaapiencode_h264.c:
1808           vaapiencode: h264: find best profile in those available
1809           Instead to look for the best profile in the allowed profiles by
1810           downstream, the encoder should look for the base profile in the
1811           available profile in VA-API.
1812           https://bugzilla.gnome.org/show_bug.cgi?id=794306
1813
1814 2018-03-20 10:49:10 +0000  Tim-Philipp Müller <tim@centricular.com>
1815
1816         * NEWS:
1817         * RELEASE:
1818         * configure.ac:
1819         * docs/plugins/inspect/plugin-vaapi.xml:
1820         * meson.build:
1821           Back to development
1822
1823 === release 1.14.0 ===
1824
1825 2018-03-19 20:30:28 +0000  Tim-Philipp Müller <tim@centricular.com>
1826
1827         * ChangeLog:
1828         * NEWS:
1829         * configure.ac:
1830         * gstreamer-vaapi.doap:
1831         * meson.build:
1832           Release 1.14.0
1833
1834 2018-03-12 16:59:01 +0000  Julien Isorce <jisorce@oblong.com>
1835
1836         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1837           libs: decoder: h264: ensure num_ref_frames is greater than 0
1838           Even if it is the h264parse fault or bad video file, vaapih264dec
1839           should set a proper value for VAPictureParameterBufferH264.num_ref_frames
1840           as the driver might use it.
1841           Also see "info.ref_frames = dpb_size;" in
1842           gstvaapidecoder_h264.c::ensure_context
1843           https://bugzilla.gnome.org/show_bug.cgi?id=793836
1844
1845 === release 1.13.91 ===
1846
1847 2018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
1848
1849         * ChangeLog:
1850         * NEWS:
1851         * configure.ac:
1852         * gstreamer-vaapi.doap:
1853         * meson.build:
1854           Release 1.13.91
1855
1856 === release 1.13.90 ===
1857
1858 2018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
1859
1860         * ChangeLog:
1861         * NEWS:
1862         * configure.ac:
1863         * gstreamer-vaapi.doap:
1864         * meson.build:
1865           Release 1.13.90
1866
1867 2018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1868
1869         * gst/vaapi/gstvaapipostproc.c:
1870           vaapipostproc: change how the metadata is copied
1871           Instead of copying the metada in prepare_output_buffer() vmethod,
1872           it is done in append_output_buffer_metadata() thus deinterlaced
1873           buffers could also have the proper metas.
1874           GstVideoCropMeta now it is copied internally and it is decided via
1875           transform_meta() vmethod.
1876           A new internal method, copy_metadata() was added to handle VPP
1877           transformation where non-GstVideoVaapiMeta metas were lost.
1878
1879 2018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1880
1881         * gst/vaapi/gstvaapipostproc.c:
1882           postproc: Copy meta data from input to output
1883           This will ensure that meta data without memory tags will be copied. This
1884           was noticed when testing ROI.
1885           https://bugzilla.gnome.org/show_bug.cgi?id=768248
1886
1887 2018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1888
1889         * tests/elements/test-roi.c:
1890           tests: element: rewrite ROI test
1891           Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
1892           than injecting GstEvents. These meta are added as a pad probe in
1893           the queue src pad.
1894           Also
1895           * Use of navigation messages to control de test
1896           * Use signal watch for processing messages
1897           * Change to H265 rather than H264 since current intel-vaapi-driver
1898           only supports ROI on kabylake.
1899           TODO: add a parameter to change the encoder/decoder to test.
1900           https://bugzilla.gnome.org/show_bug.cgi?id=768248
1901
1902 2018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1903
1904         * gst-libs/gst/vaapi/gstvaapicontext.c:
1905         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1906         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1907         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1908         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1909         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1910           libs: encoder: reimplement ROI using meta
1911           Check input buffers for ROI metas and pass them to VA. Also added a
1912           new "default-roi-delta-qp" property in order to tell the encoder what
1913           delta QP should be applied to ROI by default.
1914           Enabled it for H264 and H265 encoders.
1915           https://bugzilla.gnome.org/show_bug.cgi?id=768248
1916
1917 2018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1918
1919         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1920         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1921         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1922           Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
1923           This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
1924           https://bugzilla.gnome.org/show_bug.cgi?id=768248
1925
1926 2018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1927
1928         * tests/simple-encoder.c:
1929           Revert "tests: simple-encoder: add an option to set ROI"
1930           This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
1931           https://bugzilla.gnome.org/show_bug.cgi?id=768248
1932
1933 2018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1934
1935         * gst/vaapi/gstvaapiencode.c:
1936         * gst/vaapi/gstvaapiencode_h264.c:
1937           Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
1938           This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
1939           https://bugzilla.gnome.org/show_bug.cgi?id=768248
1940
1941 2018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1942
1943         * gst/vaapi/gstvaapipluginbase.c:
1944           plugins: copy input buffer metas
1945           When importing buffers to a VA-base buffer, it is required to copy
1946           the metas in the original buffer, otherwise information will be
1947           lost, such as GstVideoRegionOfInterestMeta.
1948           https://bugzilla.gnome.org/show_bug.cgi?id=768248
1949
1950 2018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1951
1952         * gst-libs/gst/vaapi/gstvaapisurface.c:
1953           libs: surface: cast to uintptr_t pointer
1954           According to Debian package auto-building, uintptr_t is not an
1955           unsigned long in i386 arch, raising an "incompatible pointer type"
1956           error.
1957           This patch adds a casting for compiler's satisfaction in i386.
1958
1959 2018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
1960
1961         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1962           libs: encoder: add zero as valid value for periodic keyframe.
1963           Enabled zero as valid value for keyframe-period property.
1964           https://bugzilla.gnome.org/show_bug.cgi?id=793829
1965
1966 2018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1967
1968         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1969           libs: encoder: code-style fix
1970
1971 2018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1972
1973         * gst/vaapi/gstvaapidecode.c:
1974           vaapidecode: generate system allocated buffers
1975           Generate system allocated output buffers when downstream doesn't
1976           support GstVideoMeta.
1977           The VA buffer content is copied to the new output buffer, and it
1978           replaces the VA buffer.
1979           https://bugzilla.gnome.org/show_bug.cgi?id=785054
1980
1981 2018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1982
1983         * gst/vaapi/gstvaapipostproc.c:
1984           vaapipostproc: handle system allocated buffers when required
1985           When downstream can't handle GstVideoMeta it is required to send
1986           system allocated buffers.
1987           The system allocated buffers are produced in prepare_output_buffer()
1988           vmethod if downstream can't handl GstVideoMeta.
1989           At transform() vmethod if the buffer is a system allocated buffer,
1990           a VA buffer is instanciated and replaces the out buffer. Later
1991           the VA buffer is copied to the system allocate buffer and it
1992           replaces the output buffer.
1993           https://bugzilla.gnome.org/show_bug.cgi?id=785054
1994
1995 2018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1996
1997         * gst/vaapi/gstvaapipluginbase.c:
1998         * gst/vaapi/gstvaapipluginbase.h:
1999           plugins: add gst_vaapi_copy_va_buffer()
2000           This helper function aims to copy buffers with VA memory to dumb
2001           buffers, when GstVideoMeta is not available dowstream.
2002           https://bugzilla.gnome.org/show_bug.cgi?id=785054
2003
2004 2018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2005
2006         * gst/vaapi/gstvaapipluginbase.c:
2007         * gst/vaapi/gstvaapipluginbase.h:
2008           plugins: add COPY_OUTPUT_FRAME flag
2009           This patch add the member copy_output_frame and set it TRUE when
2010           when downstream didn't request GstVideoMeta API, the caps are raw
2011           and the internal allocator is the VA-API one.
2012           https://bugzilla.gnome.org/show_bug.cgi?id=785054
2013
2014 2018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2015
2016         * gst/vaapi/gstvaapipluginbase.c:
2017         * gst/vaapi/gstvaapipluginbase.h:
2018           plugins: store the first downstream allocator if available
2019           The allocator will be required if we need to allocate a buffer
2020           to store the frame with the expected strides.
2021           https://bugzilla.gnome.org/show_bug.cgi?id=785054
2022
2023 2018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2024
2025         * gst/vaapi/gstvaapivideobufferpool.c:
2026         * gst/vaapi/gstvaapivideobufferpool.h:
2027           vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
2028           This function will inform the element if it shall copy the generated
2029           buffer by the pool to a system allocated buffer before pushing it
2030           to downstream.
2031           https://bugzilla.gnome.org/show_bug.cgi?id=785054
2032
2033 2018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2034
2035         * gst/vaapi/gstvaapivideobufferpool.c:
2036           vaapibufferpool: don't change config when forcing video meta
2037           VA-API based buffer might need a video meta because of different
2038           strides. But when donwstream doesn't support video meta we need to
2039           force the usage of video meta.
2040           Before we changed the buffer pool configuration, but actually this
2041           is a hack and we cannot rely on that for downstream.
2042           This patch add a check fo raw video caps and allocator is VA-API,
2043           then the option is enabled without changing the pool configuration.
2044           In this case the element is responsible to copy the frame to a
2045           simple buffer with the expected strides.
2046           https://bugzilla.gnome.org/show_bug.cgi?id=785054
2047
2048 2018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2049
2050         * gst/vaapi/gstvaapipostproc.c:
2051           vaapipostproc: set discont flag at vpp deinterlacing
2052           When deinterlacing with VPP the discont flag was not forwarded to
2053           the new created buffer. This patch sets the discont flag if input
2054           buffer has it.
2055
2056 2018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2057
2058         * gst/vaapi/gstvaapivideobufferpool.h:
2059           vaapibufferpool: remove wrong gcc annotation
2060
2061 2018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
2062
2063         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2064         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2065         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2066         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2067         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2068         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
2069         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
2070           libs: encoder: h264,h265: extend max periodic keyframe.
2071           Increased max values of periodic key frame for h26x codecs.
2072           This allow more fine tunning of encoder that in certian scenario
2073           want higher periodic key frame.
2074           For example: it doesn't want a key frame each 10 seconds but
2075           each 120 seconds.
2076           https://bugzilla.gnome.org/show_bug.cgi?id=786320
2077
2078 2018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
2079
2080         * configure.ac:
2081         * meson.build:
2082           Back to development
2083
2084 === release 1.13.1 ===
2085
2086 2018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
2087
2088         * Makefile.am:
2089         * NEWS:
2090         * configure.ac:
2091         * gstreamer-vaapi.doap:
2092         * meson.build:
2093           Release 1.13.1
2094
2095 2018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
2096
2097         * gst/vaapi/Makefile.am:
2098           vaapi: dist new header
2099
2100 2018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2101
2102         * gst/vaapi/gstvaapi.c:
2103           vaapi: register vaapisink as marginal on wayland
2104           vaapsink, when used with the Intel VA-API driver, tries to display
2105           surfaces with format NV12, which are handled correctly by
2106           Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
2107           pipelines on mutter.
2108           This shall be solved either by COGL or by making the driver to paint
2109           RGB surfaces. In the meanwhile, let's just demote vaapisink as
2110           marginal when the Wayland environment is detected, no matter if it is
2111           Weston.
2112           https://bugzilla.gnome.org/show_bug.cgi?id=775698
2113
2114 2018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2115
2116         * gst/vaapi/gstvaapipluginutil.c:
2117           plugins: update mesa's vendor string in whitelist
2118           Mesa has updated its VA-API Gallium driver vendor string:
2119           https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
2120           This patch tries to cover both, the old and the new one.
2121           https://bugzilla.gnome.org/show_bug.cgi?id=793386
2122
2123 2018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
2124
2125         * meson.build:
2126           meson: make version numbers ints and fix int/string comparison
2127           WARNING: Trying to compare values of different types (str, int).
2128           The result of this is undefined and will become a hard error
2129           in a future Meson release.
2130
2131 2018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2132
2133         * gst/vaapi/gstvaapipluginbase.c:
2134           plugins: handle vaapi allocator in allocation query
2135           In propose_allocation() if the numer of allocation params is zero, the
2136           system's allocator is added first, and lastly the native VA-API
2137           allocator.
2138           In decide_allocation(), the allocations params in query are travered,
2139           looking for a native VA-API allocator. If it is found, it is reused as
2140           src pad allocator. Otherwise, a new allocator is instantiated and
2141           appended in the query.
2142           https://bugzilla.gnome.org/show_bug.cgi?id=789476
2143
2144 2018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2145
2146         * gst/vaapi/gstvaapivideomemory.h:
2147           vaapivideomemory: remove unused macro
2148           GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
2149           was never used, since the native VA-API allocator name has been
2150           GST_VAAPI_VIDEO_MEMORY_NAME.
2151           This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
2152           https://bugzilla.gnome.org/show_bug.cgi?id=789476
2153
2154 2018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
2155
2156         * gst/vaapi/gstvaapisink.c:
2157           vaapisink: don't mask button events for foreign windows
2158           Don't subscribe to button press events when using a foreing window,
2159           because the user created window would trap those events, preveting the
2160           show of frames.
2161           https://bugzilla.gnome.org/show_bug.cgi?id=791615
2162
2163 2018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
2164
2165         * configure.ac:
2166           autotools: use -fno-strict-aliasing where supported
2167           https://bugzilla.gnome.org/show_bug.cgi?id=769183
2168
2169 2018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
2170
2171         * meson.build:
2172           meson: use -fno-strict-aliasing where supported
2173           https://bugzilla.gnome.org/show_bug.cgi?id=769183
2174
2175 2018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
2176
2177         * gst/vaapi/gstvaapi.c:
2178           vaapi: add NULL-sentinel to kernel_names
2179           The array needs to be NULL-terminated according to the
2180           gst_plugin_add_dependency() documentation.
2181
2182 2018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2183
2184         * gst/vaapi/gstvaapipostprocutil.c:
2185           vaapipostproc: remove spurious code
2186           This assignation is dead code, since gst_video_info_from_caps() set
2187           to 1 by default.
2188           https://bugzilla.gnome.org/show_bug.cgi?id=790149
2189
2190 2018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2191
2192         * gst/vaapi/gstvaapipostprocutil.c:
2193           vaapipostproc: if no p-a-r in out caps define a range
2194           Instead of copying the pixel-aspect-ratio from the sink caps, define
2195           an open range for the src caps pixel-aspect-ratio. Later it will be
2196           defined.
2197           https://bugzilla.gnome.org/show_bug.cgi?id=790149
2198
2199 2018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2200
2201         * gst/vaapi/gstvaapisink.c:
2202           vaapisink: check for display's color-balance properties
2203           Check for display's color-balance properties, available by the VA-API
2204           driver, before setting them.
2205           Also logs an info message of those unavailable properties.
2206           https://bugzilla.gnome.org/show_bug.cgi?id=792638
2207
2208 2018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2209
2210         * gst/vaapi/gstvaapipluginbase.c:
2211           plugins: re-using buffer pool breaks renegotiation
2212           at propose_allocation() we should not reuse the proposed buffer,
2213           because it could break renegotiation.
2214           https://bugzilla.gnome.org/show_bug.cgi?id=792620
2215
2216 2018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2217
2218         * gst/vaapi/gstvaapipluginbase.c:
2219           plugins: use g_clear_object() to unref sinkpad_buffer_pool
2220           https://bugzilla.gnome.org/show_bug.cgi?id=792620
2221
2222 2018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2223
2224         * gst-libs/gst/vaapi/meson.build:
2225           build: meson: add missing GstGL dependency
2226
2227 2018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2228
2229         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
2230           libs: utils: egl: add missing guards for GstGL
2231
2232 2018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2233
2234         * gst/vaapi/gstvaapipluginbase.c:
2235           plugins: remove dmabuf-import hack
2236           Remove the hack to check if an upstream element has enabled the
2237           property io-mode enabled as dmabuf-import.
2238           https://bugzilla.gnome.org/show_bug.cgi?id=792034
2239
2240 2017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2241
2242         * gst-libs/gst/vaapi/Makefile.am:
2243         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2244         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
2245         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
2246           libs: egl: utils: use eglGetPlatformDisplay()
2247           eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
2248           eglGetDisplay() is rather fragile, and it is recommended to use
2249           eglGetPlatformDisplay() when possible.
2250           In order to do that, this patch uses the helper in GstGL. If
2251           gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
2252           will be used.
2253           https://bugzilla.gnome.org/show_bug.cgi?id=790493
2254
2255 2017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
2256
2257         * gst/vaapi/gstvaapipostproc.c:
2258           vaapipostproc: lock ensure_filter with postproc_lock
2259           gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
2260           and allowed_sinkpad_caps. This can race with copying these caps in
2261           gst_vaapipostproc_transform_caps and lead to segfaults.
2262           The gst_vaapipostproc_transform_caps function already locks
2263           postproc_lock before copying the caps. Make sure that calls to
2264           gst_vaapipostproc_ensure_filter also acquire this lock.
2265           https://bugzilla.gnome.org/show_bug.cgi?id=791404
2266
2267 2018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2268
2269         * tests/test-filter.c:
2270           tests: test-filter: fix dereference before null check
2271           Null-checking op_info suggests that it may be null, but it has already
2272           been dereferenced on all paths leading to the check.
2273           There may be a null pointer dereference, or else the comparison
2274           against null is unnecessary.
2275
2276 2018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2277
2278         * tests/y4mreader.c:
2279           tests: y4mreader: fix string state checkup
2280           str cannot be null in that moment, but it may be the end of string.
2281
2282 2018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2283
2284         * tests/y4mreader.c:
2285           tests: y4mreader: use int for fgetc
2286           Assigning the return value of fgetc to char truncates its value.
2287           It will not be possible to distinguish between EOF and a valid
2288           character.
2289
2290 2018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2291
2292         * tests/y4mreader.c:
2293           tests: y4mreader: fix incompatible cast
2294           Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
2295           they are dereferenced as a wider long (64 bits, signed). This may lead
2296           to memory corruption.
2297
2298 2017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
2299
2300         * meson.build:
2301           meson: fix fallback for gstreamer-gl-1.0, it's now in -base
2302
2303 2017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
2304
2305         * common:
2306           Automatic update of common submodule
2307           From e8c7a71 to 3fa2c9e
2308
2309 2017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2310
2311         * gst/vaapi/gstvaapivideocontext.c:
2312           videoconvert: gst_element_post_message() is transfer full on msg
2313           For this reson we need not to unref the message, even if it failed.
2314
2315 2017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2316
2317         * gst/vaapi/gstvaapivideocontext.c:
2318           Revert "vaapivideocontext: possible memleak when no bus attached"
2319           This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
2320
2321 2017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2322
2323         * tests/elements/test-vaapicontext.c:
2324           test: vaapicontext: process have-context bus message
2325
2326 2017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2327
2328         * tests/elements/test-vaapicontext.c:
2329           test: vaapicontext: app context is not persistent
2330
2331 2017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2332
2333         * gst/vaapi/gstvaapipluginbase.c:
2334         * gst/vaapi/gstvaapivideocontext.c:
2335         * gst/vaapi/gstvaapivideocontext.h:
2336           vaapivideocontext: only vaapisink process app context
2337           gst.vaapi.app.Display context is made for applications that will
2338           provide the VA display and the native display to used by the
2339           pipeline, when are using vaapisink as overlay. There are no use
2340           case for encoders, decoders, neither for the postprocessor.
2341           In the case of the vaapisink, it shall query for gst.vaapi.Display
2342           upstream first, and then, if there is no reply,
2343           gst.vaapi.app.Display context will be posted in the bus for the
2344           application. If the application replies, a GstVaapiDisplay object
2345           is instantiated given the context info, otherwise a
2346           GstVaapiDisplay is created with the normal algorithm to guess the
2347           graphics platform. Either way, the instantiated GstVaapiDisplay
2348           is propagated among the pipeline and the have-message bus message.
2349           Also only vaapisink will process the gst.vaapi.app.Display, if
2350           and only if, it doesn't have a display already set. This is
2351           caused because if vaapisink is in a bin (playsink, for example)
2352           the need-context is posted twice, leading to an error state.
2353           https://bugzilla.gnome.org/show_bug.cgi?id=790999
2354
2355 2017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2356
2357         * gst/vaapi/gstvaapivideocontext.c:
2358           vaapivideocontext: log the name of GstVaapiDisplay
2359           https://bugzilla.gnome.org/show_bug.cgi?id=790999
2360
2361 2017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2362
2363         * gst/vaapi/gstvaapivideocontext.c:
2364           vaapivideocontext: possible memleak when no bus attached
2365           https://bugzilla.gnome.org/show_bug.cgi?id=790999
2366
2367 2017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2368
2369         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
2370           libs: window: wayland: remove unused header include
2371           Remove wayland-client.h include since there is no exposed symbols from
2372           it.
2373
2374 2017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2375
2376         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2377         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2378           libs: encoder: h264,h265: guard rate control's macroblock
2379           macroblock parameter appear on VA-API 1.0.0. It should be guarded.
2380
2381 2017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
2382
2383         * common:
2384           Automatic update of common submodule
2385           From 3f4aa96 to e8c7a71
2386
2387 2016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2388
2389         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2390           libs: encoder: h264: Add Hierarchical-B encode
2391           Frames are encoded as different layers. Frame in a particular
2392           layer will use pictures in lower or same layer as references.
2393           Which means decoder can drop the frames in upper layer but still
2394           decode lower layer frames.
2395           B-frames, except the one in top most layer, are reference frames.
2396           All the base layer frames are I or P.
2397           eg: with 3 temporal layers
2398           T3:             B1            B3              B5              B7
2399           T2:                   B2                              B6
2400           T1:   I0                                P4                        P8
2401           T1, T2, T3: Temporal Layers
2402           P1...Pn:   P-Frames:
2403           B1...Bn:   B-frames:
2404           T1: I0->P4 , P4->P8 etc..
2405           T2: I0--> B2 <-- P4
2406           T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
2407           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2408           https://bugzilla.gnome.org/show_bug.cgi?id=788918
2409
2410 2016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2411
2412         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2413           libs: encoder: h264: Add Hierarchical-P encode
2414           Frames are encoded as different layers. A frame in a particular
2415           layer will use pictures in lower or same layer as references.
2416           Which means decoder can drop the frames in upper layer but still
2417           decode lower layer frames.
2418           eg: with 3 temporal layers
2419           T3:             P1            P3              P5              P7
2420           T2:                   P2                              P6
2421           T1:   P0                                P4                        P8
2422           T1, T2, T3: Temporal Layers
2423           P1...pn:   P-Frames:
2424           P0->P1 , P0->P2, P2->P3, P0->P4......repeat
2425           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2426           https://bugzilla.gnome.org/show_bug.cgi?id=788918
2427
2428 2016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2429
2430         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2431           libs: encoder: h264: Fix frame_num generation
2432           The frame_num generation was not correctly implemented.
2433           According to h264 spec, frame_num should get incremented
2434           for each frame if previous frame is a referece frame.
2435           For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
2436           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2437           https://bugzilla.gnome.org/show_bug.cgi?id=788918
2438
2439 2016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2440
2441         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2442         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2443           libs: encoder: h264: Add new property "prediction-type"
2444           Adds new property "prediction-type" to select different reference
2445           picture selection modes like hierarchical-p, hierarchical-b etc.
2446           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2447           https://bugzilla.gnome.org/show_bug.cgi?id=788918
2448
2449 2016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
2450
2451         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2452         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
2453           libs: encoder: h264: Add machinery for implementing hierarchical-prediction
2454           Adds some basic building blocks to ease the implementation
2455           of hierarchical prediction modes.
2456           -- add an utility method to find temporal level of each frame
2457           -- define max_ref_frame count based on temporal level count
2458           -- add temporal_level_div[] for finding temporal level each frame
2459           to be encoded.
2460           -- find ip_period based on temporal level count
2461           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2462           https://bugzilla.gnome.org/show_bug.cgi?id=788918
2463
2464 2016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
2465
2466         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2467         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2468           libs: encoder: h264: Add property "temporal-levels"
2469           Adds new property "temporal-levels" to select the number of
2470           temporal levels to be included in the encoded stream.
2471           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2472           https://bugzilla.gnome.org/show_bug.cgi?id=788918
2473
2474 2016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
2475
2476         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
2477           libs: encoder: objects: Add a reference flag
2478           We can have p-frame as non-ref and also b-frame as ref
2479           which are not supported yet. Reference flag
2480           is the first machinery needed for more advanced
2481           reference picture selection modes.
2482           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2483           https://bugzilla.gnome.org/show_bug.cgi?id=788918
2484
2485 2017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
2486
2487         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
2488           libs: surface: egl: add comment
2489           Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
2490           where the creation of surfaces from GEM fd may fail.
2491           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2492
2493 2017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2494
2495         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2496         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
2497         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2498           libs: display: egl: add gst_vaapi_display_egl_set_current_display()
2499           Adds a new function that changes the internal EGL display to the
2500           current one (eglGetCurrentDisplay()) and sets the current context
2501           too (eglGetCurrentContext()).
2502           This new function is called by gst_vaapi_texture_egl_create() updating
2503           the GstVaapiDisplayEGL with the current EGL display.
2504           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2505
2506 2017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2507
2508         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2509           libs: texture: egl: update EGL display and context
2510           It is required to use the context of the calling thread when wrapping
2511           a foreign texture. According the documentation of
2512           GstVideoGLTextureUploadMeta:
2513           "The caller of gst_video_gl_texture_upload_meta_upload() must
2514           have OpenGL set up and call this from a thread where it is valid
2515           to upload something to an OpenGL texture."
2516           This patch updates the EGL display and context in GstVaapiDisplay
2517           instance to the one used by te renderer that uploads the texture.
2518           Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
2519           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2520
2521 2017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2522
2523         * gst/vaapi/gstvaapipluginbase.c:
2524           plugins: centralize assignation of GL objects
2525           Add plugin_set_gst_gl() where the GstGL objects are assigned.
2526           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2527
2528 2017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2529
2530         * gst/vaapi/gstvaapipluginbase.c:
2531           plugins: set GL objects if ensured
2532           Only set the GL display and GL other context if they are ensured.
2533           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2534
2535 2017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2536
2537         * gst/vaapi/gstvaapipluginbase.c:
2538           plugins: set GL objects if context is handled
2539           Only set the GL display and GL other context if they are extracted
2540           correctly from the gstreamer's context.
2541           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2542
2543 2017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2544
2545         * gst/vaapi/gstvaapipluginbase.c:
2546           plugins: fix memory leak when GL context is created
2547           When the GL display and context are created inside an VAAPI element
2548           the created GL context is leaked.
2549           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2550
2551 2017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2552
2553         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2554           libs: display: egl: free leaked memory
2555           The EGL VAAPI display forgot to release the egl display, context and
2556           proxied VAAPI display.
2557           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2558
2559 2017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2560
2561         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
2562           libs: texture: egl: code style
2563           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2564
2565 2017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2566
2567         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
2568           libs: surface: egl: error message if no extension
2569           Instead of silently fail to export the image if there is not available
2570           the EGL_MESA_drm_image, log an error message. Also a code refactoring
2571           was done.
2572           https://bugzilla.gnome.org/show_bug.cgi?id=773453
2573
2574 2017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2575
2576         * gst/vaapi/gstvaapipluginbase.c:
2577           plugins: direct rendering on memory:VASurface
2578           As buffers negotiated with memory:VASurface caps feature can also be
2579           mapped, they can also be configured to use VA derived images, in other
2580           words "direct rendering".
2581           Also, because of the changes in dmabuf allocator as default allocator,
2582           the code for configuring the direct rendering was not clear.
2583           This patch cleans up the code and enables direct rendering when the
2584           environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
2585           even then the memory:VASurface cap feature is negotiated.
2586           https://bugzilla.gnome.org/show_bug.cgi?id=786054
2587
2588 2017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2589
2590         * gst/vaapi/gstvaapipluginbase.c:
2591         * gst/vaapi/gstvaapipluginutil.c:
2592           plugins: only dmabuf on srcpad if downstream
2593           Set if source pad can handle dmabuf only if the GstGL context comes
2594           from downstream.
2595           It is possible to know that at two moments:
2596           1\ In the case of GstGLTextureUpload caps feature is negotiated and
2597           downstream pool reports back gst.gl.GstGLContext.
2598           2\ When GstGLContext is found as GstContext from dowstream.
2599           https://bugzilla.gnome.org/show_bug.cgi?id=788503
2600
2601 2017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2602
2603         * gst/vaapi/gstvaapivideocontext.c:
2604           vaapivideocontext: add inline documentation
2605           Document function gst_vaapi_find_gl_local_context().
2606           https://bugzilla.gnome.org/show_bug.cgi?id=788503
2607
2608 2017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2609
2610         * gst/vaapi/gstvaapipluginutil.c:
2611         * gst/vaapi/gstvaapivideocontext.c:
2612         * gst/vaapi/gstvaapivideocontext.h:
2613           vaapivideocontext: return the direction of gl context
2614           In function gst_vaapi_find_gl_context() add a direction parameter to
2615           return back the direction where the GstGL context was found.
2616           This is going to be useful when checking if downstream can import
2617           dmabuf-based buffers.
2618           https://bugzilla.gnome.org/show_bug.cgi?id=788503
2619
2620 2017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2621
2622         * gst/vaapi/gstvaapipluginbase.c:
2623         * gst/vaapi/gstvaapipluginbase.h:
2624           plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
2625           This patch refactors the code by adding the function
2626           vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
2627           GstGLContext can handle dmabuf-based buffers.
2628           The function is exposed publicly since it is intended to be used later
2629           at GstVaapiDisplay instantiation.
2630           https://bugzilla.gnome.org/show_bug.cgi?id=788503
2631
2632 2017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
2633
2634         * gst/vaapi/gstvaapiencode.c:
2635           vaapiencode: allow to set property on runtime
2636           Tis patch, allows some properties that we want to be set on
2637           runtime. (eg. bitrate)
2638           Note that all properties are under control by num_codedbuf_queued.
2639           https://bugzilla.gnome.org/show_bug.cgi?id=786321
2640
2641 2017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
2642
2643         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2644           libs: encoder: allow to set bitrate on runtime
2645           In case of streaming, controlling bitrate dynamically for encoder might be
2646           important to manage quality of the streaming.
2647           This patch is to support such a scenario.
2648           https://bugzilla.gnome.org/show_bug.cgi?id=786321
2649
2650 2017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
2651
2652         * gst/vaapi/gstvaapi.c:
2653         * gst/vaapi/gstvaapi.h:
2654         * gst/vaapi/gstvaapidecodebin.c:
2655           vaapidecodebin: Register element if no VPP support is available too
2656           VPP support is only needed for advanced deinterlacing, which is not
2657           enabled by default either. Error out if it is selected but VPP is not
2658           supported, and otherwise just work without VPP support.
2659           https://bugzilla.gnome.org/show_bug.cgi?id=788758
2660
2661 2017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
2662
2663         * gst/vaapi/gstvaapipluginutil.c:
2664           Avoid infinite loop when vaapi_create_display fails
2665           Which might be the case when using, for example, xvfb.
2666
2667 2017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2668
2669         * gst-libs/gst/vaapi/gstvaapiutils.c:
2670           libs: utils: log warn if display fail
2671           gstreamer-vaapi initializes the display by trial-and-error, thus
2672           logging an error message if the display initialisation fails the user
2673           may be weary of the error message in the screen, if using VA-API 1.0
2674           This commit set the VA error log handler to GStreamer warning level
2675           while calling vaInitialize() and set it to error after that.
2676           https://bugzilla.gnome.org/show_bug.cgi?id=783169
2677
2678 2017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2679
2680         * gst/vaapi/gstvaapipluginutil.c:
2681           plugins: try to create test display in order
2682           When creating the test display for querying capabilites, it try in
2683           certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
2684           since they are either composited with X11 or Wayland.
2685           The reason for this is to reduce the posibility of failure that could
2686           blacklist the plugin.
2687           https://bugzilla.gnome.org/show_bug.cgi?id=782212
2688
2689 2017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2690
2691         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2692         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2693           libs: display: delay getting screen resolution
2694           Instead of extracting the screen resolution at GstVaapiDisplay
2695           creation, this patch delay it until the screen size is requested for
2696           first time.
2697           https://bugzilla.gnome.org/show_bug.cgi?id=782212
2698
2699 2017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2700
2701         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
2702           libs: display: egl: avoid two vaDisplay instantiates
2703           GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
2704           or Wayland. Nonetheless it created another vaDisplay for it, instead
2705           of using the wrapped one.
2706           This patch enables the reuse of the wrapped vaDisplay avoiding
2707           instantiating two.
2708           https://bugzilla.gnome.org/show_bug.cgi?id=782212
2709
2710 2017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2711
2712         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2713         * gst-libs/gst/vaapi/gstvaapidisplay.h:
2714         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
2715         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
2716         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2717           libs: display: remove display_type from display info
2718           Since it's no required to pass the display type in the display info,
2719           the structure member is removed.
2720           https://bugzilla.gnome.org/show_bug.cgi?id=782212
2721
2722 2017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2723
2724         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2725         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2726           libs: display: remove display_type member
2727           It is not used any more since GstVaapiDisplay was ported as a
2728           GstObject-based. This information is part of the class information.
2729           https://bugzilla.gnome.org/show_bug.cgi?id=782212
2730
2731 2017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2732
2733         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2734         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2735           libs: display: remove parent member
2736           Parent was a crumb left from display cache.
2737           https://bugzilla.gnome.org/show_bug.cgi?id=782212
2738
2739 2017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
2740
2741         * gst/vaapi/gstvaapi.c:
2742           vaapi: Also register vaapipostproc without VPP support
2743           It can still do simple deinterlacing then.
2744
2745 2017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
2746
2747         * gst/vaapi/gstvaapipostproc.c:
2748           vaapipostproc: Allow running without VPP support
2749           We returned FALSE from ::start() if VPP support is not available, but it
2750           is only really needed for complex filters and during transform we check
2751           for that. For simple deinterlacing it is not needed.
2752
2753 2017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2754
2755         * gst/vaapi/gstvaapipostproc.c:
2756           vaapipostproc: use scoped variable for return value
2757           Instead of reusing a parameter variable for the return value of
2758           gst_vaapipostproc_transform_caps(), this patch uses the function
2759           scoped pointer. Thus, the code is cleaner.
2760           https://bugzilla.gnome.org/show_bug.cgi?id=785706
2761
2762 2017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2763
2764         * gst/vaapi/gstvaapipostproc.c:
2765           vaapipostproc: removed unused parameter
2766           Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
2767           helper function since the it is not used.
2768           https://bugzilla.gnome.org/show_bug.cgi?id=785706
2769
2770 2017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2771
2772         * gst/vaapi/gstvaapipostproc.c:
2773           vaapipostproc: use scoped variable for return value
2774           Instead of reusing a parameter variable for the return value of
2775           gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
2776           pointer. Thus, the code is cleaner.
2777           https://bugzilla.gnome.org/show_bug.cgi?id=785706
2778
2779 2017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2780
2781         * gst/vaapi/gstvaapipluginutil.h:
2782           plugins: memory:DMABuf only handles planar formats
2783           When glimagesink negotiates the caps feature memory:DMABuf the
2784           exported dmabufs buffers with NV12 format are not well rendered, thus
2785           setting only planar.
2786           https://bugzilla.gnome.org/show_bug.cgi?id=788229
2787
2788 2017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2789
2790         * gst/vaapi/gstvaapiencode.c:
2791           vaapiencode: flush pending frames before set format
2792           Flush pending frames, if any, in the internal encorder, before setting
2793           the new negotiated format.
2794           https://bugzilla.gnome.org/show_bug.cgi?id=786173
2795
2796 2017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2797
2798         * gst/vaapi/gstvaapidecode.c:
2799           vaapidecode: drain pending frames before set format
2800           Drain pending frames, if any, in the internal decoder before setting
2801           the new negotiated format.
2802           https://bugzilla.gnome.org/show_bug.cgi?id=786173
2803
2804 2017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2805
2806         * tests/test-display.c:
2807           tests: display: use GObject getter
2808           Instead of using the gst_vaapi_display_get_property(), this patch
2809           replaces it with g_object_get_property() to dump the available VA
2810           display properties.
2811           https://bugzilla.gnome.org/show_bug.cgi?id=788058
2812
2813 2017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2814
2815         * gst/vaapi/gstvaapisink.c:
2816           vaapisink: use GObject setter and getter
2817           Instead of using gst_vaapi_display_set_property() or
2818           gst_vaapi_display_get_property(), this patch set replace it usage
2819           with g_object_set() or g_object_get().
2820           Also the internal helper cb_set_value() is removed since it is not
2821           used anymore.
2822           https://bugzilla.gnome.org/show_bug.cgi?id=788058
2823
2824 2017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2825
2826         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2827           libs: display: initialize value if they are not yet
2828           This is a difference between the GObject API and the GstVaapi one: the
2829           GValue passed to get a property value, in GObject has to be
2830           initialized with g_value_init(), but in GstVaapi is has not.
2831           In order to overcome this mismatch, this patch call g_value_init()
2832           internally only in the passed one is not already initialized.
2833           https://bugzilla.gnome.org/show_bug.cgi?id=788058
2834
2835 2017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2836
2837         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2838           libs: display: optimize properties setters and getters
2839           Shuffled some code to avoid to find the properties descriptor in the
2840           array twice, adding the internal functions _set_property() and
2841           _get_property().
2842           https://bugzilla.gnome.org/show_bug.cgi?id=788058
2843
2844 2017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2845
2846         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2847           libs: display: install properties in class
2848           Install the properties in the class as a normal GObject. Implement
2849           set_property() and get_property() vmethods.
2850           https://bugzilla.gnome.org/show_bug.cgi?id=788058
2851
2852 2017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2853
2854         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2855           libs: display: remove gst_vaapi_display_properties_init()
2856           Remove gst_vaapi_display_properties_init() since it can be unrolled in
2857           gst_vaapi_display_class_init()
2858           https://bugzilla.gnome.org/show_bug.cgi?id=788058
2859
2860 2017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2861
2862         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2863           libs: display: remove libgstvaapi_init_once()
2864           It is not required since it can be unrolled in
2865           gst_vaapi_display_class_init()
2866           https://bugzilla.gnome.org/show_bug.cgi?id=788058
2867
2868 2017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2869
2870         * tests/test-display.c:
2871           tests: test-display: remove display cache tests
2872           Since commit ec3e10f6, display cache was removed. This patch removes
2873           this leftovers in the display test.
2874
2875 2017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
2876
2877         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2878         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2879           libs: decoder: h264/h265: decode codec data only if opened
2880           Fixes regression introduced by commit 2eb2b26a.
2881           There is a use case when the decoder set the src caps and immediatly
2882           tries to process the media codec_data, this happens before decoder is
2883           even opened, thus priv->parser is not instantiated yet.
2884           https://bugzilla.gnome.org/show_bug.cgi?id=787818
2885
2886 2017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2887
2888         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2889         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2890         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2891         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2892         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2893           libs: encoder: change mbbrc from uint to enum
2894           Instead of handling the macroblock bitrate control as a integer, this
2895           patch changes it as a enum, which is more self documented in the
2896           GStreamer elements.
2897           https://bugzilla.gnome.org/show_bug.cgi?id=787855
2898
2899 2017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
2900
2901         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2902           Fix a typo in the prop string for compliance-mode
2903
2904 2017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2905
2906         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2907           libs: encoder: don't unref properties
2908           This patch fixes a regression introduced in commit 148f867c, since the
2909           props variable is set to object's member variable
2910           encoder->properties. And it is set in the instance initialization,
2911           thus it will not be leaked.
2912           https://bugzilla.gnome.org/show_bug.cgi?id=787733
2913
2914 2017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
2915
2916         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2917         * gst/vaapi/gstvaapiencode.c:
2918           vaapiencode/libs: encoder: fix leaks of properties
2919           https://bugzilla.gnome.org/show_bug.cgi?id=786321
2920
2921 2017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2922
2923         * gst-libs/gst/vaapi/gstvaapidecoder.c:
2924           libs: decoder: at update_caps() decode codec_data
2925           When updating the caps in decoder, if the caps has codec_data (avC
2926           format), it has to be parsed to update the state of the decoder.
2927           https://bugzilla.gnome.org/show_bug.cgi?id=786173
2928
2929 2017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
2930
2931         * gst-libs/gst/vaapi/gstvaapicontext.c:
2932           libs: context: fix wrong counter of the array of attributes
2933           The counter value passed to vaCreateConfig is always +1.
2934           This is a regression caused by commit e42ec3ad.
2935           The present patch fixes wrong counting of the array of attributes.
2936           https://bugzilla.gnome.org/show_bug.cgi?id=787613
2937
2938 2017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
2939
2940         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2941         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2942           libs: encoder: h265: support I/P/B QP setting seperatedly
2943           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
2944           frames
2945           and set slice_qp_delta for each frame according to the value provided.
2946           https://bugzilla.gnome.org/show_bug.cgi?id=785923
2947
2948 2017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
2949
2950         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2951         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2952           libs: encoder: h264: support I/P/B QP setting seperatedly
2953           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
2954           frames
2955           and set slice_qp_delta for each frame according to the value provided.
2956           In addition, remove the limitation of (<= 4) when setting
2957           slice_qp_delta.
2958           https://bugzilla.gnome.org/show_bug.cgi?id=785923
2959
2960 2017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
2961
2962         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2963         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2964           libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
2965           Creates new variable for QP for I frame and keep it at configuration and
2966           use this for pic_init_qp and slice_qp_delta setting.
2967           Since changing min qp doesn't make sense, keep min qp as is.
2968           https://bugzilla.gnome.org/show_bug.cgi?id=785923
2969
2970 2017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
2971
2972         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2973         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2974           libs: encoder: h265: Add mbbrc property
2975           This property supports Macroblock level Bitrate Control as the
2976           following (same as h264 encoder):
2977           0: auto
2978           1: on
2979           2: off
2980           https://bugzilla.gnome.org/show_bug.cgi?id=785917
2981
2982 2017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
2983
2984         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2985         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2986           libs: encoder: h264: Add mbbrc property
2987           This property supports Macroblock level Bitrate Control as the
2988           following:
2989           0: auto
2990           1: on
2991           2: off
2992           https://bugzilla.gnome.org/show_bug.cgi?id=785917
2993
2994 2017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
2995
2996         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2997           libs: encoder: h265: add multi reference support
2998           This is doing the same as h264 encoder as the following:
2999           Using num_ref_frames provided and the result of the Query
3000           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
3001           and perform encoding with multi reference frames as the following:
3002           1\ The num_ref_frames is being considered as the number of
3003           reference picture list0
3004           2\ Encoder adds 1 reference frame more to the reference picture list1
3005           internally if b-frame encoding.
3006           3\ If num_ref_frames is bigger than the number of refrence frames
3007           supported in the driver, it will be lowered.
3008           Also this patch includes:
3009           - Set num_negative_pics and num_positive_pics according to the number of
3010           refs.
3011           - Set delta_poc according to the number of refs.
3012           - Increase max_dec_pic_buffering according to the number of refs
3013           - Change max_num_reorder_pics according to num of bframes
3014           https://bugzilla.gnome.org/show_bug.cgi?id=783804
3015
3016 2017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
3017
3018         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3019         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3020           libs: encoder: h265: add refs property
3021           Users can provide the number of reference frame by this property,
3022           which is exaclty same as h264.
3023           The value of the property will be considered as the number of
3024           reference picture list0 and will add 1 reference frame more to the
3025           reference picture list1 internally if b-frame encoding.
3026           If the value provided is bigger than the number of refrence frames
3027           supported in the driver, it will be lowered.
3028           The maximum value is aligned to the value of the driver supported now.
3029           https://bugzilla.gnome.org/show_bug.cgi?id=783804
3030
3031 2017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
3032
3033         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3034         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3035           libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
3036           Follows the specification as below:
3037           7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
3038           num_ref_idx_active_override_flag equal to 1 specifies that the syntax
3039           element num_ref_idx_l0_active_minus1 is present for P and B slices and
3040           that the syntax element num_ref_idx_l1_active_minus1 is present for B
3041           slices.
3042           num_ref_idx_active_override_flag equal to 0 specifies that the syntax
3043           elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
3044           are not present.
3045           https://bugzilla.gnome.org/show_bug.cgi?id=783804
3046
3047 2017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
3048
3049         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3050           libs: encoder: h265: keep idr_period equal to keyframe period
3051           Remove FIXME code, which makes previous assignation spurious.
3052           This also means to make idr_period equal to keyframe period,
3053           which is same as h264 encoder.
3054           https://bugzilla.gnome.org/show_bug.cgi?id=783804
3055
3056 2017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
3057
3058         * gst/vaapi/gstvaapipluginbase.c:
3059           Request minimum buffer even if need_pool is FALSE
3060           When tee is used, it will not request a pool, but still it wants to
3061           know how many buffers are required.
3062           https://bugzilla.gnome.org/show_bug.cgi?id=730758
3063
3064 2017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3065
3066         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3067           libs: encoder: h264_fei: VA-API 1.0 compat
3068           Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
3069           compatibility.
3070           https://bugzilla.gnome.org/show_bug.cgi?id=787322
3071           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
3072
3073 2017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3074
3075         * gst/vaapi/gstvaapisink.c:
3076           vaapisink: Fix rendering in drm display
3077           Make sure vaapisink create a va surface backed buffer pool and all
3078           required attributes get assigned correctly for drm display type.
3079           This is needed to make the below pipeline working:
3080           gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
3081           width=320 height=240 framerate=30/1 ! vaapisink display=drm
3082           https://bugzilla.gnome.org/show_bug.cgi?id=786954
3083
3084 2017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3085
3086         * tests/Makefile.am:
3087         * tests/test-fei-enc-in.c:
3088         * tests/test-fei-enc-out.c:
3089           FEI: Add test applications to showcase fei use case
3090           test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
3091           eg:
3092           ./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
3093           test-fei-enc-in: A simple fei encoding application for testing input fei buffers
3094           eg:
3095           ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
3096           Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
3097           from saved files is still not working
3098           People contributed:
3099           Wang, Yi <yi.a.wang@intel.com>
3100           Leilei <leilei.shang@intel.com>
3101           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3102           xiaominc <xiaomin.chen@intel.com>
3103           Li, Jing B <jing.b.li@intel.com>
3104           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3105           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3106
3107 2017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3108
3109         * gst/vaapi/Makefile.am:
3110         * gst/vaapi/gstvaapi.c:
3111         * gst/vaapi/gstvaapiencode_h264_fei.c:
3112         * gst/vaapi/gstvaapiencode_h264_fei.h:
3113           FEI: plugin: Add vaapih264feienc element
3114           A new FEI based encoder element for h264 is added: vaapih264feienc
3115           FEI is a an extension to VA-API which is providing low level
3116           advanced control over different stages of encoding.
3117           Extending vaapih264enc with fei support is possible, but it will
3118           make the code too much complicated and will be difficult
3119           to debug. So adding the new encoder element, but keeping
3120           the rank as 0 , vaapih264enc will stay as the primary
3121           encoder for normal use cases.
3122           The vaaih264feienc is mainly useful for customers who want to play
3123           with MotionVectors and Macroblock Predictions. Also user can
3124           do one stage of encoding(eg: only the Motion Vector Calculation)
3125           in software and offload trasformation/entroy-coding etc to
3126           Hardware (which is what PAK module is doing) using FEI element.
3127           vaapih264feienc can work in  different modes using fei-mode properoty
3128           eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
3129           Important Note: ENC only mode won't produce any encoded data which is expected.
3130           But ENC alwys requires the output of PAK in order to do the inter-prediction
3131           over reconstructed frames.
3132           Similary PAK mode alway requires MV and MBCode as input, so unless there is an
3133           upstream element providing those buffers, PAK only won't work as expected.
3134           In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
3135           with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
3136           that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
3137           separately in vaapih264feienc.
3138           People contributed:
3139           Wang, Yi <yi.a.wang@intel.com>
3140           Leilei <leilei.shang@intel.com>
3141           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3142           xiaominc <xiaomin.chen@intel.com>
3143           Li, Jing B <jing.b.li@intel.com>
3144           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3145           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3146           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3147
3148 2017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
3149
3150         * gst/vaapi/gstvaapiencode.c:
3151         * gst/vaapi/gstvaapiencode.h:
3152           FEI: plugin: Add virtual methods to base encode
3153           Two new virtual methods are added to gstvaapiencode.
3154           load_control_data():  load the FEI input buffers set by the upstream elements
3155           save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
3156           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3157           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3158           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3159
3160 2017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
3161
3162         * gst/vaapi/Makefile.am:
3163         * gst/vaapi/gstvaapifeivideometa.c:
3164         * gst/vaapi/gstvaapifeivideometa.h:
3165           FEI: plugin: Add fei specific video meta
3166           GstVaapiFeiVideoMeta holds the below fei codec objects:
3167           GstVaapiEncFeiMbCode
3168           GstVaapiEncFeiMv
3169           GstVaapiEncFeiMvPredictor
3170           GstVaapiEncFeiMbControl
3171           GstVaapiEncFeiQp
3172           GstVaapiEncFeiDistortion
3173           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3174           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3175           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3176
3177 2017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3178
3179         * gst-libs/gst/vaapi/Makefile.am:
3180         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3181         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
3182         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3183         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
3184         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
3185         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
3186           FEI: libs: Add FEI encoder
3187           Adding FEI encoder to core lib.
3188           The code is splitted into three session:
3189           1: gstvaapiencoder_h264_fei.{h,c}
3190           This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
3191           All the modes ENC, PAK and ENC_PAK are running based
3192           the code in these files.
3193           2: gstvaapifeienc_h264.{h,c}
3194           Abstract implementation intended for ENC (only VME) operation.
3195           3: gstvaapifeipak_h264.{h,c}
3196           Abstrct implementation intended for PAK (only the PAK module)
3197           Right now ENC_PAK, ENC and PAK are running based on code
3198           in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
3199           in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
3200           needed if user request for ENC+PAK mode operation.
3201           ENC+PAK: Here we need to invoke two sequence of
3202           vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
3203           first for the ENC only and the second for PAK only.
3204           Each mode associated with separate context ,but same pool of surfaces are
3205           shared between the modes.
3206           This is more useful once we have custom BRC algorithms.
3207           Other Contributors:
3208           Wang, Yi <yi.a.wang@intel.com>
3209           Leilei <leilei.shang@intel.com>
3210           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3211           xiaominc <xiaomin.chen@intel.com>
3212           Li, Jing B <jing.b.li@intel.com>
3213           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3214           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3215
3216 2017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3217
3218         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
3219         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
3220           FEI: libs: Add fei codec objects to GstVaapiEncPicture
3221           All the codec objects(vaapi buffers) supposed to be
3222           submited in vaRenderPicutre are associated with a GstVaapiEncPicture
3223           for each frame, follow the same design for FEI too.
3224           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3225           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3226
3227 2017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3228
3229         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
3230         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
3231         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
3232           FEI: libs: Add fei codec objects in codedbufferproxy
3233           MbCode, MV and Distortion buffers (fei codec objects)
3234           can be treated as output of different fei modes based user request.
3235           For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
3236           can be dumped as output in ENC_PAK mode for analysis purpose.
3237           So treating them as a part of CodedBufferProxy too.
3238           Here we avoided Qp, MbControl and MvPredictor codec objects since
3239           there is no practical use case of treating them as "output buffers".
3240           Other contributors:
3241           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3242           xiaominc <xiaomin.chen@intel.com>
3243           Leilei <leilei.shang@intel.com>
3244           Li, Jing B <jing.b.li@intel.com>
3245           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3246           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3247
3248 2017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3249
3250         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
3251         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
3252         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
3253           FEI: libs: Add fei codec objects to surface proxy
3254           Add fei codec objects to surface proxy since handling the
3255           fei buffers(codec objects here) external to gstvaapisurfaceproxy
3256           will make the code complicated. Especially considering the behavior
3257           of encoder where the input frame order from upstream and output
3258           frame order to the downstream are not sequential.
3259           Other contributors:
3260           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
3261           xiaominc <xiaomin.chen@intel.com>
3262           Leilei <leilei.shang@intel.com>
3263           Li, Jing B <jing.b.li@intel.com>
3264           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3265           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3266
3267 2017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3268
3269         * gst-libs/gst/vaapi/Makefile.am:
3270         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
3271         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
3272         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
3273           FEI: Add codec objects for fei usecase
3274           There are 6 new va buffer types, each defined as a specific codec object.
3275           Borrowed the code from gstvaapicodecobject , but made a clear separation
3276           to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
3277           feicodecobjects can be shared between elements and also can be accessed
3278           from different thread.
3279           Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
3280           object is not shared between elements.So we utilize the already
3281           existing gst_vaapi_enc_misc_param_new(), but still keeping the code
3282           in gstvaapfei_objects_priv.h in order to have a better
3283           code readability.
3284           Fixme:
3285           -- Probably we need _locked_map() and _unlocked_map()
3286           -- Context can be associated with PreEnc(not just Enoder)
3287           once we have the proper support inplace, but for now we don't have
3288           PreEnc support, so should be safe enough to use GstVaapiEncoder.
3289           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3290           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3291
3292 2017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3293
3294         * gst-libs/gst/vaapi/Makefile.am:
3295         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
3296         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
3297           FEI: libs: add H264 fei specific utility functions
3298           Added enum/flag type definitions for a number of FEI
3299           input and output parameters.
3300           Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
3301           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3302           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3303           Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
3304           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3305
3306 2017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3307
3308         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3309         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3310           FEI: libs: Add virtual method for secondary context creation.
3311           Add a new vitrual method ensure_secondary_context to the
3312           base encoder which is only required for the FEI entrypoint, that too
3313           only when user configures the ENC+PAK mode. ENC+PAK mode is not something
3314           supported directly by libva or driver, but this can be enabled
3315           from the middleware.
3316           Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
3317           Signed-off-by: Leilei Shang <leilei.shang@intel.com>
3318           Signed-off-by: xiaominc <xiaomin.chen@intel.com>
3319           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3320           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3321           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3322
3323 2017-08-09 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3324
3325         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3326           FEI: libs: make sure the default context creation works as expected.
3327           Current code always guess the entrypoint during init phase in case
3328           if there is no entrypoint already configured in GstVaapiContextInfo.
3329           Make sure FEI Entrypoint is not messing up with this logic.
3330           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3331           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3332
3333 2017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3334
3335         * gst-libs/gst/vaapi/gstvaapicontext.c:
3336         * gst-libs/gst/vaapi/gstvaapicontext.h:
3337         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3338           FEI: libs: Add FEI functional mode configuration
3339           FEI Entrypoint can work in either one of the 3 different modes:
3340           VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
3341           Add infrastructure in gstvaapicontext and gstvaapiencoder for this
3342           functioal mode configuration.
3343           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3344           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3345
3346 2017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3347
3348         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3349         * gst-libs/gst/vaapi/gstvaapiprofile.c:
3350         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3351           FEI: libs: Add FEI Entrypoint mapping
3352           Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
3353           for VAEntrypointFEI.
3354           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3355           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3356
3357 2017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3358
3359         * configure.ac:
3360           FEI: Add support for FEI conditional build
3361           FEI(Flexible Encoding Infrastructure) is an extension
3362           to VA API. Define USE_H264_FEI_ENCODER based on
3363           fei header file and required structures availability.
3364           https://bugzilla.gnome.org/show_bug.cgi?id=785712
3365           https://bugzilla.gnome.org/show_bug.cgi?id=784667
3366
3367 2017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
3368
3369         * gst/vaapi/gstvaapidecode.c:
3370           vaapidecode: force add h264 SVC profiles in caps
3371           When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
3372           support in caps.
3373           https://bugzilla.gnome.org/show_bug.cgi?id=732266
3374           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3375
3376 2017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
3377
3378         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3379           libs: decoder: h264: decode SVC base layer only
3380           Drops non-base NALs when the base-only property is set to TRUE.
3381           This modifies the behavior for MVC streams with base-only too: All the
3382           non-base units are dropped before they are decoded instead of dropping
3383           the non-base frames.
3384           The relevant part from the H264 spec is:
3385           > Decoders that conform to one or more of the profiles specified in
3386           Annex A rather than the profiles specified in Annexes G or H shall
3387           ignore (remove from the bitstream and discard) the contents of all NAL
3388           units with nal_unit_type equal to 14, 15, or 20.
3389           To eliminate side effects from the offending units:
3390           - PPS's with a broken seq_parameter_set_id (referring to dropped subset
3391           SPS's) are ignored.
3392           - The NAL parsing is skipped and their flags are set to
3393           GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
3394           - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
3395           use them even if they are flagged to be skipped. Subset SPS's and slice
3396           extension units are not stored there either.
3397           https://bugzilla.gnome.org/show_bug.cgi?id=732266
3398           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3399
3400 2017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
3401
3402         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3403           libs: decoder: h264: check nalu validity in parser info finalize
3404           https://bugzilla.gnome.org/show_bug.cgi?id=732266
3405           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3406
3407 2017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3408
3409         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3410         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3411         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3412         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3413         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3414           libs: encoder: remove unused cast macro
3415           Remove internal macro to cast structure that are already declared
3416           in the header.
3417
3418 2017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3419
3420         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3421         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3422         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
3423         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
3424         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
3425         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
3426           Revert "libs: encoders: remove unused cast macros"
3427           This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
3428
3429 2017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3430
3431         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3432         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3433         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
3434         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
3435         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
3436         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
3437           libs: encoders: remove unused cast macros
3438           They are only used inside the code, where another macro is defined.
3439           Thus these exported macros have no use.
3440
3441 2017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3442
3443         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3444           libs: decoder: h264: improve code-style
3445           https://bugzilla.gnome.org/show_bug.cgi?id=786173
3446
3447 2017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3448
3449         * gst-libs/gst/vaapi/gstvaapicompat.h:
3450         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3451           libs: encoder: h264: handle deprecated enum
3452           In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
3453           instead VAEncPackedHeaderRawData should be used.
3454           This patch creates a compatibility symbol,
3455           VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
3456           VA-API version.
3457           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3458
3459 2017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3460
3461         * gst-libs/gst/vaapi/gstvaapiprofile.c:
3462         * gst-libs/gst/vaapi/gstvaapiutils.c:
3463           libs: guard deprecated symbols
3464           In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
3465           guards the H.264 baseline usage. Consider this commit as a
3466           continuation of commit e0e0a474
3467           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3468
3469 2017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3470
3471         * configure.ac:
3472         * meson.build:
3473         * meson_options.txt:
3474           Revert "build: check for libva-2.0"
3475           This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
3476           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3477
3478 2017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3479
3480         * gst-libs/gst/vaapi/gstvaapicompat.h:
3481         * gst-libs/gst/vaapi/gstvaapicontext.c:
3482         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3483           libs: macro to get a renamed value in VA-API 1.0
3484           In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
3485           renamed one member from roi_value_is_qp_delat to
3486           roi_value_is_qp_delta, which is the correct name.
3487           In order to keep back compatibility a macro has added to access this
3488           union member.
3489           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3490
3491 2017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3492
3493         * gst/vaapi/gstvaapipluginbase.h:
3494         * gst/vaapi/gstvaapipluginutil.c:
3495           plugins: include main gstgl header
3496           Instead including particular gstgl header files in a header file
3497           that doesn't export a gstgl symbol, the main gstgl header file is
3498           included in gstvaapipluginutil.c where the symbols are used.
3499           https://bugzilla.gnome.org/show_bug.cgi?id=786597
3500
3501 2017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3502
3503         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3504           libs: encoder: h264: fix enum namespace
3505
3506 2017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
3507
3508         * common:
3509           Automatic update of common submodule
3510           From 48a5d85 to 3f4aa96
3511
3512 2017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3513
3514         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3515           libs: encoder: h264: remove spurious assignation
3516           Coverity scan bug:
3517           An assigned value that is never used may represent unnecessary
3518           computation, an incorrect algorithm, or possibly the need for cleanup
3519           or refactoring.
3520           ip_period is assigned first to be rewritter inmediatly after. The
3521           first assignation is spurious.
3522
3523 2017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
3524
3525         * gst/vaapi/gstvaapidecode.c:
3526           vaapidecode: fix mismatch of the return type
3527           https://bugzilla.gnome.org/show_bug.cgi?id=786307
3528
3529 2017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3530
3531         * gst-libs/gst/vaapi/Makefile.am:
3532         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
3533         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
3534         * gst-libs/gst/vaapi/gstvaapiutils.h:
3535         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
3536         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
3537         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
3538         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
3539         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
3540         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
3541         * gst-libs/gst/vaapi/meson.build:
3542           libs: remove unused header
3543           Since libgstvaapi is not distributed, there is no need to check for
3544           private header inclusion. Thus removing it.
3545           https://bugzilla.gnome.org/show_bug.cgi?id=786119
3546
3547 2017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3548
3549         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
3550         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
3551         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
3552         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
3553         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
3554         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
3555           libs: utils: move gstvaapisurface.h to private headers
3556           Since the utils don't expose API defined in gstvaapisource.h, it is
3557           moved to their private headers where they are used.
3558           https://bugzilla.gnome.org/show_bug.cgi?id=786119
3559
3560 2017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3561
3562         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
3563         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
3564         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
3565         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
3566         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
3567         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
3568           libs: utils: remove va.h include in header
3569           And include gstvaapicompat.h in the C files, since the VA-API is not
3570           exposed in the headers.
3571           https://bugzilla.gnome.org/show_bug.cgi?id=786119
3572
3573 2017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3574
3575         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3576         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3577         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3578         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3579         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3580         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3581           libs: encoder: remove va.h include
3582           Since it is already managed by gstvaapicompat.h
3583           https://bugzilla.gnome.org/show_bug.cgi?id=786119
3584
3585 2017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3586
3587         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
3588         * gst-libs/gst/vaapi/gstvaapicompat.h:
3589         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
3590         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
3591         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
3592         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3593         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3594         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3595         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3596         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3597         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3598         * gst-libs/gst/vaapi/gstvaapifilter.c:
3599         * gst-libs/gst/vaapi/gstvaapiutils.c:
3600         * meson.build:
3601           build: consolidate the VA sub API includes
3602           Include all VA sub APIs headers in a single point (gstvaapicompat.h),
3603           since they are all already included in va.h after VA-API 0.38.
3604           https://bugzilla.gnome.org/show_bug.cgi?id=786119
3605
3606 2017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3607
3608         * configure.ac:
3609         * meson.build:
3610           build: check for va_vpp.h
3611           Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
3612           allow us to handle the inclusion of the header better.
3613           https://bugzilla.gnome.org/show_bug.cgi?id=786119
3614
3615 2017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
3616
3617         * meson.build:
3618           meson: don't export symbols by default
3619           Only plugin entry points should be exported.
3620
3621 2017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3622
3623         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3624           libs: decoder: h265: remove spurious code
3625           Coverity scan:
3626           Logically dead code: The indicated dead code may have performed some
3627           action; that action will never occur.
3628           By using pointer arithmetic is impossible to get NULL.
3629
3630 2017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3631
3632         * gst-libs/gst/vaapi/gstvaapicontext.c:
3633           libs: context: use attribs index instead pointers
3634           Coverity scan bug:
3635           Out-of-bounds write. This could cause an immediate crash or incorrect
3636           computations.
3637           Coverity basically found that it is possible to assign more than 4
3638           attribs in the array.
3639           In my opinion this was produced because code pattern used pointer
3640           arithmetic, which is not readable nor maintainable.
3641           This patch refactors config_create() to use an array index rather than
3642           pointer arithmetic. Also a run-time check for index size was added.
3643
3644 2017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3645
3646         * gst/vaapi/gstvaapiencode_h264.c:
3647           vaapiencode: h264: remove spurious code
3648           Coverity scan bug:
3649           An unsigned value can never be negative, so this test will always
3650           evaluate the same way.
3651           As len is guint32, there is no need to check it if it is equal or
3652           bigger than zero.
3653
3654 2017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3655
3656         * gst/vaapi/gstvaapidecode.c:
3657           vaapidecode: initialize variable
3658           Coverity scan bug:
3659           The variable will contain an arbitrary value left from earlier
3660           computations.
3661           Variable base_only is fetched from base-only property, and it may be
3662           not assigned. It needs to be initialized.
3663
3664 2017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3665
3666         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3667           libs: windows: wayland: fail if cannot remove last frame
3668           Converity scan bug:
3669           If the function returns an error value, the error value may be
3670           mistaken for a normal value.
3671           If g_atomic_pointer_compare_and_exchange() fails because the frame is
3672           not the last one, the function fails. Thus, logging an info message.
3673
3674 2017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3675
3676         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
3677           libs: utils: glx: check return value
3678           Coverity scan bug:
3679           If the function returns an error value, the error value may be
3680           mistaken for a normal value.
3681           Function sscanf returns the number of assignations done. Validate this
3682           return value with the number of expected variables to match.
3683
3684 2017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3685
3686         * gst-libs/gst/vaapi/gstvaapiobject.c:
3687           libs: vaapi: object: remove unrequired NULL check
3688           Coverity scan bug:
3689           Dereference after null check: Either the check against null is
3690           unnecessary, or there may be a null pointer dereference.
3691           Variable klass has been validated as non-NULL several time before in
3692           gst_vaapi_object_new() function, so there is no need to check it
3693           again.
3694
3695 2017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3696
3697         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3698           libs: encoder: h265: remove spurious assignation
3699           Coverity scan bug:
3700           An assigned value that is never used may represent unnecessary
3701           computation, an incorrect algorithm, or possibly the need for cleanup
3702           or refactoring.
3703           ip_period is assigned first to be rewritter inmediatly after. The
3704           first assignation is spurious.
3705
3706 2017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3707
3708         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3709           libs: encoder: h264: fix copy & paste error
3710           Coverity scan bug:
3711           The copied code will not have its intended effect.
3712           This is a bug from commit cdaf15b2, where the intention is to
3713           initialize RefPicList1 while setting RefPicList0.
3714
3715 2017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3716
3717         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3718         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3719           libs: encoder: h265: fix possible integer overflow
3720           Coverity scan bug:
3721           Unintentional integer overflow. The expression's value may not be what
3722           the programmer intended, because the expression is evaluated using a
3723           narrow (i.e. few bits) integer type.
3724           Cast operator to guint64 before computation to avoid narrowing.
3725           merge with 3c5a6add
3726
3727 2017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3728
3729         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
3730           libs: decoder: mpeg4: fail if return value is not OK
3731           Coverity scan bug:
3732           An assigned value that is never used may represent unnecessary
3733           computation, an incorrect algorithm, or possibly the need for cleanup
3734           or refactoring.
3735           In the return value of decode_slice() or
3736           gst_mpeg4_parse_video_packet_header() are not success, thus fail
3737           decode_packet() function.
3738
3739 2017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3740
3741         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3742           libs: decoder: h265: check for null
3743           Coverity scan bug:
3744           Dereference after null check: Either the check against null is
3745           unnecessary, or there may be a null pointer dereference.
3746           While looking for hte lowest poc, according to rest of the code, the
3747           picture in the dbp (decoded picture buffer) might be NULL, thus we
3748           could check for a NULL picture before assigned as found.
3749           Also, split a comma operator because it is considered as a bad
3750           practice because it possible side effects.
3751
3752 2017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3753
3754         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3755           libs: decoder: h265: untaint loop control variable
3756           Coverity scan bug:
3757           Scalars (for example, integers) are not properly
3758           bounds-checked (sanitized) before being used as array or pointer
3759           indexes, loop boundaries, or function arguments are considered as
3760           tainted.
3761           In this case, num_nals were not checked before used as loop control.
3762
3763 2017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3764
3765         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3766           libs: decoder: h264: remove unrequired NULL check
3767           Coverity scan bug:
3768           Dereference after null check: Either the check against null is
3769           unnecessary, or there may be a null pointer dereference.
3770           In the original commit for fill_picture_gaps() (commit 5abd2b90) the
3771           prev_picture could be NULL, that's why the code did a null check. But,
3772           since commit 52adebe7, the previous reference frames are tracked, thus
3773           there is no need to check null anymore.
3774
3775 2017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
3776
3777         * gst/vaapi/gstvaapidecode.c:
3778           vaapidecode: fix gst_caps_new_simple call
3779           https://bugzilla.gnome.org/show_bug.cgi?id=732265
3780
3781 2017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
3782
3783         * gst/vaapi/gstvaapidecode.c:
3784           vaapidecode: force add h264 MVC profiles in caps
3785           When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
3786           support in caps.
3787           https://bugzilla.gnome.org/show_bug.cgi?id=732265
3788
3789 2017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
3790
3791         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3792           libs: decoder: h264: decode MVC base view only
3793           If processed SPS has mvc profile and the configuration is set to
3794           base-only, the frame is drop.
3795           https://bugzilla.gnome.org/show_bug.cgi?id=732265
3796
3797 2017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
3798
3799         * gst/vaapi/gstvaapidecode.c:
3800         * gst/vaapi/gstvaapidecode_props.c:
3801           vaapidecode: set h264 base-only to decoder
3802           Set the base-only value when property is set and the internal
3803           decoder is already instantiated or when the internal decoder
3804           is created.
3805           https://bugzilla.gnome.org/show_bug.cgi?id=732265
3806
3807 2017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
3808
3809         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3810         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
3811           libs: decoder: h264: add setter for base-only mode
3812           https://bugzilla.gnome.org/show_bug.cgi?id=732265
3813
3814 2017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
3815
3816         * gst/vaapi/gstvaapidecode_props.c:
3817         * gst/vaapi/gstvaapidecode_props.h:
3818           vaapidecode_props: h264: add base-only property
3819           https://bugzilla.gnome.org/show_bug.cgi?id=732265
3820
3821 2017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3822
3823         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3824           libs: encoder: h264: missing property enum documentation
3825
3826 2017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
3827
3828         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3829           libs: encoder: h264: add multi reference support
3830           Using num_ref_frames provided and the result of the Query
3831           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
3832           and perform encoding with multi reference frames as the following:
3833           1\ The num_ref_frames is being considered as the number of
3834           reference picture list0
3835           2\ Encoder adds 1 reference frame more to the reference picture list1
3836           internally if b-frame encoding.
3837           3\ If num_ref_frames is bigger than the number of refrence frames
3838           supported in the driver, it will be lowered.
3839           https://bugzilla.gnome.org/show_bug.cgi?id=783803
3840
3841 2017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
3842
3843         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3844         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3845           libs: encoder: h264: add refs property
3846           Users can provide the number of reference frame by this property.
3847           The value of the property will be considered as the number of
3848           reference picture list0 and will add 1 reference frame more to the
3849           reference picture list1 internally if b-frame encoding.
3850           If the value provided is bigger than the number of refrence frames
3851           supported in the driver, it will be lowered.
3852           https://bugzilla.gnome.org/show_bug.cgi?id=783803
3853
3854 2017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
3855
3856         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3857         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3858           libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
3859           This function will query VAConfigAttribEncMaxRefFrames to get the
3860           maximum number of reference frames supported in the driver.
3861           This will be used for h264/h265 encoding.
3862           https://bugzilla.gnome.org/show_bug.cgi?id=783803
3863
3864 2017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3865
3866         * gst/vaapi/gstvaapiencode_h265.c:
3867           vaapiencode: h265: compare an unsigned int if not zero
3868           An unsigned value can never be negative, so this test (greater than
3869           zero) will always evaluate the same way. Thus change it to just if
3870           it's not zero.
3871
3872 2017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3873
3874         * gst/vaapi/gstvaapipluginbase.c:
3875           plugins: check gst_gl_ensure_element_data() return value
3876           Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
3877           the return value of gst_gl_ensure_element_data(). The result is a code
3878           bit cleaner.
3879
3880 2017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3881
3882         * gst/vaapi/gstvaapipluginutil.c:
3883           plugins: avoid dead code detection
3884           By using #elif macro, the static code analysis would stop to detect
3885           these lines as dead code. Also it is inforced the mutually exclusive
3886           environments.
3887
3888 2017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3889
3890         * gst/vaapi/gstvaapivideobufferpool.c:
3891           vaapivideobufferpool: don't shift by negative since it's undefined
3892           The function g_bit_nth_lsf() may return -1 if the request bit position
3893           is not avaible. Thus, this patch check if the return value is not -1
3894           in order to continue.
3895
3896 2017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3897
3898         * gst/vaapi/gstvaapisink.c:
3899           vaapisink: fix memory leak
3900
3901 2017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3902
3903         * gst/vaapi/gstvaapipostprocutil.c:
3904           vaapipostproc: fix memory leaks
3905
3906 2017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
3907
3908         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3909           libs: display: when appending formats change pointers to indexes
3910           Thus, it fixes an invalid read when YV12 or I420 are not supported by
3911           the driver.
3912           https://bugzilla.gnome.org/show_bug.cgi?id=785085
3913
3914 2017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3915
3916         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3917         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3918           libs: encoder: h264: Add uncompliant mode reducing coded buffer size
3919           Added a new property "compliance-mode", which default is the normal
3920           strict compliant mode.
3921           The second mode, "restrict-buf-alloc", is to limit the coded buffer
3922           allocation size to improve performance in some specific Intel
3923           platforms (there is asignificant performance improvement in parallel
3924           encodings). Under this new mode, we use the MinCR field in A.3.1 for
3925           pre-calculating the coded-buffer size.
3926           https://bugzilla.gnome.org/show_bug.cgi?id=784590
3927
3928 2017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3929
3930         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
3931         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
3932           libs: utils_h264: Extend LevelLimit table with MinCR field
3933           Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
3934           based on Annex A.3
3935           https://bugzilla.gnome.org/show_bug.cgi?id=784590
3936
3937 2017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3938
3939         * gst-libs/gst/vaapi/gstvaapiutils.c:
3940           libs: utils: libva 1.0 changed the logging
3941           The logging mechanism in libva has changed it's functions
3942           signatures. This patch updates that for libva versions >= 1.0
3943           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3944
3945 2017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3946
3947         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3948           libs: decoder: h264: libva 1.0 deprecated baseline
3949           libva 1.0 deprecated H.264 baseline profile and FMO support
3950           (commit b4f332b3).
3951           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3952
3953 2017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3954
3955         * configure.ac:
3956         * meson.build:
3957         * meson_options.txt:
3958           build: check for libva-2.0
3959           Check for libva-2.0 since libva's developers decided to increase the
3960           library's version number.
3961           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3962
3963 2017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3964
3965         * configure.ac:
3966         * meson.build:
3967           build: blacklist only libva 0.99.0
3968           Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
3969           its API version to 1.0.0. Thus we have to blacklist only the MSDK's
3970           libva (0.99.0)
3971           https://bugzilla.gnome.org/show_bug.cgi?id=784398
3972
3973 2017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3974
3975         * gst-libs/gst/vaapi/meson.build:
3976           build: meson: remove gstvaapidisplaycache.c
3977           This is a missing bit of commit ec3e10f6
3978
3979 2017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3980
3981         * configure.ac:
3982           configure: do not break configure if gtk+-3.0 devel missing
3983           Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
3984           set USE_GTK=0 if gtk+-3.0 is not available.
3985           Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
3986           Author: Hyunjun Ko <zzoon@igalia.com>
3987           Date:   Wed Jul 5 15:59:43 2017 +0900
3988           tests: elements: add testsuite of vaapi context
3989           ...configure fails if gtk+-3.0 development files are missing.
3990           The "with_gtk" option defaults to "check" in configure.ac
3991           which implies that if it is not explicitly requested then
3992           configure will only enable it if it's available on the system.
3993           However, the PKG_CHECK_MODULES rule that get's activated on
3994           "check" condition did not provide default when gtk+-3.0 devel
3995           packages are not found on the system.  Thus, it resulted in
3996           configure failure.
3997           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
3998           https://bugzilla.gnome.org/show_bug.cgi?id=785452
3999
4000 2017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
4001
4002         * configure.ac:
4003         * tests/elements/Makefile.am:
4004         * tests/elements/test-vaapicontext.c:
4005           tests: elements: add testsuite of vaapi context
4006           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4007           https://bugzilla.gnome.org/show_bug.cgi?id=766704
4008
4009 2017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
4010
4011         * gst/vaapi/gstvaapisink.c:
4012           vaapisink: fail if surface display is different
4013           Replacing GstVaapiDisplay during rendering might be hiding problems
4014           at some cases, even though it's safe currently since we use cache
4015           of GstVaapidisplay.
4016           Play safe by failing if this happens.
4017           https://bugzilla.gnome.org/show_bug.cgi?id=766704
4018
4019 2017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
4020
4021         * gst/vaapi/gstvaapivideocontext.c:
4022         * gst/vaapi/gstvaapivideocontext.h:
4023           videocontext: support "gst.vaapi.app.Display" context
4024           Through "gst.vaapi.app.Display" context, users can set their own VADisplay
4025           and native display of their backend.
4026           Attributes:
4027           - display : pointer of VADisplay
4028           - x11-display : pointer of X11 display (Display *), if they're using.
4029           This patch creates GstVaapidisplayX11 if information provided through
4030           "gst.vaapi.app.Display"
4031           https://bugzilla.gnome.org/show_bug.cgi?id=766704
4032
4033 2017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
4034
4035         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
4036         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
4037           libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
4038           Implements new API function so that users could create GstVaapiDisplay
4039           with their own VADisplay within a native display as backend.
4040           https://bugzilla.gnome.org/show_bug.cgi?id=766704
4041
4042 2017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
4043
4044         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4045           libs: display: pass display info when foreign display
4046           When creating a GstVaapiDisplay using a foreign VADisplay, and render
4047           with that display, it also requires native display of the backend.
4048           https://bugzilla.gnome.org/show_bug.cgi?id=766704
4049
4050 2017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4051
4052         * gst-libs/gst/vaapi/Makefile.am:
4053         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4054         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4055         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
4056         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
4057         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
4058         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
4059         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
4060           libs: display: remove cache
4061           Remove a bunch of code that handles the VADisplay cache, since the
4062           context sharing should be doing this correctly.
4063           https://bugzilla.gnome.org/show_bug.cgi?id=747946
4064
4065 2017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
4066
4067         * tests/elements/Makefile.am:
4068         * tests/elements/test-vaapipostproc.c:
4069           tests: elements: add test for vaapipostproc
4070           https://bugzilla.gnome.org/show_bug.cgi?id=754885
4071
4072 2017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
4073
4074         * gst/vaapi/gstvaapipostproc.c:
4075           postproc: reconfigure when width or height changes
4076           https://bugzilla.gnome.org/show_bug.cgi?id=754885
4077
4078 2017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4079
4080         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4081           libs: encoder: vp9: array terminated in zeros
4082           There is a crash when setting ref-pic-mode since the #GEnumValue
4083           array is not terminated with a structured with all memvers being
4084           zero.
4085           https://bugzilla.gnome.org/show_bug.cgi?id=785032
4086
4087 2017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4088
4089         * gst/vaapi/gstvaapiencode_h264.c:
4090           vaapiencode: h264: add plugin documentation
4091           Comment how the profile is set and other parameters.
4092
4093 2017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
4094
4095         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4096           libs: decoder: h264: push frames as soon as possible
4097           Push frames downstream as soon as possible instead of waiting until
4098           they are ejected from the DPB.
4099           This patch makes the decoder not comply with the H.264 specification,
4100           but it is required for some video cameras.
4101           https://bugzilla.gnome.org/show_bug.cgi?id=762509
4102           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4103
4104 2017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4105
4106         * gst/vaapi/gstvaapidecode_props.c:
4107           vaapidecode_props: h264: set low-latency in decoder
4108           Set the low-latency property if the H264 decoder is already
4109           instantiated, thus you could change the behavior in run-time.
4110           https://bugzilla.gnome.org/show_bug.cgi?id=783588
4111
4112 2017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4113
4114         * gst/vaapi/gstvaapidecode.c:
4115           vaapidecode: set h264 low latency to decoder
4116           https://bugzilla.gnome.org/show_bug.cgi?id=783588
4117
4118 2017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4119
4120         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4121         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
4122           libs: decoder: h264: add getter/setter for low latency mode
4123           https://bugzilla.gnome.org/show_bug.cgi?id=783588
4124
4125 2017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4126
4127         * gst/vaapi/gstvaapidecode_props.c:
4128         * gst/vaapi/gstvaapidecode_props.h:
4129           vaapidecode_props: h264: add low latency property
4130           Adding support for private data.
4131           https://bugzilla.gnome.org/show_bug.cgi?id=783588
4132
4133 2017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4134
4135         * gst/vaapi/Makefile.am:
4136         * gst/vaapi/gstvaapidecode.c:
4137         * gst/vaapi/gstvaapidecode_props.c:
4138         * gst/vaapi/gstvaapidecode_props.h:
4139         * gst/vaapi/meson.build:
4140           vaapidecode_props: add skeleton for h264 decoder properties
4141           https://bugzilla.gnome.org/show_bug.cgi?id=783588
4142
4143 2017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4144
4145         * gst/vaapi/gstvaapidecode.c:
4146           vaapidecode: properties callback in decoders map
4147           https://bugzilla.gnome.org/show_bug.cgi?id=783588
4148
4149 2017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
4150
4151         * meson.build:
4152           meson: find python3 via python3 module
4153           https://bugzilla.gnome.org/show_bug.cgi?id=783198
4154
4155 2017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
4156
4157         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4158           libs: encoder: h264: submit sps in case of IDR picture
4159           If the picture is IDR, also submit a SPS header.
4160           This means when frame number reaches to keyframe-period or an force
4161           key unit event arrives, we insert SPS/PPS again.
4162           https://bugzilla.gnome.org/show_bug.cgi?id=776712
4163
4164 2017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
4165
4166         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4167           libs: encoder: h264: set the frame as IDR if forced key unit
4168           GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
4169           the `frame-lost` event in the case of streaming, such as RTP.
4170           In case of this event, it is needed to start new GOP rather than just
4171           produce an I-frame.
4172           https://bugzilla.gnome.org/show_bug.cgi?id=776712
4173
4174 2017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4175
4176         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4177         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
4178           libs: encoder: h264: insert AU delimiter
4179           Insert an AUD as the first NAL of each encoded frame.
4180           Some applications require Access Unit Delimiter for decoding the
4181           stream.
4182           The AU delimeter insertion is done only when the aud parameter is
4183           TRUE (by default is disabled). The reason of this it is because this
4184           header is only available from Intel Gen9 and the VA intel driver
4185           should be 1.8 or superior. Otherwise, the output will be corrupted.
4186           https://bugzilla.gnome.org/show_bug.cgi?id=776712
4187           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
4188
4189 2017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
4190
4191         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4192           libs: encoder: h264: initialize all elements of view_ids
4193           Currently when num_views is changed by multiview-mode on sink caps, it produces
4194           wrong MVC encoded stream since the array view_ids is not set properly according
4195           to changed num_views.
4196           So this patch initializes all of the array sequentially to handle this case.
4197           Side effect is not going to happen by this patch since this array is being
4198           handled by num_views.
4199           https://bugzilla.gnome.org/show_bug.cgi?id=784321
4200
4201 2017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
4202
4203         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4204           Revert "encoder: h264: Use high profile by default"
4205           This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
4206           https://bugzilla.gnome.org/show_bug.cgi?id=757941
4207
4208 2017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
4209
4210         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4211           libs: encoder: h264: set profile via capsfilter
4212           Until now, the encoder ignored the profile in src caps and chose one
4213           according with the given parameters. But the encoder must honor the
4214           profile specifed in src caps.
4215           This patch do that, and if the encoder needs to choose the profile,
4216           it will do it by following these rules:
4217           1\ If given parameters are not compatible with given profile, the
4218           encoder will bail out with an error.
4219           2\ The encoder will choose the higher profile indicated in the
4220           src caps.
4221           https://bugzilla.gnome.org/show_bug.cgi?id=757941
4222
4223 2017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
4224
4225         * gst/vaapi/gstvaapiencode_h264.c:
4226           vaapiencode: h264: set profile to src caps
4227           So far vaapi encoder does not set profile to src caps. This patch makes it
4228           setting profile to src caps, which is determined by itself.
4229           In addition, if encoder chose different profile, which is not negotiated with
4230           downstream, we should set compatible profile to make negotiation working.
4231           https://bugzilla.gnome.org/show_bug.cgi?id=757941
4232
4233 2017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4234
4235         * gst/vaapi/gstvaapiencode_h264.c:
4236         * gst/vaapi/gstvaapiencode_h264.h:
4237           vaapiencode: h264: verify if requested profile is supported
4238           Check if the requested profile in source caps, is supported by the
4239           VA driver. If it is not, an info log message is send saying that
4240           another (compatible?) profile will be used.
4241           https://bugzilla.gnome.org/show_bug.cgi?id=757941
4242
4243 2017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4244
4245         * gst/vaapi/gstvaapiencode_h264.c:
4246           vaapiencode: h264: improve set_config() vmethod
4247           First check if downstream requests ANY caps. If so, byte-stream is
4248           used and the profile will be choose by the encoder. If dowstream
4249           requests EMPTY caps, the negotiation will fail.
4250           Lately, byte-stream and profile are looked in the allowed caps.
4251           https://bugzilla.gnome.org/show_bug.cgi?id=757941
4252
4253 2017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4254
4255         * gst/vaapi/gstvaapiencode_h264.c:
4256           vaapiencode: h264: check for avc in set_config()
4257           The check for avc stream format was done in the vaapi encoder's
4258           vmethod get_caps(), but that is wrong since it has to be check
4259           when encoder set_format().
4260           https://bugzilla.gnome.org/show_bug.cgi?id=757941
4261
4262 2017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
4263
4264         * gst/vaapi/gstvaapipostprocutil.c:
4265           vaapipostproc: set multivew-mode flags to src caps
4266           vaapipostproc didn't negotiate the proper multiview caps losing
4267           downstream information.
4268           This patch enables the playing of MVC encoded stream by setting
4269           the proper multiview mode/flags and views to src caps, according
4270           to sink caps.
4271           https://bugzilla.gnome.org/show_bug.cgi?id=784320
4272
4273 2016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
4274
4275         * gst/vaapi/gstvaapipostproc.c:
4276           vaapipostproc: add support for DMABuf caps feature
4277           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4278           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
4279
4280 2017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4281
4282         * gst/vaapi/gstvaapidecode.c:
4283           vaapidecode: add support for DMABuf caps feature
4284           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4285           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
4286
4287 2017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4288
4289         * gst/vaapi/gstvaapipluginbase.c:
4290           vaapipluginbase: force dmabuf allocator if DMABuf caps feature
4291           Instantiate all dmabuf allocator for src pad buffer pool if the
4292           src caps ask for memory:DMABuf feature.
4293           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4294
4295 2016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
4296
4297         * gst/vaapi/gstvaapipluginutil.c:
4298         * gst/vaapi/gstvaapipluginutil.h:
4299           vaapipluginutil: add support for DMABuf caps feature
4300           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4301           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
4302           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
4303           vaapipluginutil: add support for DMABuf caps feature
4304
4305 2017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4306
4307         * gst/vaapi/gstvaapipluginbase.c:
4308           vaapipluginbase: dmabuf memory map trial for raw caps
4309           Only push dmabuf-based buffers with raw caps if gst_memory_map()
4310           succeeds. Otherwise, use the the vaapi surfaces allocator.
4311           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4312           https://bugzilla.gnome.org/show_bug.cgi?id=774649
4313           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
4314
4315 2016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4316
4317         * gst/vaapi/gstvaapivideomemory.c:
4318         * gst/vaapi/gstvaapivideomemory.h:
4319           vaapivideomemory: add gst_vaapi_dmabuf_can_map()
4320           This new method checks the specified allocator can create GstMemory that can
4321           be mapped.
4322           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4323
4324 2017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4325
4326         * gst/vaapi/gstvaapivideobufferpool.c:
4327           vaapivideobufferpool: fix regression with video metas
4328           There is another regression with 7a206923 when setting the video
4329           info for the video meta, it should be the one from the image's
4330           allocator rather from the allocation caps.
4331           Test pipeline:
4332           gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
4333           ! tee ! videoconvert ! videoscale                     \
4334           ! video/x-raw, width=1920, height=1080 ! xvimagesink
4335
4336 2017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4337
4338         * gst/vaapi/gstvaapipluginbase.c:
4339         * gst/vaapi/gstvaapivideobufferpool.c:
4340           plugins: update buffer size with the one reported by allocator
4341           There is a regression in 7a206923, since the buffer pool ditches all
4342           the buffers generated by them because the pool config size is
4343           different of the buffer's size.
4344           Test pipeline:
4345           gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
4346           ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
4347           --gst-debug=GST_PERFORMANCE:5
4348           The allocator may update the buffer size according to the VA surface
4349           properties. In order to do this, the video info is modified when the
4350           allocator is created, which reports through the allocation info the
4351           updated size, and set it to the pool config.
4352
4353 2017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
4354
4355         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4356           libs: decoder: h264: initialize active_sps/pps in reset
4357           Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
4358           they introduced regression in seek.
4359           Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
4360           But since the commits landed, it doesn't drop P-frame and does try to
4361           decode it continuously because active_sps is still alive. See ensure_sps function.
4362           But there are prev_frames and prev_ref_frames reset already, then it
4363           causes assertion.
4364           So it's necessary to reset active_sps/pps also in reset method.
4365           https://bugzilla.gnome.org/show_bug.cgi?id=783726
4366
4367 2017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4368
4369         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4370         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4371           libs: encoder: fix compilation with old versions of libva
4372           There are some symbols that are not used when compiling with old
4373           version of libva and those generates a compilation error.
4374           Original-patch-by: Matt Staples <staples255@gmail.com>
4375
4376 2017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4377
4378         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4379           libs: encoder: Fix the quality level clamping
4380           Change the hard-coded range of quality-level from {1-8} to {1-7},
4381           since it is the range Intel Open source driver supports.
4382           Also perform the range clamping only if the user provided
4383           quality-level is greater than the max-range suppored by the driver,
4384           because there could be non-intel drivers giving lower value than
4385           the hard-coded max value 7.
4386           https://bugzilla.gnome.org/show_bug.cgi?id=783567
4387
4388 2017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4389
4390         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4391         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4392         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4393         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4394         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4395         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4396           libs: encoder: log out the name of the profile
4397           Instead of printing a number, it is more readable to log out, in
4398           case of error, the name of the failing profile.
4399
4400 2017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
4401
4402         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4403           libs: encoder: h264: changes raw number of profile to macro name of its
4404           Changes raw number of profile to macro name of its to improve readability.
4405           https://bugzilla.gnome.org/show_bug.cgi?id=757941
4406
4407 2017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4408
4409         * gst/vaapi/gstvaapivideobufferpool.c:
4410           vaapivideobufferpool: remove allocation_vinfo private attribute
4411           There is no need to keep this attribute internally since it is
4412           already managed by the allocator.
4413           https://bugzilla.gnome.org/show_bug.cgi?id=783599
4414
4415 2017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4416
4417         * gst/vaapi/gstvaapivideobufferpool.c:
4418           vaapivideobufferpool: refactor set_config()
4419           Refactor the set_config() virtual method considering a cleaner
4420           approach to allocator instanciation, if it it not set or if it is
4421           not valid for the pool.
4422           https://bugzilla.gnome.org/show_bug.cgi?id=783599
4423
4424 2017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4425
4426         * gst/vaapi/gstvaapipluginbase.c:
4427         * gst/vaapi/gstvaapivideobufferpool.c:
4428         * gst/vaapi/gstvaapivideomemory.c:
4429         * gst/vaapi/gstvaapivideomemory.h:
4430           plugins: distinguish allocation and negotiation caps
4431           The vaapi video decoders might have different allocation caps from
4432           the negotiation caps, thus the GstVideoMeta shall use the negotiation
4433           caps, not the allocation caps.
4434           This was done before reusing gst_allocator_get_vaapi_video_info(),
4435           storing there the negotiation caps if they differ from the allocation
4436           ones, but this strategy felt short when the allocator had to be reset
4437           in the vaapi buffer pool, since we need both.
4438           This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
4439           gst_allocator_get_vaapi_negotiated_video_info() to store the
4440           negotiated video info in the allocator, and distinguish it from
4441           the allocation video info.
4442           https://bugzilla.gnome.org/show_bug.cgi?id=783599
4443
4444 2017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4445
4446         * gst/vaapi/gstvaapivideomemory.c:
4447         * gst/vaapi/gstvaapivideomemory.h:
4448           vaapivideomemory: rename qdata quarks and ids
4449           Also the parameter names were renamed to reflect their origin
4450           and purpose.
4451           https://bugzilla.gnome.org/show_bug.cgi?id=783599
4452
4453 2017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4454
4455         * gst/vaapi/gstvaapivideobufferpool.c:
4456           vaapivideobufferpool: rename local variables
4457           Renamed local video info structure names in set_config() vitual
4458           method. The purpose of their renaming is to clarify the origin
4459           of those structures, whether come from passed caps parameter
4460           (new_allocation_vinfo) or from the configured allocator
4461           (allocator_vinfo).
4462           https://bugzilla.gnome.org/show_bug.cgi?id=783599
4463
4464 2017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4465
4466         * gst/vaapi/gstvaapivideobufferpool.c:
4467           vaapivideobufferpool: rename video info structures
4468           Renamed private GstVideoInfo structure video_info to allocation_vinfo
4469           and alloc_info to negotiated_vinfo.
4470           The purpose of these renaming is to clarify the origin and purpose of
4471           these private variables:
4472           video_info (now allocation_vinfo) comes from the bufferpool
4473           configuration. It describes the physical video resolution to be
4474           allocated by the allocator, which may be different from the
4475           negotiated one.
4476           alloc_info (now vmeta_vinfo) comes from the negotiated caps in
4477           the pipeline. It represents how the frame is going to be mapped
4478           using the video meta.
4479           In Intel's VA-API backend, the allocation_vinfo resolution is
4480           bigger than the negotiated_info.
4481           https://bugzilla.gnome.org/show_bug.cgi?id=783599
4482
4483 2017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4484
4485         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4486           libs: encoder: set framerate if bigger than 0/1
4487           Just set the framerate parameter if the framerate numerator and
4488           denominator are bigger than zero.
4489           Otherwise, in Intel Gen6 driver, a warning is raised disabling the
4490           bitrate control.
4491           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
4492           https://bugzilla.gnome.org/show_bug.cgi?id=783532
4493
4494 2017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4495
4496         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4497           libs: encoder: bitrate target percentage calculation
4498           If the rate control is set to Constant Bit Rate (CBR) the target
4499           percentage is 100%, otherwise is 70%
4500
4501 2017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4502
4503         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4504         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4505         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4506         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4507         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4508         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4509           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
4510           Centralize the common configuration for the Rate Control parameter,
4511           thus can be overloaded per each specific encoder.
4512
4513 2017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4514
4515         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4516         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4517         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4518         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4519         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4520         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4521           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
4522           Since the framerate VA parameter is calculated equally among all the
4523           encoders, it is better to handle it in the base encoder class.
4524
4525 2016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4526
4527         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4528         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
4529           libs: encoder: vp9: Adds CBR and VBR Encoding support
4530           https://bugzilla.gnome.org/show_bug.cgi?id=766832
4531           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
4532           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4533
4534 2017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
4535
4536         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4537           libs: encoder: vp8: Adds VBR Encoding support
4538           https://bugzilla.gnome.org/show_bug.cgi?id=778732
4539
4540 2017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
4541
4542         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4543           libs: encoder: h265: Adds VBR Encoding support
4544           Enables Variable BitRate mode, which does set FrameRate and RateControl
4545           parameters.
4546           https://bugzilla.gnome.org/show_bug.cgi?id=778732
4547
4548 2017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
4549
4550         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4551           libs: encoder: Describes more detail about the bitrate property
4552           https://bugzilla.gnome.org/show_bug.cgi?id=778732
4553
4554 2017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4555
4556         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4557           libs: encoder: h265: add rate control parameter
4558           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4559
4560 2017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4561
4562         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4563         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4564         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4565           libs: encoder: h264,h265,mpeg2: add framerate parameter
4566           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4567
4568 2017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4569
4570         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4571         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4572         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4573         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4574           libs: encoder: vp8,h264,h265,mpeg2: set misc param once
4575           Instead of recalculating the miscellaneous buffer parameters for
4576           every buffer, it is only done once, when the encoder is configured.
4577           And for every buffer, the same structures are just copied.
4578           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4579
4580 2017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4581
4582         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4583         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4584         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4585         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4586         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4587         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4588           libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
4589           This is patch pretends to decouple the assignation of the values
4590           in the parameter structures and the VA buffer's parameters setting.
4591           It may lead to some issues since HRD, framerate or controlrate may
4592           not be handled by the specific encoder, but they are set in
4593           the VA buffer's parameters.
4594           I leave as it because this patch is just a transitional patch.
4595           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4596
4597 2017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4598
4599         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4600           libs: encoder: vp8: fix frame rate calculation
4601           According to the VA documentation:
4602           The framerate is specified as a number of frames per second,
4603           as a fraction.  The denominator of the fraction is given in
4604           the top half (the high two bytes) of the framerate field, and
4605           the numerator is given in the bottom half (the low two bytes).
4606           For example, if framerate is set to (100 << 16 | 750), this is
4607           750 / 100, hence 7.5fps.
4608           If the denominator is zero (the high two bytes are both zero)
4609           then it takes the value one instead, so the framerate is just
4610           the integer in the low 2 bytes.
4611           This patch fixes the the framerate calculation in vp8 encoder
4612           according to this.
4613           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4614
4615 2017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4616
4617         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4618           libs: encoder: vp8: refactor FrameRate parameter
4619           Move frame-rate parameter from ensure_misc_params() to
4620           ensure_contro_rate_param() since it only has meaning when the
4621           control rate is either VBR or CBR.
4622           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4623
4624 2017-06-02 19:33:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4625
4626         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4627         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4628         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4629         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4630           libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
4631           Move the Hypothetical Reference Decoder (HRD) parameter, from
4632           ensure_misc_params() to ensure_control_rate_params(), since it
4633           only shall be defined when the control rate is either VBR or CBR.
4634           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4635
4636 2017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4637
4638         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4639         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4640         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4641           libs: encoder: h264,vp8,mpeg2: refactor control rate
4642           Instead of filling the control rate param in ensure_misc_params(),
4643           this patch refactor it out, as a first step to merge the same code
4644           for all the encoders.
4645           https://bugzilla.gnome.org/show_bug.cgi?id=783449
4646
4647 2017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4648
4649         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4650         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4651         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4652           libs: encoder: h264, h265, mpeg2: remove assert
4653           Remove spurious asserts for misc parameters. If they cannot be
4654           allocated, FALSE is already returned.
4655
4656 2017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4657
4658         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4659         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4660           libs: encoder: use VA quality level structure
4661           Instead of using a proxy to story the buffer quality level, the
4662           encoder now uses the native VA structure, which is copied to the
4663           dynamically allocated VAEncMiscParameterBuffer.
4664           This approach is computationally less expensive.
4665
4666 2017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4667
4668         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4669         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
4670         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4671         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4672           libs: standardize the FIXME comment
4673           This is a trivial patch that makes homogeneous the FIXME tag in
4674           comments.
4675           For more info about these comment style:
4676           http://wiki.c2.com/?FixmeComment
4677
4678 2017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
4679
4680         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4681           libs: encoder: vp8: set quality level regardless of rate control mode
4682           https://bugzilla.gnome.org/show_bug.cgi?id=782957
4683
4684 2017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4685
4686         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4687         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4688         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4689         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4690           libs: encoder: check for maximum number of slices
4691           Right now, H264 and HEVC can set as a property the number of slices to
4692           process. But each driver can set a maximum number of slices, depending
4693           on the supported profile & entry point.
4694           This patch verifies the current num_slices to process against the maximum
4695           permitted by the driver and the media size.
4696           https://bugzilla.gnome.org/show_bug.cgi?id=780955
4697
4698 2017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4699
4700         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
4701           libs: utils: mark functions as internals
4702           The functions in this header are internal to the library.
4703
4704 2017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4705
4706         * gst-libs/gst/vaapi/gstvaapicontext.h:
4707           libs: context: add missing documentation
4708           Document the region-of-interest configuration variables.
4709
4710 2017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4711
4712         * tests/elements/test-vaapisink.c:
4713           tests: elements: vaapisink: handle nav events
4714           The test app can now handle navigation events to rotate the
4715           display.
4716
4717 2017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4718
4719         * tests/elements/test-vaapisink.c:
4720           tests: elements: clean up vaapisink test
4721           - Use gst_element_send_event() instead of gst_pad_push_event()
4722           - don't zero App structure
4723           - check for pipeline parsing error
4724           - only get vaapisink for property set
4725
4726 2017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
4727
4728         * gst/vaapi/gstvaapisink.c:
4729           vaapisink: keep handle_events flag except that if user want to set
4730           When state of vaapisink is changed from PLAYING to NULL, the handle_events
4731           flag is set to FALSE, and never recovered, and then event thread is never
4732           going to run.
4733           So we should allow to set the flag only when users try it.
4734           https://bugzilla.gnome.org/show_bug.cgi?id=782543
4735
4736 2017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
4737
4738         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4739           libs: window: x11: fix src rect info when using vpp
4740           Since we started using VPP in VaapiWindowX11, we need to care about
4741           the case that src rect and window's size are different.
4742           So, once VPP has converted to other format, we should honor the
4743           size of the VPP's surface as source rect. Otherwise, it is cropped
4744           according the previous size of the source rect.
4745           https://bugzilla.gnome.org/show_bug.cgi?id=782542
4746
4747 2017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4748
4749         * gst/vaapi/gstvaapipluginutil.c:
4750           plugins: remove par from caps negotiation
4751           https://bugzilla.gnome.org/show_bug.cgi?id=781759
4752
4753 2017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
4754
4755         * tests/elements/Makefile.am:
4756         * tests/elements/test-roi.c:
4757           tests: elements: add an example for ROI
4758           This implements a pipleint to recognize difference between ROI and non-ROI.
4759           See comments in this code in detail.
4760           https://bugzilla.gnome.org/show_bug.cgi?id=768248
4761           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4762
4763 2017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
4764
4765         * gst/vaapi/gstvaapiencode.c:
4766         * gst/vaapi/gstvaapiencode_h264.c:
4767           vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
4768           Handles new custom event GstVaapiEncoderRegionOfInterest
4769           to enable/disable a ROI region.
4770           Writes a way to use new event to document.
4771           https://bugzilla.gnome.org/show_bug.cgi?id=768248
4772           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4773
4774 2017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
4775
4776         * tests/simple-encoder.c:
4777           tests: simple-encoder: add an option to set ROI
4778           $ simple-encoder -r inputfile.y4m
4779           And you'll got an output file in H264 with two regions of interest.
4780           https://bugzilla.gnome.org/show_bug.cgi?id=768248
4781           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4782
4783 2017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
4784
4785         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4786           libs: encoder: h264: set ROI params during encoding
4787           Set ROI params during encoding each frame, which are set via
4788           gst_vaapi_encoder_add_roi ()
4789           https://bugzilla.gnome.org/show_bug.cgi?id=768248
4790           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4791
4792 2017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
4793
4794         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4795         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4796         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4797           libs: encoder: add api gst_vaapi_encoder_add/del_roi
4798           Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
4799           https://bugzilla.gnome.org/show_bug.cgi?id=768248
4800
4801 2017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
4802
4803         * gst-libs/gst/vaapi/gstvaapicontext.c:
4804         * gst-libs/gst/vaapi/gstvaapicontext.h:
4805         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4806           libs: encoder/context: query region of interest support
4807           Queries if the driver supports "Region of Interest" (ROI) during the config
4808           creation.
4809           This attribute conveys whether the driver supports region-of-interest (ROI)
4810           encoding, based on user provided ROI rectangles.  The attribute value is
4811           partitioned into fields as defined in the VAConfigAttribValEncROI union.
4812           If ROI encoding is supported, the ROI information is passed to the driver
4813           using VAEncMiscParameterTypeROI.
4814           https://bugzilla.gnome.org/show_bug.cgi?id=768248
4815           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4816
4817 2017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4818
4819         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
4820           libs: encoder: fix a comment
4821
4822 2017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4823
4824         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4825           libs: encoder: guard quality level configuration
4826           The quality level appeared in VA-API 0.36. So let's guard its
4827           usage.
4828
4829 2017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
4830
4831         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4832         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4833         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4834         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4835         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4836         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
4837         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4838         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4839         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4840           encoders: add quality level tuning
4841           This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
4842           in gstreamer-vaapi encoders:
4843           The encoding quality could be set through this structure, if the
4844           implementation supports multiple quality levels. The quality level set
4845           through this structure is persistent over the entire coded sequence, or
4846           until a new structure is being sent. The quality level range can be queried
4847           through the VAConfigAttribEncQualityRange attribute. A lower value means
4848           higher quality, and a value of 1 represents the highest quality. The quality
4849           level setting is used as a trade-off between quality and speed/power
4850           consumption, with higher quality corresponds to lower speed and higher power
4851           consumption.
4852           The quality level is set by the element's parameter "quality-level" with a
4853           hard-coded range of 1 to 8.
4854           Later, when the encoder is configured in run time, just before start
4855           processing, the quality level is scaled to the codec range. If
4856           VAConfigAttribEncQualityRange is not available in the used VA backend, then
4857           the quality level is set to zero, which means "disabled".
4858           All the available codecs now process this parameter if it is available.
4859           https://bugzilla.gnome.org/show_bug.cgi?id=778733
4860           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4861
4862 2017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
4863
4864         * configure.ac:
4865         * meson.build:
4866           Back to development
4867
4868 === release 1.12.0 ===
4869
4870 2017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
4871
4872         * ChangeLog:
4873         * NEWS:
4874         * configure.ac:
4875         * gstreamer-vaapi.doap:
4876         * meson.build:
4877           Release 1.12.0
4878
4879 2017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4880
4881         * gst/vaapi/gstvaapidecodebin.c:
4882           Revert "vaapidecodebin: fix element's classification"
4883           This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
4884
4885 2017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
4886
4887         * configure.ac:
4888         * meson.build:
4889           build: Require libva < 0.99.0
4890           libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
4891           fail to configure instead of failing late in the build.
4892           This libva is bundled in msdk[1] and it is ahead in time with
4893           respect the official and open source libva[2]. GStreamer-VAAPI
4894           only supports the latter for now.
4895           1. https://software.intel.com/en-us/media-sdk/download
4896           2. https://github.com/01org/libva/
4897           https://bugzilla.gnome.org/show_bug.cgi?id=781866
4898
4899 2017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
4900
4901         * gst/vaapi/gstvaapidecodebin.c:
4902           vaapidecodebin: fix element's classification
4903           This bin should have similar classification as decodebin which is
4904           "Generic/Bin/Decoder" otherwise it will appear wrongly as video
4905           decoder.
4906           Signed-off-by: Victor Toso <victortoso@redhat.com>
4907           https://bugzilla.gnome.org/show_bug.cgi?id=782063
4908
4909 === release 1.11.91 ===
4910
4911 2017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
4912
4913         * ChangeLog:
4914         * NEWS:
4915         * configure.ac:
4916         * gstreamer-vaapi.doap:
4917         * meson.build:
4918           Release 1.11.91
4919
4920 2017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4921
4922         * gst/vaapi/gstvaapipluginutil.c:
4923           Revert "plugins: reject pixel-aspect-ratio with value 0/1"
4924           This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
4925
4926 2017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4927
4928         * gst/vaapi/gstvaapipluginutil.c:
4929           plugins: reject pixel-aspect-ratio with value 0/1
4930           Do not negotiate a pixel-aspect-ratio of 0/1.
4931           https://bugzilla.gnome.org/show_bug.cgi?id=781759
4932
4933 2017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4934
4935         * gst/vaapi/gstvaapipostprocutil.c:
4936         * gst/vaapi/gstvaapisink.c:
4937           plugins: handle pixel-aspect-ratio with value 0/1
4938           When downstream negotiates a pixel-aspect-ratio of 0/1, the
4939           calculations for resizing and formatting in vaapipostproc and
4940           vaapisink, respectively, failed, and thus the pipeline.
4941           This patch handles this situation by converting p-a-r of 0/1 to
4942           1/1. This is how other sinks, such as glimagesink, work.
4943           https://bugzilla.gnome.org/show_bug.cgi?id=781759
4944
4945 2017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
4946
4947         * gst/vaapi/gstvaapivideobufferpool.c:
4948           vaapivideobufferpool: fix leak of created allocator
4949           Since it's created by itself, it should be unref-counted
4950           after gst_buffer_pool_config_set_allocator call. Afterwards,
4951           this allocator will be ref-counted again when assigning to priv->allocator.
4952           https://bugzilla.gnome.org/show_bug.cgi?id=781577
4953
4954 2017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4955
4956         * gst/vaapi/gstvaapivideobufferpool.c:
4957           vaapivideobufferpool: create or reconfig allocator
4958           Sometimes a video decoder could set different buffer pool
4959           configurations, because their frame size changes. In this case we
4960           did not reconfigure the allocator.
4961           This patch enables this use case, creating a new allocator inside
4962           the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
4963           If so, it is just reconfigured, since it doesn't have a surface pool.
4964           https://bugzilla.gnome.org/show_bug.cgi?id=781577
4965
4966 2017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4967
4968         * tests/elements/Makefile.am:
4969           test: elements: fix compilation flags
4970           This issue was spotten on bug #766704
4971           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
4972
4973 2017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
4974
4975         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4976           libs: windows: wayland: fix leak if failure of sync
4977           Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
4978           during destruction.
4979           In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
4980           This surface is not attached to anything at this moment, so we should release
4981           it manually.
4982           https://bugzilla.gnome.org/show_bug.cgi?id=781695
4983
4984 2017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
4985
4986         * common:
4987           Automatic update of common submodule
4988           From 60aeef6 to 48a5d85
4989
4990 2017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
4991
4992         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4993           libs: window: wayland: mark frames as done
4994           When the frame listener callbacks 'done', the number of pending
4995           frames are decreased. Nonetheless, there might be occasions where
4996           the buffer listener callbacks 'release', without calling previously
4997           frame's 'done'. This leads to problem with
4998           gst_vaapi_window_wayland_sync() operation.
4999           This patch marks as done those frames which were callbacked, but if
5000           the buffer callbacks 'release' and associated frame is not marked
5001           as 'done' it is so, thus the number of pending frames keeps correct.
5002           https://bugzilla.gnome.org/show_bug.cgi?id=780442
5003           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5004
5005 2017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5006
5007         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5008           libs: window: wayland: don't sync at destroy()
5009           Don't call gst_vaapi_window_wayland_sync() when destroying the
5010           wayland window instance, since it might lead to a lock at
5011           gst_poll_wait() when more than one instances of vaapisink are
5012           rendering in the same pipeline, this is because they share the
5013           same window.
5014           Since now all the frames are freed we don't need to freed the
5015           private last_frame, since its address is invalid now.
5016           https://bugzilla.gnome.org/show_bug.cgi?id=780442
5017           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
5018
5019 2017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
5020
5021         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5022           libs: window: wayland: null buffer at destroy()
5023           Fix leakage of the last wl buffer.
5024           VAAPI wayland sink needs to send a null buffer while destruction,
5025           it assures that all the wl buffers are released. Otherwise, the last
5026           buffer's callback might be not called, which leads to leak of
5027           GstVaapiDisplay.
5028           This was inspired by gstwaylandsink.
5029           https://bugzilla.gnome.org/show_bug.cgi?id=774029
5030           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5031
5032 2016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
5033
5034         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5035           libs: window: wayland: rt event queue at destroy()
5036           The proxy object of wl_buffer for the last frame remains in the
5037           wl_map. Even though we call wl_buffer_destroy() in
5038           frame_release_callback(), the proxy object remains without being
5039           removed, since proxy object is deleted when wayland server sees the
5040           delete request and sends 'delete_id' event.
5041           We need to call roundtrip before destroying event_queue so that the
5042           proxy object is removed. Otherwise, it would be mess up as receiving
5043           'delete_id' event from previous play, when playing in the next
5044           va/wayland window with the same wl_display connection.
5045           https://bugzilla.gnome.org/show_bug.cgi?id=773689
5046           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5047
5048 2017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5049
5050         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5051           libs: window: wayland: cancel read at poll message
5052           Always call wl_display_cancel_read() when an errno is set, but
5053           different to EAGAIN or EINTR.
5054           https://bugzilla.gnome.org/show_bug.cgi?id=780442
5055
5056 2017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
5057
5058         * gst/vaapi/gstvaapidecodebin.c:
5059         * gst/vaapi/gstvaapidecodebin.h:
5060           vaapidecodebin: skips configuration once it's done
5061           Skips configuration of creation of vpp/capsfilter and link them once it's done.
5062           Otherwise, it always fails when it's trying to re-start playback.
5063           https://bugzilla.gnome.org/show_bug.cgi?id=781573
5064
5065 2017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5066
5067         * gst/vaapi/gstvaapipostprocutil.c:
5068           vaapipostproc: fixes for memory leaks
5069           The use of gst_vaapi_value_set_format() and gst_structure_*_value()
5070           requires to clear the used GValue to avoid a memory leak.
5071
5072 2016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5073
5074         * gst/vaapi/gstvaapipluginbase.c:
5075         * gst/vaapi/gstvaapipluginbase.h:
5076           plugins: enable direct rendering with envvar
5077           Direct rendering (use vaDeriveImage rather than vaPutImage) has better
5078           performance in some Intel platforms (Haswell, for example) but in others
5079           (Skylake) is the opposite.
5080           In order to have some control, the patch enables the direct rendering
5081           through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
5082           Also it seems to generating some problems with gallium/radeon backend.
5083           See bug #779642.
5084           https://bugzilla.gnome.org/show_bug.cgi?id=775848
5085
5086 2017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
5087
5088         * gst/vaapi/gstvaapidecode.c:
5089           vaapidecode: Don't renegotiate on every flush
5090           If caps don't actually change, don't update the
5091           decoder and don't set the do_renego flag forcing
5092           downstream renegotiation
5093           https://bugzilla.gnome.org/show_bug.cgi?id=781142
5094
5095 2017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
5096
5097         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5098           h264 decoder: Implement reset() for faster flush
5099           Implement a custom reset() function for faster flushes
5100           that just clear the reference pictures but don't reallocate
5101           the DPB or clear out SPS/PPS
5102           https://bugzilla.gnome.org/show_bug.cgi?id=781142
5103
5104 2017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
5105
5106         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5107         * gst-libs/gst/vaapi/gstvaapidecoder.h:
5108         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5109         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5110         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
5111         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
5112         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5113         * gst/vaapi/gstvaapidecode.c:
5114           Implement decoder reset on flush, rather than recreating
5115           Clear decoders out on a flush but keep the same instance,
5116           rather than completely recreating them. That avoids
5117           unecessarily freeing and recreating surface pools
5118           and contexts, which can be quite expensive
5119           https://bugzilla.gnome.org/show_bug.cgi?id=781142
5120
5121 2017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5122
5123         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5124           libs: window: don't add an unused function
5125           The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
5126           a function that is never used, thus when compiling we might see
5127           this warning (clang):
5128           gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
5129           GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
5130           ^
5131           https://bugzilla.gnome.org/show_bug.cgi?id=759533
5132
5133 2017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5134
5135         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5136         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5137           libs: window: remove surface_format member
5138           Since we always convert to NV12, there is no need to keep a
5139           variable for that. Let us hard code it.
5140           https://bugzilla.gnome.org/show_bug.cgi?id=759533
5141
5142 2017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
5143
5144         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5145         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5146         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5147           libs: window: x11/wayland: use new api for conversion
5148           Since gst_vaapi_window_vpp_convert_internal is created,
5149           GstVaapiWindowX11/Wayland can use it for conversion.
5150           Note that once it chooses to use vpp, it's going to use vpp
5151           until the session is finished.
5152           https://bugzilla.gnome.org/show_bug.cgi?id=759533
5153
5154 2017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
5155
5156         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5157         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5158           libs: window: add gst_vaapi_window_vpp_convert_internal()
5159           If a backend doesn't support specific format, we can use vpp for conversion
5160           and make it playing.
5161           This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
5162           so that GstVaapiWindowX11 could use it.
5163           https://bugzilla.gnome.org/show_bug.cgi?id=759533
5164
5165 2017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
5166
5167         * gst-libs/gst/vaapi/gstvaapiwindow.c:
5168         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5169         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5170         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5171         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5172           libs: window: x11/wayland: chaining up to GstVaapiWindow
5173           Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
5174           This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
5175           https://bugzilla.gnome.org/show_bug.cgi?id=759533
5176
5177 2017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5178
5179         * gst/vaapi/gstvaapipluginutil.c:
5180           plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
5181           When these definitions are false, they are undef in the
5182           preprocessor, not a defined value of 0. When they are unset the
5183           compile fails with:
5184           'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
5185           https://bugzilla.gnome.org/show_bug.cgi?id=780948
5186
5187 2017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
5188
5189         * common:
5190           Automatic update of common submodule
5191           From 39ac2f5 to 60aeef6
5192
5193 === release 1.11.90 ===
5194
5195 2017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
5196
5197         * ChangeLog:
5198         * NEWS:
5199         * configure.ac:
5200         * gstreamer-vaapi.doap:
5201         * meson.build:
5202           Release 1.11.90
5203
5204 2017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5205
5206         * gst/vaapi/gstvaapiencode_h265.c:
5207           vaapiencode: h265: add main-10 in caps template
5208           This patch adds h265's main-10 profile in encoder src caps template.
5209           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5210
5211 2017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5212
5213         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5214           libs: encoder: h265: chroma and luma with format
5215           If the profile is main-10 the bit_depth_luma_minus8, in the sequence
5216           parameter buffer, shall be the color format bit depth minus 8, 10-8
5217           which is 2. Also for bit_depth_chroma_minus8.
5218           This patch gets the negotiated sink caps format and queries its
5219           luma's depth and uses that value to fill the mentioned parameters.
5220           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5221
5222 2017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5223
5224         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5225           libs: encoder: admit YUV420_10BPP as valid chroma
5226           Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
5227           type.
5228           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5229
5230 2017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5231
5232         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5233           libs: encoder: h265: ensures profile given format
5234           Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
5235           configured color format is P010_10LE.
5236           Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
5237           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5238
5239 2017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5240
5241         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5242           libs: encode: merge all possible surface formats
5243           When the function gst_vaapi_encoder_get_surface_formats() was added
5244           it was under the assumption that any VA profile of the specific codec
5245           supported the same format colors. But it is not, for example the
5246           profiles that support 10bit formats.
5247           In other words, different VA profiles of a same codec may support
5248           different color formats in their upload surfaces.
5249           In order to expose all the possible color formats, if no profile is
5250           specified via source caps, or if the encoder doesn't have yet a
5251           context, all the possible VA profiles for the specific codec are
5252           iterated and their color formats are merged.
5253           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5254
5255 2017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5256
5257         * gst/vaapi/gstvaapiencode.c:
5258         * gst/vaapi/gstvaapiencode.h:
5259         * gst/vaapi/gstvaapiencode_h264.c:
5260         * gst/vaapi/gstvaapiencode_h265.c:
5261           vaapiencode: add get_profile() vmethod
5262           This new virtual method, get_profile(), if implemented by specific
5263           encoders, will return the VA profile potentially determined by the
5264           source caps.
5265           Also it is implemented by h264 and h265 encoders, which are the main
5266           users of this vmethod.
5267           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5268
5269 2017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5270
5271         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5272         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5273         * gst/vaapi/gstvaapiencode.c:
5274           libs: encoder: pass profile to get_surface_formats()
5275           In order to get the supported surface formats within a specific
5276           profile this patch adds the GstVaapiProfile as property to
5277           gst_vaapi_encoder_get_surface_formats().
5278           Currently the extracted formats are only those related with the
5279           default profile of the element's codec.
5280           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5281
5282 2017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5283
5284         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5285           libs: encoder: dummy context for get_surface_formats()
5286           Instead of creating (if it doesn't exist, yet) the encoder's context
5287           the method gst_vaapi_encoder_get_surface_formats() now it creates
5288           dummy contexts, unless the encoder has it already created.
5289           The purpose of this is to avoid setting a encoder's context with a
5290           wrong profile.
5291           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5292
5293 2017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5294
5295         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5296           libs: encoder: refactor init_context_info()
5297           In order to generate vaapi contexts iterative, the function
5298           init_context_info() is refactored to pass, as parameters the
5299           GstVaapiContextInfo and the GstVaapiProfile.
5300           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5301
5302 2017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5303
5304         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5305         * gst-libs/gst/vaapi/gstvaapiutils.c:
5306         * gst-libs/gst/vaapi/gstvaapiutils.h:
5307           libs: encoder: initialize chroma_type
5308           Instead of initialize the chroma_type with a undefined value, which
5309           will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
5310           this patch queries the VA config, given the received
5311           GstVaapiContextInfo's parameters, and gets the first response.
5312           In order to get the GstVaapiChromaType value, also it was needed to
5313           add a new utility function: to_GstVaapiChromaType(), which, given a
5314           VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
5315           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5316
5317 2017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5318
5319         * gst/vaapi/gstvaapiencode.c:
5320           vaapiencode: enhance logs of negotiated caps
5321           https://bugzilla.gnome.org/show_bug.cgi?id=771291
5322
5323 2017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5324
5325         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5326           libs: encoder: vp9: Fix initialization of ref_list
5327           gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
5328           'memset' used with length equal to number of elements without
5329           multiplication by element size [-Werror=memset-elt-size]
5330           https://bugzilla.gnome.org/show_bug.cgi?id=780947
5331
5332 2017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5333
5334         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5335           encoder: h264: Fix Backward ReferencePicture flag setting
5336           This is a regression introduced by e829b62 which
5337           override the reference flags and caused issues with
5338           latest intel-vaapi-driver.
5339
5340 2017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5341
5342         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5343           libs: encoder: h265: fix code style
5344           Trivial patch to remove a double ';' as end of instruction.
5345
5346 2017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5347
5348         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5349           encoder: h264: Fix B frame encoding artifacts
5350           The current implementation is updating the POC values only
5351           in Slice parameter Buffer.But we are not filling the
5352           picture order count and reference flags in VAPictureH264
5353           while populating VA Picture/Slice structures.The latest
5354           intel-vaapi-driver is directly accessing the above fields
5355           from VAPicutreH264 provided as RefPicLists, which resulted
5356           some wrong maths and prediction errors in driver.
5357           https://bugzilla.gnome.org/show_bug.cgi?id=780620
5358
5359 2017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5360
5361         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5362           libs: encoder: h265: remove unused macro definition
5363           Since the h265 encoder doesn't use GValueArray, there is no need to
5364           disable the Glib deprecation warnings, thus removing the macro
5365           definition.
5366
5367 2017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5368
5369         * gst/vaapi/gstvaapidecode.c:
5370         * gst/vaapi/gstvaapiencode.c:
5371         * gst/vaapi/gstvaapipostproc.c:
5372         * gst/vaapi/gstvaapisink.c:
5373           plugins: when debug disabled, default category is NULL
5374           As in gstreamer-vaapi a common base class is used, the specific
5375           default category is passed to the base-plugin initializator, thus
5376           the log messages are categorized with the used plugin.
5377           Nonetheless, when the gst-debug is disabled in compilation time,
5378           it is needed to pass NULL to the base-plugin initializator. This
5379           patch does that.
5380           https://bugzilla.gnome.org/show_bug.cgi?id=780302
5381
5382 2017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
5383
5384         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5385         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5386         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
5387         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
5388           libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
5389           Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
5390           unit length and data to a bitwriter.
5391           Note that this helper function applies EPB (Emulation Prevention
5392           Bytes), since otherwise produced codec_data might be broken when
5393           decoder/parser considering EPB, starts parsing.
5394           See sections 7.3 and 7.4 of the H264 and H264 specifications, which
5395           describes the emulation_prevention_three_byte.
5396           https://bugzilla.gnome.org/show_bug.cgi?id=778750
5397           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5398
5399 2017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
5400
5401         * gst-libs/gst/vaapi/Makefile.am:
5402         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5403         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5404         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
5405         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
5406         * gst-libs/gst/vaapi/meson.build:
5407           libs: utils: h26x: create vaapiutils_h26x
5408           Since there is duplicated code in h264/265 encoder, we could
5409           refactor it to avoid duplicated code.
5410           https://bugzilla.gnome.org/show_bug.cgi?id=778750
5411           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5412
5413 2017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
5414
5415         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5416         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5417           libs: encoder: h264/5: fix wrong return value
5418           https://bugzilla.gnome.org/show_bug.cgi?id=778750
5419
5420 2017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
5421
5422         * gst/vaapi/gstvaapiencode_h264.c:
5423         * gst/vaapi/gstvaapiencode_h265.c:
5424           docs: h264/h265: put parser to the example pipeline
5425           https://bugzilla.gnome.org/show_bug.cgi?id=778749
5426
5427 2017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
5428
5429         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5430           libs: encoder: h265: fix reserved length of bits
5431           Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
5432           https://bugzilla.gnome.org/show_bug.cgi?id=778749
5433
5434 2017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5435
5436         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
5437         * tests/test-display.c:
5438           O_CLOEXEC needs _GNU_SOURCE defined
5439           From man open(2):
5440           The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
5441           in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
5442           2.12, one can obtain their definitions by defining either
5443           _POSIX_C_SOURCE with a value greater than or equal to 200809L or
5444           _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
5445           2.11 and earlier, one obtains the definitions by defining
5446           _GNU_SOURCE.
5447           And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
5448           _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
5449           gstreamer-vaapi with the uClibc C library.
5450           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5451           https://bugzilla.gnome.org/show_bug.cgi?id=779953
5452
5453 2017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5454
5455         * README:
5456           README: fix "Sources" section
5457           Update the URL where the release source tarballs can be downloaded.
5458
5459 2017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5460
5461         * README:
5462           README: fix "Reporting bugs" section
5463           The "Reporting bugs" section gives
5464           https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
5465           link to report a bug, but this link says "Sorry, entering a bug into the
5466           product gstreamer-vaapi has been disabled.".
5467           This commit fixes the URL to point to the proper location, and also
5468           removes the following paragraph that is no longer correct.
5469           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5470           https://bugzilla.gnome.org/show_bug.cgi?id=779954
5471
5472 2017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5473
5474         * gst/vaapi/gstvaapipluginutil.c:
5475           plugins: retry to create the VA display
5476           Particularly in GNOME Wayland, the negotiated or created GL context
5477           defines a GLX environment, but VAAPI fails to create a GLX VA
5478           display because there is no a DRI2 connection.
5479           This patch retries to create the VA display if VA cannot create one
5480           with the GL context parameters. Now using the old list of display
5481           types.
5482           This should also work in the case of systems with two GPU, when the
5483           non-VAAPI has the graphics environment, and the VAAPI-enabled one
5484           shall work headless.
5485           https://bugzilla.gnome.org/show_bug.cgi?id=772838
5486
5487 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
5488
5489         * gst/vaapi/gstvaapipostproc.c:
5490           vaapipostproc: texture upload if driver supports GL
5491           Removes GstVideoGLTextureUploadMeta caps feature if the driver
5492           doesn't support opengl.
5493           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5494           https://bugzilla.gnome.org/show_bug.cgi?id=772838
5495
5496 2016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5497
5498         * gst/vaapi/gstvaapidecode.c:
5499           vaapidecode: texture upload if driver supports GL
5500           When the allowed source pad caps are generated, the GLTextureUpload caps are
5501           only inserted if the driver support OpenGL.
5502           https://bugzilla.gnome.org/show_bug.cgi?id=772838
5503
5504 2017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5505
5506         * configure.ac:
5507           configure: Add missing compiler flags
5508           The AC_CHECK_HEADERS macro was failing to locate some headers, in
5509           particular the va_enc_* headers due to missing compiler flags.
5510           https://bugzilla.gnome.org/show_bug.cgi?id=779101
5511           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5512
5513 2017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
5514
5515         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5516           libs: window: wayland: handle more VAStatus to use vpp
5517           Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
5518           we should consider more returned VAStatus to use vpp.
5519           https://bugzilla.gnome.org/show_bug.cgi?id=779400
5520
5521 2017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
5522
5523         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5524           libs: encoder: ensure profile when context initialization
5525           We can't be sure that encoder's profile is assgined already or not
5526           at context initialization.
5527           https://bugzilla.gnome.org/show_bug.cgi?id=779120
5528
5529 2017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
5530
5531         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5532           libs: encoder: set rate control info only when query succeed
5533           Currently, it set rate control information even when query fails.
5534           In addition, it doesn't update any more since the flag
5535           got_rate_control_mask is set to TRUE.
5536           https://bugzilla.gnome.org/show_bug.cgi?id=779120
5537
5538 2017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
5539
5540         * meson.build:
5541           meson: Update version
5542
5543 2017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
5544
5545         * configure.ac:
5546           Back to development
5547
5548 === release 1.11.2 ===
5549
5550 2017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
5551
5552         * ChangeLog:
5553         * NEWS:
5554         * configure.ac:
5555         * gstreamer-vaapi.doap:
5556           Release 1.11.2
5557
5558 2017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5559
5560         * gst/vaapi/gstvaapiencode.c:
5561           vaapiencode: merge tags for downstream's info
5562           Add encoder and codec name and the bitrate into the output for
5563           informational purposes. Some muxers or application use it as
5564           media metadata.
5565           https://bugzilla.gnome.org/show_bug.cgi?id=778781
5566
5567 2017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5568
5569         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5570           libs: encoder: caps can change at any time
5571           The encoder should be able to change its caps even it is already
5572           processing a stream.
5573           This is suppose to happen after a flush so the codedbuf_queue should
5574           be empty.
5575           https://bugzilla.gnome.org/show_bug.cgi?id=775490
5576
5577 2017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5578
5579         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5580           libs: encoder: h265: bail if nal unit type fails
5581           Bail out if the NAL unit type is not recognized.
5582           https://bugzilla.gnome.org/show_bug.cgi?id=778782
5583
5584 2017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5585
5586         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5587         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5588           libs: decoder: h264,h265 avoid uninitialized variable
5589           Configuring GCC to verify possible usage of uninitialized variables,
5590           shows that found_index might be used without previous assignation.
5591           This patch assigns a initial value to found_index, also avoid a
5592           branching when returning the result value.
5593           https://bugzilla.gnome.org/show_bug.cgi?id=778782
5594
5595 2017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
5596
5597         * configure.ac:
5598         * gst-libs/gst/vaapi/Makefile.am:
5599         * gst/vaapi/gstvaapidecode.c:
5600         * gst/vaapi/gstvaapidecodebin.c:
5601           build: rename USE_HEVC_DECODER to USE_H265_DECODER
5602           Rename to be consistent with H.264 and also H.265 encoder. The
5603           meson build assumed this was already consistently named, and so
5604           previously was not able to actually build the H.265 decoder.
5605           https://bugzilla.gnome.org/show_bug.cgi?id=778576
5606
5607 2017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
5608
5609         * meson.build:
5610           meson: gstreamer-codecparsers is a required dep
5611           Just like in configure.ac.
5612
5613 2017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
5614
5615         * Makefile.am:
5616           meson: dist meson build files
5617           Ship meson build files in tarballs, so people who use tarballs
5618           in their builds can start playing with meson already.
5619
5620 2017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
5621
5622         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5623           libs: encoder: vp8: add CBR encoding mode
5624           This patch enables the Constant BitRate encoding mode in VP8 encoder.
5625           Basically it adds the configuration parameters required by libva to
5626           CBR enconding.
5627           Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5628           https://bugzilla.gnome.org/show_bug.cgi?id=749950
5629
5630 2017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
5631
5632         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5633           libs: encoder: vp8: fix bitrate calculation
5634           Base encoder's unit of bitrate is in Kbps. We should honor it so
5635           we use the value of bitrate in VA, in which is expressed in bps.
5636           https://bugzilla.gnome.org/show_bug.cgi?id=749950
5637
5638 2017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5639
5640         * gst/vaapi/gstvaapipluginbase.c:
5641           plugins: fix build when gcc
5642           In commit a8e482f9 we added a function without parameters, but gcc
5643           doesn't like that.
5644
5645 2017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
5646
5647         * gst-libs/gst/base/meson.build:
5648         * gst-libs/gst/meson.build:
5649         * gst-libs/gst/vaapi/meson.build:
5650         * gst-libs/meson.build:
5651         * gst/meson.build:
5652         * gst/vaapi/meson.build:
5653         * meson.build:
5654         * meson_options.txt:
5655           vaapi: add meson build
5656           https://bugzilla.gnome.org/show_bug.cgi?id=778250
5657
5658 2017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
5659
5660         * configure.ac:
5661         * gst-libs/gst/vaapi/Makefile.am:
5662         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5663         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
5664           make: remove gstvaapiversion.h generation
5665           https://bugzilla.gnome.org/show_bug.cgi?id=778250
5666
5667 2016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
5668
5669         * gst/vaapi/gstvaapipluginbase.c:
5670           plugins: use linear storage if not the same device
5671           When dmabuf is negotiated downstream and decoding and rendering are
5672           not done on the same device, the layout has to be linear in order for
5673           the memory to be shared accross devices, since each device has its
5674           own way to do tiling.
5675           Right now this code is rather just a to-do comment, since we are not
5676           fetching the device ids.
5677           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5678
5679 2017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
5680
5681         * gst-libs/gst/vaapi/gstvaapiutils.c:
5682           libs: utils: add HEVC profiles representation
5683           https://bugzilla.gnome.org/show_bug.cgi?id=778318
5684
5685 2017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
5686
5687         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5688           libs: decoder: h264: reduce frame number of gaps
5689           Reduce frame num gaps so that we don't have to create unnecessary
5690           dummy pictures, just throw them away.
5691           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5692           https://bugzilla.gnome.org/show_bug.cgi?id=777506
5693
5694 2016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5695
5696         * gst/vaapi/gstvaapidecode.c:
5697           vaapidecode: don't GLTextureUpload if dmabuf
5698           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
5699           element can handle dmabuf-based buffers, avoiding its negotiation.
5700
5701 2016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
5702
5703         * gst/vaapi/gstvaapidecode.c:
5704           vaapidecode: make pool to export decoder's surface
5705           Use new -base API gst_video_decoder_allocate_output_frame_full() to
5706           pass the current proxy/surface to the pool.
5707           The pool will will export thins given surface instead of exporting a
5708           brand new surface that will never be filled in with meaningfull data.
5709           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5710
5711 2017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5712
5713         * gst/vaapi/gstvaapipluginbase.c:
5714           plugins: decoder can negotiate dmabuf downstream
5715
5716 2016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
5717
5718         * gst/vaapi/gstvaapivideobufferpool.c:
5719           vaapivideobufferpool: override acquire_buffer()
5720           Overriding the vmethod acquire_buffer() it is possible to attach the
5721           right GstMemory to the current acquired buffer.
5722           As a matter of fact, this acquired buffer may contain any instantiated
5723           GstFdmemory, since this buffer have been popped out from the buffer
5724           pool, which is a FIFO queue. So there is no garantee that this buffer
5725           matches with the current processed surface. Evenmore, the VA driver
5726           might not use a FIFO queue. Therefore, it is no way to guess on the
5727           ordering.
5728           In short, acquire_buffer on the VA driver and on the buffer pool return
5729           none matching data, we have to manually attach the right GstFdMemory to
5730           the acquired GstBuffer. The right GstMemory is the one associated with
5731           the current surface.
5732           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5733
5734 2016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
5735
5736         * gst/vaapi/gstvaapivideobufferpool.c:
5737         * gst/vaapi/gstvaapivideomemory.c:
5738           vaapivideomemory: export surface if it is provided
5739           gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
5740           had to create that surface. Now it can also export an already provided
5741           surface. It is useful to export decoder's surfaces (from VA context).
5742           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5743
5744 2016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
5745
5746         * gst/vaapi/gstvaapivideobufferpool.h:
5747           vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
5748           Useful to let the pool know the current surface proxy when calling
5749           gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
5750           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5751
5752 2016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
5753
5754         * gst-libs/gst/vaapi/gstvaapisurface.c:
5755         * gst-libs/gst/vaapi/gstvaapisurface.h:
5756           libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
5757           These functions are useful when a dmabuf-based memory is instantiated in
5758           order to relate the generated buffer @proxy with the processed @surface.
5759           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5760
5761 2016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
5762
5763         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
5764         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
5765         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
5766           libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
5767           This patch adds a GstMemory as a variable member of the buffer proxy,
5768           because we will need to associate the buffer proxy with the memory
5769           which exposes it. Later, we will know which memory, in the video buffer
5770           pool, is attached to the processed surface.
5771           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5772
5773 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
5774
5775         * gst/vaapi/gstvaapipostproc.c:
5776           vaapipostproc: don't GLTextureUpload if dmabuf
5777           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
5778           element can handle dmabuf-based buffers, avoiding its negotiation.
5779           Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
5780           feature if can dmabuf"
5781           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5782
5783 2016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5784
5785         * gst/vaapi/gstvaapipluginbase.c:
5786           plugins: enable DMAbuf allocator to downstream
5787           If the negotiated caps are raw caps and downstream supports the
5788           EGL_EXT_image_dma_buf_import extension, then the created allocator
5789           is the DMAbuf, configured to downstream.
5790           At this moment, the only element which can push dmabuf-based buffers
5791           to downstream, is vaapipostproc.
5792
5793 2016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5794
5795         * gst/vaapi/gstvaapipluginbase.c:
5796         * gst/vaapi/gstvaapipluginbase.h:
5797           plugins: check if negotiate dmabuf with downstream
5798           In order to enable, in the future, dmabuf-based buffers, the vaapi base
5799           plugin needs to check if downstream can import dmabuf buffers.
5800           This patch checks if downstream can handle dmabuf, by introspecting the
5801           shared GL context. If the GL context is EGL/GLES2 and have the extension
5802           EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
5803           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
5804
5805 2016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
5806
5807         * gst/vaapi/gstvaapivideomemory.c:
5808           vaapivideomemory: release proxy's data if downstream
5809           The surface created for downstream is going to be filled by VAAPI
5810           elements. So, the driver needs write access on that surface.
5811           This patch releases the derived image held by the proxy, thus the
5812           surface is unmarked as busy.
5813           This is how it has to be done as discussed on libva mailing list.
5814           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5815
5816 2016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
5817
5818         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
5819         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
5820           libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
5821           Adds an API to request the user's data release in the buffer proxy.
5822           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5823
5824 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
5825
5826         * gst/vaapi/gstvaapipluginbase.c:
5827         * gst/vaapi/gstvaapivideomemory.c:
5828         * gst/vaapi/gstvaapivideomemory.h:
5829           vaapivideomemory: add direction to dmabuf allocator
5830           Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
5831           we later could do different thing when the allocated memory is for
5832           upstream or dowstream, as required by VA-API.
5833           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5834
5835 2016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
5836
5837         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
5838           libs: utils: return NULL if failed to get surface formats
5839           Thus, when generating the allowed caps, the element will throw a
5840           warning and it will use its caps template.
5841           This behavior might be a bug in the VA driver.
5842           https://bugzilla.gnome.org/show_bug.cgi?id=775490
5843
5844 2015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5845
5846         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5847           Revert "vaapidisplay: mark X11 display as compatible with EGL"
5848           This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
5849
5850 2017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
5851
5852         * gst/vaapi/gstvaapipostproc.c:
5853           vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
5854           A value of width/height property should be set to out caps,
5855           if negotiation had been going properly.
5856           So we can use srcpad_info when making decision of scaling.
5857           https://bugzilla.gnome.org/show_bug.cgi?id=778010
5858
5859 2017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5860
5861         * gst/vaapi/gstvaapidecode.c:
5862         * gst/vaapi/gstvaapiencode.c:
5863         * gst/vaapi/gstvaapipluginutil.c:
5864         * gst/vaapi/gstvaapipluginutil.h:
5865         * gst/vaapi/gstvaapipostproc.c:
5866         * gst/vaapi/gstvaapisink.c:
5867           plugins: handle GL params through context query
5868           If the element instantiated the GL display and context, they should
5869           handle them too through the context query.
5870           https://bugzilla.gnome.org/show_bug.cgi?id=777409
5871
5872 2017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5873
5874         * gst/vaapi/gstvaapipluginbase.c:
5875         * gst/vaapi/gstvaapipluginbase.h:
5876         * gst/vaapi/gstvaapipluginutil.c:
5877           plugins: create a GL context on certain conditions
5878           If a GstVaapiDisplay is not found in the GStreamer context sharing,
5879           then VAAPI elements look for a local GstGLContext in gst context
5880           sharing mechanism ('gst.gl.local.context').
5881           If this GstGLContext not found either then, only the VAAPI decoders
5882           and the VAAPI post-processor, will try to instantiate a new
5883           GstGLContext.
5884           If a valid GstGLContext is received, then a new GstVaapiDisplay will
5885           be instantiated with the platform, API and windowing specified by the
5886           instantiated GstGLContext.
5887           Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
5888           https://bugzilla.gnome.org/show_bug.cgi?id=777409
5889
5890 2016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5891
5892         * gst/vaapi/gstvaapivideocontext.c:
5893           vaapivideocontext: context type can be rejected
5894           Instead of calling g_return_val_if_fail() to check the context type, we
5895           should use a normal conditional, since it is possible that other context types
5896           can arrive and try to be assigned. Otherwise a critical log message is
5897           printed.
5898           This happens when we use playbin3 with vaapipostproc as video-filter.
5899           https://bugzilla.gnome.org/show_bug.cgi?id=777409
5900
5901 2017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5902
5903         * gst/vaapi/gstvaapipostprocutil.c:
5904           vaapipostproc: use sink caps par if not requested
5905           Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
5906           is not already set.
5907           https://bugzilla.gnome.org/show_bug.cgi?id=777395
5908
5909 2017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5910
5911         * gst/vaapi/gstvaapipostproc.c:
5912         * gst/vaapi/gstvaapipostprocutil.c:
5913           vaapipostproc: set interlace mode
5914           if the vaapipostproc is configured to not do deinterlacing, the
5915           interlace-mode in the src caps should be the same as the input caps.
5916           https://bugzilla.gnome.org/show_bug.cgi?id=777395
5917
5918 2017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5919
5920         * gst/vaapi/gstvaapisink.c:
5921           vaapisink: fix gcc compiler warning
5922           warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
5923
5924 2017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5925
5926         * gst/vaapi/gstvaapisink.c:
5927           vaapisink: don't use member variable outside lock
5928           Thus a race condition segfault is avoided.
5929           Original-patch-by: Matt Staples <staples255@gmail.com>
5930           https://bugzilla.gnome.org/show_bug.cgi?id=777146
5931
5932 2017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5933
5934         * gst/vaapi/gstvaapipluginbase.c:
5935         * gst/vaapi/gstvaapipostproc.c:
5936           plugins: avoid log flood when activating pool
5937           Every time a new buffer is allocated, the pool is activated. This
5938           doesn't impact in performance since gst_buffer_pool_set_active()
5939           checks the current state of the pool. Nonetheless it logs out a
5940           message if the state is the same, and it floods the logging subsystem
5941           if it is enabled.
5942           To avoid this log flooding first the pool state is checked before
5943           changing it.
5944
5945 2017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5946
5947         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5948         * gst-libs/gst/vaapi/gstvaapidecoder.h:
5949         * gst/vaapi/gstvaapidecode.c:
5950         * gst/vaapi/gstvaapidecode.h:
5951           vaapidecode: update internal decoder sink caps
5952           When a new sink caps arrive the internal decoder state is updated
5953           and, if it is, request a downstream renegotiation.
5954           Previously, when new caps arrived the whole decoder where destroyed
5955           and recreated. Now, if the caps are compatible or has the same codec,
5956           the internal decoder is kept, but a downstream renegotiation is
5957           requested.
5958           https://bugzilla.gnome.org/show_bug.cgi?id=776979
5959
5960 2017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
5961
5962         * configure.ac:
5963           Back to development
5964
5965 === release 1.11.1 ===
5966
5967 2017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
5968
5969         * ChangeLog:
5970         * NEWS:
5971         * configure.ac:
5972         * gstreamer-vaapi.doap:
5973           Release 1.11.1
5974
5975 2017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5976
5977         * gst-libs/gst/vaapi/gstvaapiutils.c:
5978           vaapi: bump ifdef to API 0.40.0 for log redirect
5979           vaSetInfoCallback() is not released yet. It is going to appear in
5980           VA-API 0.40.0
5981
5982 2017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
5983
5984         * gst-libs/gst/vaapi/gstvaapiutils.c:
5985           vaapiutils: Fix compilation with latest and previous libva releases
5986           vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
5987           0.39.5 instead.
5988
5989 2017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5990
5991         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5992         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
5993         * gst-libs/gst/vaapi/gstvaapiutils.c:
5994         * gst-libs/gst/vaapi/gstvaapiutils.h:
5995           libs: display: redirect logging at initialize
5996           Redirect libva's logs to GStreamer logging mechanism. This is
5997           particularly useful when VA is initialized, because it always logs
5998           out the drivers details.
5999           In order to achieve this a new helper function was added as a wrapper
6000           for the vaInitialize() function.
6001           https://bugzilla.gnome.org/show_bug.cgi?id=777115
6002
6003 2017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
6004
6005         * gst/vaapi/gstvaapipluginbase.c:
6006           plugins: provide at least two buffers in sink pool
6007           Adds two buffers as the default value of minimum buffer.
6008           This would be used when creating and proposing vaapi bufferpool for
6009           sink pad, hence the upstream element will keep, at least, these two
6010           buffers.
6011           https://bugzilla.gnome.org/show_bug.cgi?id=775203
6012           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6013
6014 2017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
6015
6016         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6017           libs: decoder: h264: don't update cloned attributes
6018           If the frame is a cloned picture, its PTS comes from its parent
6019           picture.  In addition, the base decoder doesn't set a valid PTS to
6020           the frame corresponding to the cloned picture.
6021           https://bugzilla.gnome.org/show_bug.cgi?id=774254
6022
6023 2017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6024
6025         * gst/vaapi/gstvaapivideomemory.c:
6026           vaapivideomemory: check for display
6027           This patch fixes the check of display, rather than check for the
6028           meta, which it is known it exists.
6029
6030 2017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6031
6032         * gst/vaapi/gstvaapivideomemory.c:
6033         * gst/vaapi/gstvaapivideomemory.h:
6034           vaapivideomemory: rename dmabuf allocator parameters
6035           Rename the parameters 'vip' and 'flags' to 'alloc_info' and
6036           'surface_alloc_flags' respectively. The purpose of this change is
6037           to auto-document those parameters.
6038           Also, aligned to this patch, the local 'alloc_info' variable was
6039           renamed as 'surface_info', because it stores the possible surface's
6040           video info, not the allocate one.
6041
6042 2017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6043
6044         * gst/vaapi/gstvaapivideomemory.c:
6045         * gst/vaapi/gstvaapivideomemory.h:
6046           vaapivideomemory: rename vip to alloc_info parameter
6047           In order to auto-document the code, this patch renames the 'vip'
6048           parameter in the functions related to gst_vaapi_video_allocator_new ()
6049           to 'alloc_info', since it declares the allocation video info from
6050           the vaapi buffer pool.
6051
6052 2017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6053
6054         * gst/vaapi/gstvaapivideomemory.c:
6055           vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
6056           Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
6057           the video format string.
6058
6059 2017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6060
6061         * gst/vaapi/gstvaapivideomemory.c:
6062           vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
6063           gst_vaapi_surface_new_with_format() is a wrapper for
6064           gst_vaapi_surface_new_full (). In this case, the former is simpler
6065           than the first. This patch changes that.
6066
6067 2017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
6068
6069         * gst/vaapi/gstvaapipostproc.c:
6070           vaapipostproc: notify if src pad caps changed
6071           If src pad caps have changed, it needs to notify it downstream. In
6072           addition, do not set passthrough if they have changed.
6073           Otherwise, transform sometimes starts processing before caps change.
6074           The passthrough value will be set in fixate later in this case.
6075           https://bugzilla.gnome.org/show_bug.cgi?id=775204
6076
6077 2016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6078
6079         * gst/vaapi/gstvaapidecodebin.c:
6080           vaapidecodebin: capsfilter to optimize negotiation
6081           Add a capsfilter forcing the caps
6082           "video/x-raw(memory:VASurface), format=(string)NV12" between the
6083           queue and the vaapipostproc so no renegotiation is required.
6084           https://bugzilla.gnome.org/show_bug.cgi?id=776175
6085
6086 2016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
6087
6088         * gst/vaapi/gstvaapivideomemory.c:
6089           vaapivideomemory: fail surface/image configuration
6090           To detect and handle errors during allocator_configure_surface_info()
6091           and allocator_conigure_image_info().
6092           https://bugzilla.gnome.org/show_bug.cgi?id=776084
6093           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6094
6095 2016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
6096
6097         * gst/vaapi/gstvaapisink.c:
6098           vaapisink: ensures raw caps at start()
6099           Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
6100           race conditions at get_caps(), especially with multiple src elements.
6101           https://bugzilla.gnome.org/show_bug.cgi?id=776303
6102
6103 2016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6104
6105         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6106           libs: surface: fix error handling code style
6107
6108 2016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6109
6110         * gst/vaapi/gstvaapivideomemory.c:
6111           vaapivideomemory: add gst_video_info_update_from_surface()
6112           With this function is possible to refactor and remove duplicated code
6113           between dmabuf configuration and direct rendering/uploading
6114           configuration.
6115
6116 2016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6117
6118         * gst/vaapi/gstvaapivideomemory.c:
6119           vaapivideomemory: no log object at initialization
6120           When an instance of GstVaapiVideoAllocator fails at initializing, the
6121           log message should not include the allocator's object, because it is
6122           going to be unrefed.
6123
6124 2016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6125
6126         * gst/vaapi/gstvaapidecode.c:
6127           vaapidecode: lock stream when setting caps
6128
6129 2016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6130
6131         * gst/vaapi/gstvaapidecode.c:
6132           Revert "vaapidecode: implement negotiate() vmethod"
6133           This reverts commit 3285121181295c544480fc6ba756845b16285d30.
6134           videodecode's negotiate() vmethod is also called when events arrive,
6135           but this would mean that the proper configuration of sink pad might
6136           not be complete, thus we should not update the src pad.
6137           Let's keep the old non-vmethod negotitate().
6138
6139 2016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6140
6141         * gst/vaapi/gstvaapi.c:
6142           Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
6143           This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
6144
6145 2016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
6146
6147         * gst/vaapi/gstvaapiencode.c:
6148         * gst/vaapi/gstvaapiencode.h:
6149           vaapiencode: get surface formats in get_caps()
6150           Query for the supported surface formats in config at get_caps() vmethod.
6151           https://bugzilla.gnome.org/show_bug.cgi?id=769266
6152           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6153
6154 2016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
6155
6156         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6157         * gst-libs/gst/vaapi/gstvaapiencoder.h:
6158           libs: encoder: add gst_vaapi_encoder_get_surface_formats()
6159           This method will return the valid surface formats in the current
6160           config. If the are no VAConfig it is created with the information
6161           available.
6162           https://bugzilla.gnome.org/show_bug.cgi?id=769266
6163           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6164
6165 2016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
6166
6167         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6168           libs: encoder: split set_context_info()
6169           Split set_context_info() adding init_context_info() which only
6170           initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
6171           required for VAConfig.
6172           https://bugzilla.gnome.org/show_bug.cgi?id=769266
6173           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6174
6175 2016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
6176
6177         * gst-libs/gst/vaapi/gstvaapicontext.c:
6178           libs: context: skip VAContext if no frame size
6179           If GstVaapiContextInfo has just initial information, without frame's
6180           width and height, skip the creation of the VAContext, just keep the
6181           VAConfig.
6182           https://bugzilla.gnome.org/show_bug.cgi?id=769266
6183           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6184
6185 2016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
6186
6187         * gst-libs/gst/vaapi/gstvaapicontext.c:
6188           libs: context: split context_create()
6189           Split the funcion context_create() into context_create() and
6190           config_create().
6191           Decoupling VAConfig and VAContext during context creation, we could
6192           query the VAConfig for the supported surface's formats without creating
6193           a VAContext.
6194           https://bugzilla.gnome.org/show_bug.cgi?id=769266
6195
6196 2016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6197
6198         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6199           libs: drm: find render node in hybrid system
6200           Originally the drm backend only tried to open the first render node
6201           found. But in hybrid system this first render node might not support
6202           VA-API (propietary Nvidia driver, for example).
6203           This patch tries all the available nodes until a finding one with a
6204           VA-API supported driver.
6205           https://bugzilla.gnome.org/show_bug.cgi?id=774811
6206           Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
6207           Reza Razavi <reza@userful.com>
6208
6209 2016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6210
6211         * gst/vaapi/gstvaapivideomemory.c:
6212           vaapivideomemory: refactor code for readability
6213           Added the inlined function allocator_configure_pools() moving out code
6214           from gst_vaapi_video_allocator_new() to make clear that it is a
6215           post-initalization of the object.
6216
6217 2016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6218
6219         * gst/vaapi/gstvaapivideomemory.c:
6220           vaapivideomemory: log error if not VA image
6221           Log an error message if the test image for surface downloading
6222           cannot be allocated or mapped.
6223
6224 2016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6225
6226         * gst/vaapi/gstvaapivideomemory.c:
6227           vaapivideomemory: remove unused macros
6228           These macros are not used. Let us remove them.
6229
6230 2016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6231
6232         * gst/vaapi/gstvaapivideomemory.c:
6233         * gst/vaapi/gstvaapivideomemory.h:
6234           vaapivideomemory: rename video for allocation_info
6235           Since video_info stores the GstVideoInfo of the allocation caps,
6236           it is clear if we rename it as allocation_info, to distinguish it
6237           later from negotiation_info.
6238
6239 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
6240
6241         * gst/vaapi/gstvaapivideomemory.c:
6242         * gst/vaapi/gstvaapivideomemory.h:
6243           vaapivideomemory: add real GstVaapiDmaBufAllocator
6244           Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
6245           GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
6246           GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
6247           from GstDmaBufAllocator.
6248           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6249           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6250
6251 2016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
6252
6253         * gst/vaapi/gstvaapivideomemory.c:
6254           vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
6255           Add a helper function to initialize the gst_debug_vaapivideomemory,
6256           to use it either by the GstVaapiVideoAllocatorClass or
6257           GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
6258           Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
6259           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6260
6261 2016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
6262
6263         * gst/vaapi/gstvaapiencode.c:
6264           vaapiencode: release internal encoder at stop()
6265           As the internal encoder is created at start(), let's release it at
6266           stop() vmethod, to be consistent.
6267           gst_vaapiencode_destroy() is called since it also resets the input and
6268           output states, which is something that the base class does internally
6269           after calling stop() vmethod.
6270           https://bugzilla.gnome.org/show_bug.cgi?id=769266
6271           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6272
6273 2016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
6274
6275         * common:
6276           Automatic update of common submodule
6277           From f49c55e to 39ac2f5
6278
6279 2016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
6280
6281         * gst/vaapi/gstvaapiencode.c:
6282           vaapiencode: call ensure_encoder() at start()
6283           Currently, specific encoder is created during set_format(). This might
6284           lead to race condition when creating profiles with multiple encoders.
6285           This patch moves ensure_encoder() call to start() vmethod to ensure
6286           avoiding the race condition.
6287           https://bugzilla.gnome.org/show_bug.cgi?id=773546
6288
6289 2016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6290
6291         * gst/vaapi/gstvaapidecodebin.c:
6292           vaapidecodebin: bring back dynamic configuration
6293           In commit ca0c3fd6 we remove the dynamic configuration if the bin
6294           because we assumed that the bin will be always static as it is
6295           registered.
6296           Nonetheless we were wrong, because it is possible to request, with a
6297           property, to avoid the use of the post-processor.
6298           Since we want to add a way to disable the post-processor through
6299           environment variables, this remove feature is required again.
6300           If the environment variable GST_VAAPI_DISABLE_VPP is defined the
6301           postprocessor inside of the vaapidecodebin is disabled, then
6302           vaapidecodebin is an alias of the old vaapidecode.
6303           https://bugzilla.gnome.org/show_bug.cgi?id=775041
6304
6305 2016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6306
6307         * gst/vaapi/gstvaapidecode.c:
6308           vaapidecode: implement negotiate() vmethod
6309           Instead of decorating the negotiate() method, let us override it,
6310           so the stream is locked while called.
6311           https://bugzilla.gnome.org/show_bug.cgi?id=775040
6312
6313 2016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
6314
6315         * .gitmodules:
6316           common: use https protocol for common submodule
6317           https://bugzilla.gnome.org/show_bug.cgi?id=775110
6318
6319 2016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
6320
6321         * gst-libs/gst/vaapi/Makefile.am:
6322           build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
6323           In case libva-wayland has its headers not installed in default
6324           locations (like /usr/include), the build fails to include "wayland-client.h":
6325           CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
6326           In file included from gstvaapidisplay_wayland.h:27:0,
6327           from gstvaapidisplay_egl.c:35:
6328           /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
6329           #include <wayland-client.h>
6330           As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
6331           our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
6332           for libva-wayland.pc in configure and use this in other places as well. It is thus only
6333           correct and consequent, to do it also at this spot.
6334           https://bugzilla.gnome.org/show_bug.cgi?id=773946
6335
6336 2015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6337
6338         * gst/vaapi/gstvaapivideocontext.c:
6339           vaapivideocontext: log a message if no bus
6340           Raise a warning if there is no bus when the element tries to post a
6341           message.
6342
6343 2015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6344
6345         * gst/vaapi/gstvaapisink.c:
6346           vaapisink: create display at open()
6347           Instead of creating the VA display before setting the bus to the
6348           element, it is created when the element is opened.
6349           Basically, this commit is a revert of
6350           5e5d62cac79754ba60057fc2516135aad8d7de35
6351           That was done when the GStreamer's context sharing was not mature
6352           enough as now. There is no reason to keep this hack.
6353
6354 2016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6355
6356         * gst/vaapi/gstvaapidecode.c:
6357           vaapidecode: don't add video crop meta
6358           Since the differentiation of negotiation caps and allocation caps,
6359           there is no need to add a video crop meta with the negotiation caps.
6360           Hence, removing it.
6361           https://bugzilla.gnome.org/show_bug.cgi?id=773948
6362
6363 2015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6364
6365         * gst/vaapi/gstvaapivideobuffer.c:
6366         * gst/vaapi/gstvaapivideometa.c:
6367         * gst/vaapi/gstvaapivideometa.h:
6368           remove the video converter from vaapi buffer meta
6369           Since all the video converter were deprecated in gstreamer-1.2, we don't need
6370           to handle them anymore in the vaapi's buffer meta.
6371           This patch removes its usage and the buffer meta's API for that.
6372           https://bugzilla.gnome.org/show_bug.cgi?id=745728
6373
6374 2016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6375
6376         * gst/vaapi/gstvaapipluginbase.c:
6377           plugins: destroy source pad allocator and pool
6378           First, deactivate source pad pool when the out caps change, and if so,
6379           destroy texture map, the source pad allocator and pool only if the
6380           new caps are different from the ones already set.
6381
6382 2016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6383
6384         * gst/vaapi/gstvaapipluginbase.c:
6385           plugins: don't destroy sink pad allocator
6386           Don't destroy sink pad allocator at _set_caps() because it will be done at
6387           ensure_sinkpad_buffer_pool() if it is required.
6388
6389 2016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6390
6391         * gst/vaapi/gstvaapipluginbase.c:
6392           plugins: first validate the out caps
6393           When calling _set_caps() first validate the out caps before doing
6394           anything else.
6395
6396 2016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6397
6398         * gst/vaapi/gstvaapidecode.c:
6399           vaapidecode: negotiate after destroying allocator
6400           This is related with bug 758907 when no vaapipostproc is used (no
6401           vaapidecodebin). In order to negotiate downstream we need to destroy
6402           the source pad allocator, otherwise the same allocated buffers are
6403           used, failing the mapping.
6404
6405 2016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6406
6407         * gst/vaapi/gstvaapivideomemory.c:
6408           vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
6409           Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
6410           GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
6411           was created.
6412           https://bugzilla.gnome.org/show_bug.cgi?id=774782
6413
6414 2016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6415
6416         * gst/vaapi/gstvaapipluginbase.c:
6417           plugins: update the src pad allocator video info
6418           Update the size, stride and offset of the source pad allocator video
6419           info, so the pool could set the correct GstVideoMeta
6420           https://bugzilla.gnome.org/show_bug.cgi?id=774782
6421
6422 2016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6423
6424         * gst/vaapi/gstvaapivideomemory.c:
6425           vaapivideomemory: add missing documentation
6426           https://bugzilla.gnome.org/show_bug.cgi?id=774782
6427
6428 2016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6429
6430         * gst/vaapi/gstvaapipluginbase.c:
6431           plugins: use early return without goto
6432           https://bugzilla.gnome.org/show_bug.cgi?id=774782
6433
6434 2016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6435
6436         * gst/vaapi/gstvaapipluginbase.c:
6437         * gst/vaapi/gstvaapivideomemory.c:
6438         * gst/vaapi/gstvaapivideomemory.h:
6439           plugins: add allocator to allocation query
6440           This patch adds the created allocator to the allocation query either
6441           in decide_allocation() and propose_allocation() vmehtods.
6442           With it, there's no need to set the modified allocator's size in the
6443           pool configuration.
6444           https://bugzilla.gnome.org/show_bug.cgi?id=774782
6445
6446 2016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
6447
6448         * gst/vaapi/gstvaapivideobufferpool.c:
6449           vaapivideobufferpool: set correct buffer size
6450           We should set the correct buffer size when we are configuring the pool,
6451           otherwise the buffer will be discarded when it returns to the pool.
6452           Indeed when the ref-count of a buffer reaches zero, its pool will queue
6453           it back (and ref it) if, and only if, the buffer size matches the
6454           configured buffer size on the pool.
6455           This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
6456           https://bugzilla.gnome.org/show_bug.cgi?id=774782
6457
6458 2016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6459
6460         * gst/vaapi/gstvaapivideomemory.c:
6461           vaapivideomemory: check for memory allocator
6462           When calling gst_vaapi_video_memory_copy() the allocator of the memory
6463           to copy should be allocated by the vaapi allocator.
6464           This patch does this verification.
6465
6466 2016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6467
6468         * gst/vaapi/gstvaapivideomemory.c:
6469           vaapivideomemory: code style fixes
6470           A cosmetic commit for enhance readability of the casts and method
6471           preconditions.
6472
6473 2016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6474
6475         * gst/vaapi/gstvaapivideomemory.c:
6476           vaapivideomemory: unroll gst_vaapi_video_allocator_free()
6477           Instead of having a gst_vaapi_video_memory_free() that is only going to
6478           be called by gst_vaapi_video_allocator_free(), let's just remove the first
6479           and merged into the second.
6480
6481 2016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6482
6483         * gst/vaapi/gstvaapivideomemory.c:
6484           vaapivideomemory: avoid virtual methods casting
6485           Use the expected virtual method signatures for readability.
6486
6487 2016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6488
6489         * gst/vaapi/gstvaapivideomemory.c:
6490           vaapivideomemory: remove unimplemented methods
6491           Remove unimplemented method for allocator mem_share() and mem_is_span().
6492
6493 2016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6494
6495         * gst/vaapi/gstvaapivideomemory.c:
6496           vaapivideomemory: fail if frame map can't get plane
6497           If map() vmethod in GstVideMeta cannot get the plane data, return false,
6498           thus the caller will not try to read invalid memory.
6499           https://bugzilla.gnome.org/show_bug.cgi?id=774213
6500
6501 2016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6502
6503         * gst/vaapi/gstvaapivideomemory.c:
6504         * gst/vaapi/gstvaapivideomemory.h:
6505           vaapivideomemory: lock map and unmap operations
6506           In order to avoid race condition when two threads call map/unmap the same
6507           VA surface, this patch mutex these operations.
6508           https://bugzilla.gnome.org/show_bug.cgi?id=774213
6509
6510 2016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6511
6512         * gst/vaapi/gstvaapivideomemory.c:
6513           vaapivideomemory: refactor vaapi memory unmapping
6514           There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
6515           gst_vaapi_video_memory_unmap() when unmapping.
6516           This patch refactors both methods adding the common function
6517           unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
6518           is correctly reset.
6519           Additionally, only when mapping flag has the WRITE bit, it set the image as
6520           current, which was done in gst_video_meta_map_vaapi_memory() but no in
6521           gst_vaapi_video_memory_map().
6522           In order to make this, the mapping flags were required, so instead of
6523           overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
6524           https://bugzilla.gnome.org/show_bug.cgi?id=774213
6525
6526 2016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6527
6528         * gst/vaapi/gstvaapivideomemory.c:
6529           vaapivideomemory: refactor vaapi memory mapping
6530           There were duplicated code in gst_video_meta_map_vaapi_memory() and
6531           gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
6532           This patch refactors both methods adding the common function
6533           map_vaapi_memory().
6534           Additionally, only when flag has the READ bit it calls
6535           ensure_images_is_current(), which was done in
6536           gst_video_meta_map_vaapi_memory() but no in
6537           gst_vaapi_video_memory_map().
6538           https://bugzilla.gnome.org/show_bug.cgi?id=772151
6539
6540 2016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6541
6542         * gst/vaapi/gstvaapidecode.c:
6543           vaapidecode: unref allowed_sinkpad_caps at close()
6544           The variable member allowed_sinkpad_caps is constructed querying the
6545           current VA display. Bearing that in mind, the variable shall be freed
6546           when the VA display changes or is removed.
6547           This patch moves the freeing of allowed_sinkpad_caps to close(), when
6548           the VA display is freed.
6549
6550 2016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
6551
6552         * gst/vaapi/gstvaapisink.c:
6553           vaapisink: finish event thread at stop()
6554           The thread that handles window's events should be finished during
6555           pipeline's shutdown, otherwise it will remain alive during pipeline
6556           re-activation, leading to unexpected problems.
6557           This patch fixes failures of intensive_state_change scenario of
6558           gst-validate
6559           https://bugzilla.gnome.org/show_bug.cgi?id=774241
6560
6561 2016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6562
6563         * gst/vaapi/gstvaapipostproc.c:
6564           vaapipostproc: enhance debug message
6565           "gst_pad_push" is not a good description of the event.
6566
6567 2016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
6568
6569         * gst/vaapi/gstvaapipostproc.c:
6570           postproc: honor gst_pad_push() return value
6571           Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
6572           deadlock during seek.
6573           This patch returns the same error of gst_pad_push() and log out the
6574           return value.
6575           https://bugzilla.gnome.org/show_bug.cgi?id=774030
6576
6577 2016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6578
6579         * gst/vaapi/gstvaapidecode.c:
6580           vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
6581           In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
6582           compiled with out EGL/GLX support: it shall not support
6583           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
6584           This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
6585           allowed src caps for vaapedecode if EGL/GLX.
6586
6587 2016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6588
6589         * gst/vaapi/gstvaapivideomemory.c:
6590           vaapivideomemory: increment map counter only if succeeded
6591           Previously the frame map counter increased independently if the map succeeded
6592           or not. This leaded to critical messages and crashes if the frame was unable
6593           to be mapped, but the counter increased.
6594           This patch increases the map counter only if the map operation occurred.
6595           https://bugzilla.gnome.org/show_bug.cgi?id=773939
6596
6597 2016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6598
6599         * gst/vaapi/gstvaapipluginbase.c:
6600           plugins: set negotiation caps in src allocator
6601           When the allocator is created, it stores the allocation caps. But sometimes
6602           the "allocation caps" may be different from the "negotiation caps".
6603           In this case, the allocator should store the negotiation caps since they
6604           are the ones used for frame mapping with GstVideoMeta.
6605           When vaapispostproc is used, this is not a problem since the element is assume
6606           to resize. But when using a vaapi decoder only, with a software renderer, it
6607           fails in this case.
6608           https://bugzilla.gnome.org/show_bug.cgi?id=773323
6609
6610 2016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6611
6612         * gst/vaapi/gstvaapidecode.c:
6613         * gst/vaapi/gstvaapidecode.h:
6614           vaapidecode: generate source pad caps
6615           Just as vaapipostproc, VA decoder's context can be queried to get the possible
6616           raw formats, so, the src caps can negotiate the exact caps that the context
6617           supports.
6618
6619 2016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6620
6621         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6622         * gst-libs/gst/vaapi/gstvaapidecoder.h:
6623           libs: decoder: add _get_surface_formats()
6624           This function exposes the available formats of the surfaces in the the current
6625           context to the plugins.
6626
6627 2016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6628
6629         * gst-libs/gst/vaapi/gstvaapicontext.c:
6630         * gst-libs/gst/vaapi/gstvaapicontext.h:
6631           libs: context: ensure context formats
6632           This patch ensures to get the formats, as filter does, available in the
6633           decoder / encoder context.
6634           The context fills up the array as soon it is created, otherwise the pipeline
6635           could get stalled (perhaps this is a bug in my HSW backend).
6636           https://bugzilla.gnome.org/show_bug.cgi?id=752958
6637
6638 2016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6639
6640         * gst-libs/gst/vaapi/gstvaapifilter.c:
6641         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
6642         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
6643           libs: move get_surface_formats to utils_core
6644           The query of all the supported formats for a VA config were only used by the
6645           postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
6646           negotiate a suitable raw format with downstream, we need to query these
6647           formats against the decoder's config.
6648           This patch is the first step: moves the code in filter's ensure_image() to a
6649           generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
6650           shared later by the decoder.
6651           https://bugzilla.gnome.org/show_bug.cgi?id=752958
6652
6653 2016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6654
6655         * gst/vaapi/gstvaapipluginbase.c:
6656           plugins: remove set_sinkpad_dmabuf_allocator()
6657           Since when the sink pad allocator is created, it is decided if the required
6658           one is vaapi allocator or dmabuf allocator, there is no need to force its set
6659           again.
6660
6661 2016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6662
6663         * gst/vaapi/gstvaapipluginbase.c:
6664           plugins: ensure display when getting raw caps
6665           When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
6666           meanwhile it is transforming caps. The problem is that stop() calls
6667           gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
6668           the va display is used in tranform_caps() when it is extracting the possible
6669           format conversions. This display disappearing generates warning messages.
6670           This patch holds a local reference of va display at ensure_allowed_raw_caps()
6671           hence it doesn't go away meanwhile it is used, even if the
6672           gst_vaapi_plugin_base_close() is called in other thread.
6673           https://bugzilla.gnome.org/show_bug.cgi?id=773593
6674
6675 2016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6676
6677         * gst/vaapi/gstvaapiencode_h264.c:
6678         * gst/vaapi/gstvaapiencode_h265.c:
6679           plugins: fix code style for errors
6680
6681 2016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6682
6683         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
6684         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
6685         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
6686         * gst-libs/gst/vaapi/gstvaapicontext.c:
6687         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
6688         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6689         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
6690         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6691         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6692         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
6693         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
6694         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
6695         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
6696         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6697         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6698         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
6699         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6700         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6701         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6702         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
6703         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
6704         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
6705         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6706         * gst-libs/gst/vaapi/gstvaapifilter.c:
6707         * gst-libs/gst/vaapi/gstvaapiimage.c:
6708         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
6709         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
6710         * gst-libs/gst/vaapi/gstvaapipixmap.c:
6711         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
6712         * gst-libs/gst/vaapi/gstvaapisurface.c:
6713         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
6714         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
6715         * gst-libs/gst/vaapi/gstvaapitexture.c:
6716         * gst-libs/gst/vaapi/gstvaapiutils.c:
6717         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
6718         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
6719         * gst-libs/gst/vaapi/gstvaapiwindow.c:
6720         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
6721         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
6722           libs: fix code style for errors
6723
6724 2016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6725
6726         * gst/vaapi/gstvaapipluginbase.c:
6727         * gst/vaapi/gstvaapivideocontext.c:
6728           plugins: update GstGL deprecated symbol
6729           GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
6730
6731 2016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6732
6733         * gst/vaapi/gstvaapipluginbase.c:
6734           plugins: direct render when raw video
6735           Enable the direct rendering with linear surfaces if the negotiated src caps
6736           are video/x-raw without features.
6737           Pass also the caps, since they are needed to know the requested caps features.
6738
6739 2016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6740
6741         * gst/vaapi/gstvaapipluginbase.c:
6742           plugins: move src allocator error to instantiator
6743           Just as we did in ensure_sinkpad_allocator(), let's move the error message
6744           into the ensure_srcpad_allocator() from the caller,
6745           gst_vaapi_plugin_base_decide_allocation()
6746
6747 2016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6748
6749         * gst/vaapi/gstvaapipluginbase.c:
6750           plugins: enable direct upload if raw video
6751           Enable the direct upload with linear surfaces if the negotiated sink caps are
6752           video/x-raw without features.
6753
6754 2016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6755
6756         * gst/vaapi/gstvaapipluginutil.c:
6757         * gst/vaapi/gstvaapipluginutil.h:
6758           pluginutil: add gst_caps_is_video_raw()
6759
6760 2016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6761
6762         * gst/vaapi/gstvaapipluginbase.c:
6763           plugins: receive caps in ensure_sinkpad_allocator()
6764           Instead of receiving the GstVideoInfo structure as parameter, get the original
6765           GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
6766           which allocator instantiate.
6767
6768 2016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6769
6770         * gst/vaapi/gstvaapivideomemory.c:
6771           vaapivideomemory: destroy derived image at unmap
6772           If the allocator was configured to use direct upload or rendering, the
6773           generated derived image created at mapping needs to be destroyed after
6774           unmapping, because, in order to process the surface, it should not be marked
6775           as "busy" by the driver.
6776
6777 2016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6778
6779         * gst/vaapi/gstvaapivideomemory.c:
6780           vaapivideomemory: enhance logs for direct modes
6781           Print, conditionally, only the enabled direct mode.
6782
6783 2016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6784
6785         * gst/vaapi/gstvaapivideomemory.c:
6786         * gst/vaapi/gstvaapivideomemory.h:
6787           vaapivideomemory: add direct upload flag
6788           Adds the direct-upload flag in the GstVaapiVideoAllocator and
6789           GstVaapiVideoMemory.
6790           It still doesn't apply any functional change.
6791
6792 2016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6793
6794         * gst/vaapi/gstvaapipluginbase.c:
6795         * gst/vaapi/gstvaapivideomemory.c:
6796         * gst/vaapi/gstvaapivideomemory.h:
6797           vaapivideomemory: set direct rendering at run-time
6798           The way to experiment with the direct rendering is through and internal
6799           compiler pre-processor flag.
6800           The current change set enables a way to specified at run-time, as a flag
6801           passed to the allocator at instanciation time.
6802
6803 2016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6804
6805         * gst/vaapi/gstvaapivideomemory.c:
6806           vaapivideomemory: log in perf category when copy
6807           Log in performance category when the derive image handling fails, falling back
6808           to memory copy.
6809
6810 2016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6811
6812         * gst/vaapi/gstvaapivideomemory.c:
6813           vaapivideomemory: error log is derive image fails
6814           Instead of a silently failure of the derive image, this patch log an error
6815           message according to the failure.
6816
6817 2016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6818
6819         * gst/vaapi/gstvaapivideomemory.c:
6820           vaapivideomemory: store surface alloc flags in qdata
6821           For sake of consistency, we should add the requested surface allocation flags
6822           to the object's qdata structure.
6823
6824 2016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6825
6826         * gst/vaapi/gstvaapivideomemory.c:
6827           vaapivideomemory: category init when object define
6828           Move the Gstreamer debug category initialize to the GObject definition.
6829
6830 2016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6831
6832         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
6833           libs: vaapitexturemap: trivial code-style fix
6834
6835 2016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6836
6837         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6838           libs: display: egl: avoid recreate native display
6839           Instead of passing the native descriptor of the display, just pass the received
6840           GstVaapiDisplay and reuse it.
6841
6842 2016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6843
6844         * gst/vaapi/gstvaapipluginbase.c:
6845           plugins: log the GstVaapiDisplay name
6846           Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
6847           name. Log it instead of the memory address.
6848
6849 2016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
6850
6851         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
6852           libs: window: egl: pass native va display
6853           When creating a GstVaapiWindowEGL, it also creates native window by its own
6854           native display. It should pass the native display, either X11 or Wayland.
6855           https://bugzilla.gnome.org/show_bug.cgi?id=768266
6856
6857 2016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
6858
6859         * gst-libs/gst/vaapi/gstvaapidebug.h:
6860         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6861         * gst-libs/gst/vaapi/gstvaapidisplay.h:
6862         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6863         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
6864         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
6865         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6866         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
6867         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
6868         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
6869         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
6870         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
6871         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6872         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6873         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
6874         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
6875         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6876         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
6877         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
6878         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
6879         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
6880         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
6881         * gst/vaapi/gstvaapivideocontext.c:
6882           libs: display: GstVaapiDisplay as GstObject descendant
6883           This patch is to change the inheritance of GstVaapiDisplay to GstObject,
6884           instead of GstVaapiMiniObject. In this way we can use all the available
6885           infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
6886           In addition, a new debug category for GstVaapiDisplay is created to make it
6887           easier to trace debug messages. It is named "vaapidisplay" and it transverse
6888           all the VA display backends (DRM, GLX, EGL, Wayland, ...)
6889           This patch is a step forward to expose GstVaapiDisplay for users in a future
6890           library.
6891           https://bugzilla.gnome.org/show_bug.cgi?id=768266
6892           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6893
6894 === release 1.11.0 ===
6895
6896 2016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
6897
6898         * configure.ac:
6899           Back to development
6900
6901 === release 1.10.0 ===
6902
6903 2016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
6904
6905         * ChangeLog:
6906         * NEWS:
6907         * configure.ac:
6908         * gstreamer-vaapi.doap:
6909           Release 1.10.0
6910
6911 2016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6912
6913         * gst/vaapi/gstvaapidecodebin.c:
6914           vaapidecodebin: resurrect disable-vpp property
6915           https://bugzilla.gnome.org/show_bug.cgi?id=773589
6916
6917 2016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6918
6919         * gst/vaapi/gstvaapidecodebin.c:
6920           vaapidecodebin: name the internal queue
6921           https://bugzilla.gnome.org/show_bug.cgi?id=773589
6922
6923 2016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6924
6925         * gst/vaapi/gstvaapidecodebin.c:
6926         * gst/vaapi/gstvaapidecodebin.h:
6927           vaapidecodebin: remove unused variables
6928           Since vaapipostproc is only registered if the driver supports it, all the
6929           support for dynamic loading were removed. Though some leftovers remained.
6930           https://bugzilla.gnome.org/show_bug.cgi?id=773589
6931
6932 2016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6933
6934         * docs/plugins/Makefile.am:
6935         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
6936         * docs/plugins/running.xml:
6937           docs: document environment variables
6938           https://bugzilla.gnome.org/show_bug.cgi?id=773544
6939
6940 2016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6941
6942         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
6943         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
6944         * gst/vaapi/Makefile.am:
6945         * gst/vaapi/gstvaapidecode.c:
6946         * gst/vaapi/gstvaapidecodebin.c:
6947         * gst/vaapi/gstvaapidecodedoc.c:
6948           docs: replace vaapidecode with each codec
6949           In the spirit of the codec split, this patch removes the documentation of
6950           vaapidecode and adds a page per each possible decoder.
6951           Nonetheless, only those available in the compilation system are going to be
6952           instrospected, because the rest are not registered.
6953
6954 2016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6955
6956         * gst/vaapi/gstvaapipluginutil.c:
6957         * gst/vaapi/gstvaapivideobuffer.c:
6958         * gst/vaapi/gstvaapivideometa.c:
6959           docs: add missing long descriptions
6960
6961 2016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6962
6963         * gst/vaapi/gstvaapipostproc.c:
6964           vaapipostproc: use GST_*_OBJECT when possible
6965           Since we can have several vaapipostproc operating in a pipeline, it is useful
6966           to know which one is generating the logging message.
6967           https://bugzilla.gnome.org/show_bug.cgi?id=773497
6968
6969 2016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6970
6971         * gst/vaapi/gstvaapidecode.c:
6972         * gst/vaapi/gstvaapidecode.h:
6973           vaapidecode: rename member to allowed_sinkpad_caps
6974           vaapidecode has a member named allowed_caps, but this name is not enough
6975           explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
6976           No functional changes were included.
6977           https://bugzilla.gnome.org/show_bug.cgi?id=773497
6978
6979 2016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6980
6981         * gst/vaapi/gstvaapiencode_h264.c:
6982         * gst/vaapi/gstvaapiencode_h265.c:
6983         * gst/vaapi/gstvaapisink.c:
6984         * gst/vaapi/gstvaapivideomemory.c:
6985         * gst/vaapi/gstvaapivideometa.c:
6986         * gst/vaapi/gstvaapivideometa_texture.c:
6987           plugins: fix code style for errors
6988           https://bugzilla.gnome.org/show_bug.cgi?id=773497
6989
6990 2016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6991
6992         * gst/vaapi/gstvaapivideomemory.c:
6993           vaapivideomemory: comment style
6994           https://bugzilla.gnome.org/show_bug.cgi?id=773497
6995
6996 2016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6997
6998         * gst/vaapi/gstvaapivideomemory.c:
6999         * gst/vaapi/gstvaapivideomemory.h:
7000           vaapivideomemory: rename input parameter
7001           In order to clarify the use of flag as input parameter, it is renamed to
7002           surface_alloc_flag, since it is used when creating a VA surface with certain
7003           properties.
7004           https://bugzilla.gnome.org/show_bug.cgi?id=773497
7005
7006 2016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7007
7008         * gst/vaapi/gstvaapidecode.c:
7009           vaapidecode: rename element description
7010           So encoders and decoders have similar descriptions.
7011           https://bugzilla.gnome.org/show_bug.cgi?id=773497
7012
7013 2016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7014
7015         * gst/vaapi/gstvaapiencode_h264.c:
7016         * gst/vaapi/gstvaapiencode_h265.c:
7017           vaapiencode: h264, h265: rename codec name
7018           So encoder and decoders have the same codec name.
7019           https://bugzilla.gnome.org/show_bug.cgi?id=773497
7020
7021 2016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7022
7023         * gst/vaapi/gstvaapipluginbase.c:
7024           plugins: simplify code
7025           Merge two lines of variable declarations.
7026           https://bugzilla.gnome.org/show_bug.cgi?id=773497
7027
7028 2016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
7029
7030         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7031         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
7032         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
7033         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
7034           libs: minor correction for logical consistency
7035           GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
7036           use its methods, even though it doesn't change functionality.
7037           GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
7038           GstVaapiObject, hence its methods shall be used.
7039           https://bugzilla.gnome.org/show_bug.cgi?id=772554
7040
7041 2016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
7042
7043         * gst/vaapi/gstvaapivideomemory.c:
7044           vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
7045           In short GstFdMemory is configured to call close when using
7046           GstDmabufMemory.
7047           https://bugzilla.gnome.org/show_bug.cgi?id=755072
7048
7049 2016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7050
7051         * configure.ac:
7052         * gst-libs/gst/vaapi/Makefile.am:
7053           build: clean up the dlopen usage
7054
7055 2016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7056
7057         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7058         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7059           encoder: h264,h265: fix regression in offset count
7060           In commit dc35dafa a bug was introduced because I assumed that
7061           GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
7062           https://bugzilla.gnome.org/show_bug.cgi?id=772259
7063
7064 2016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7065
7066         * README:
7067           docs: update README
7068
7069 2016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7070
7071         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7072           libs: display: egl: remove unused header include
7073           The header gmodule.h is not used since the library dynamic loading for EGL
7074           display was removed.
7075           https://bugzilla.gnome.org/show_bug.cgi?id=772599
7076
7077 === release 1.9.90 ===
7078
7079 2016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
7080
7081         * ChangeLog:
7082         * NEWS:
7083         * common:
7084         * configure.ac:
7085         * gstreamer-vaapi.doap:
7086           Release 1.9.90
7087
7088 2016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
7089
7090         * gst/vaapi/gstvaapidecode.c:
7091         * gst/vaapi/gstvaapidecodebin.c:
7092         * gst/vaapi/gstvaapiencode_h264.c:
7093         * gst/vaapi/gstvaapiencode_h265.c:
7094         * gst/vaapi/gstvaapiencode_jpeg.c:
7095         * gst/vaapi/gstvaapiencode_mpeg2.c:
7096         * gst/vaapi/gstvaapiencode_vp8.c:
7097         * gst/vaapi/gstvaapipostproc.c:
7098         * gst/vaapi/gstvaapisink.c:
7099           vaapi: use new gst_element_class_add_static_pad_template()
7100           https://bugzilla.gnome.org/show_bug.cgi?id=763083
7101           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7102
7103 2016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
7104
7105         * gst/vaapi/gstvaapipluginbase.c:
7106           plugins: reset textures at negotiation/shutdown
7107           When caps reconfiguration is called, the new downstream frame size might be
7108           different. Thus, if the downstream caps change,the display's texture map is
7109           reset.
7110           In addition, during pipeline shutdown, textures in texture map have to be
7111           released, since each one have a reference to the GstVaapiDisplay object, which
7112           is a dangerous circular reference.
7113           https://bugzilla.gnome.org/show_bug.cgi?id=769293
7114           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7115
7116 2016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
7117
7118         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7119         * gst-libs/gst/vaapi/gstvaapidisplay.h:
7120         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7121         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
7122         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
7123         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
7124         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
7125         * gst/vaapi/gstvaapivideometa_texture.c:
7126           libs: display{egl,glx}: cache GstVaapiTextures
7127           instances when created and reuse
7128           This patch improves performance when glimagesink uploads a GL texture.
7129           It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
7130           instance of GstVaapiTextureMap, so our internal texture structure can be found
7131           by matching the GL texture id for each frame upload process, avoiding the
7132           internal texture structure creation and its following destruction.
7133           https://bugzilla.gnome.org/show_bug.cgi?id=769293
7134           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7135
7136 2016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
7137
7138         * gst-libs/gst/vaapi/Makefile.am:
7139         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
7140         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
7141           libs: vaapitexturemap: implement GstVaapiTextureMap
7142           Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
7143           reused. Internally it is a hash table.
7144           Note that it is GstObject based rather than GstVaapiObject, as part of the future
7145           converstion to GstObject of most of the code.
7146           https://bugzilla.gnome.org/show_bug.cgi?id=769293
7147           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7148
7149 2016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7150
7151         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
7152           encoder: vp8: Increase the allocation size for coded buffer
7153           We are not getting enough compression for some streams and
7154           encoded frame end up with more size than allocated.
7155           Assuming a compression ratio of 4, which should be good enough
7156           for holding the frames.
7157           https://bugzilla.gnome.org/show_bug.cgi?id=771528
7158
7159 2016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7160
7161         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
7162           encoder: vp9: Fix refresh frame flag setting
7163           While doing the mode-1 referece picture selection,
7164           the circular buffer logic was not correctly setting the
7165           refresh frame flags as per VP9 spec.
7166           Make sure refresh_flag[0] get updated correclty after
7167           each cycle of GST_VP9_REF_FRAMES.
7168           https://bugzilla.gnome.org/show_bug.cgi?id=771507
7169
7170 2016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7171
7172         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7173           vaapidecode: codec_data minimal size is 7
7174           When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
7175           stream, not in the codec_data, so the size of codec_data might be 7.
7176           This patch reduces the minimal size of the codec_data buffer from 8 to 7.
7177           https://bugzilla.gnome.org/show_bug.cgi?id=771441
7178
7179 2016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7180
7181         * gst/vaapi/gstvaapidecode.c:
7182           vaapidecode: reset decoder hard when set_format()
7183           set_format() is called by upstream when the stream capabilites has changed.
7184           Before, if the new stream is compatible with the old one the VA decoder was
7185           not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
7186           when the upstreamer parsers gets more details of the stream, such as the
7187           framerate. Hence, when the src caps are negotiates, the further sink caps
7188           updates are ignored.
7189           This patch forces the VA decoder destroying and recreation when set_format()
7190           is called.
7191           https://bugzilla.gnome.org/show_bug.cgi?id=770921
7192
7193 2016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
7194
7195         * configure.ac:
7196           configure: Depend on gstreamer 1.9.2.1
7197
7198 2016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7199
7200         * gst/vaapi/gstvaapivideomemory.c:
7201           Revert "vaapivideomemory: load VA Image when mapping to write"
7202           This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
7203
7204 2016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
7205
7206         * common:
7207           Automatic update of common submodule
7208           From b18d820 to f980fd9
7209
7210 2016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
7211
7212         * common:
7213           Automatic update of common submodule
7214           From f49c55e to b18d820
7215
7216 2016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
7217
7218         * gst/vaapi/gstvaapipluginbase.c:
7219           plugins: set allocator's image size to sinkpad bufferpool
7220           Otherwise the buffer is always ditched by the bufferpool, losing performance.
7221           https://bugzilla.gnome.org/show_bug.cgi?id=771035
7222
7223 2016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7224
7225         * gst-libs/gst/vaapi/gstvaapisurface.c:
7226           libs: surface: ensure composite overlay is not bigger
7227           Ensure the composition overlay rectangle (subtitles) is not bigger than
7228           the surface where it is going to be composited and rendered.
7229           https://bugzilla.gnome.org/show_bug.cgi?id=766978
7230
7231 2016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
7232
7233         * gst/vaapi/gstvaapivideomemory.c:
7234           vaapivideomemory: load VA Image when mapping to write
7235           When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
7236           ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
7237           in this case.
7238           https://bugzilla.gnome.org/show_bug.cgi?id=766978
7239
7240 2016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7241
7242         * gst/vaapi/gstvaapidecode.c:
7243           vaapidecode: merge vc1 and wmv3 elements
7244           This patch merges vaapivc1dec and vaapiwmv3dec into a single
7245           vaapivc1dec. Also, removed the WMVA format, since it is not
7246           supported by libva.
7247           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7248
7249 2016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7250
7251         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7252           decoder: vc1: fails only on advanced profile
7253           In commit 2eb4394 the frame coding mode was verified for progressive
7254           regardless the profile. But the FCM is only valid in the advanced
7255           profile. This patch checks for the advanced profile before verifying FCM for
7256           progressive.
7257           https://bugzilla.gnome.org/show_bug.cgi?id=769250
7258
7259 2016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7260
7261         * gst/vaapi/gstvaapi.c:
7262           vaapi: DISPLAY envvar as dependency
7263           In a multiple video cards system, a X11 environment may have different VA
7264           capabilities. This patch tracks the DISPLAY environment variable to
7265           invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
7266           https://bugzilla.gnome.org/show_bug.cgi?id=770357
7267
7268 2016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7269
7270         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7271           decoder: vc1: Fail only on actual interlaced frames
7272           In the earlier patch:
7273           f31d9f3 decoder: vc1: Print error on interlaced content
7274           Decoding would error out if the interlace flag was set in the
7275           sequence bdu. This isn't quite right because a video can have this
7276           flag set and yet not have any interlaced pictures.
7277           Here instead we error out when either parsing a field bdu or
7278           decoding a frame bdu which has fcm set to anything other than
7279           progressive.
7280           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7281           https://bugzilla.gnome.org/show_bug.cgi?id=769250
7282
7283 2016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
7284
7285         * configure.ac:
7286           Back to development
7287
7288 === release 1.9.2 ===
7289
7290 2016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
7291
7292         * ChangeLog:
7293         * NEWS:
7294         * configure.ac:
7295         * gstreamer-vaapi.doap:
7296           Release 1.9.2
7297
7298 2016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
7299
7300         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7301           decoder: vc1: Print error on interlaced content
7302           Interlaced video is as yet unsupported in the vc1 element. Print
7303           an error to make that more obvious.
7304           https://bugzilla.gnome.org/show_bug.cgi?id=769250
7305
7306 2016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7307
7308         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7309           encoder: h264: fix C90 mixed declarations and code
7310           Commit 4259d1a introduced this compilation error. This patch fixes it.
7311
7312 2016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7313
7314         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7315         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7316         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7317         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
7318           encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
7319           Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
7320           to avoid overflows, underflows and loss of precision.
7321           https://bugzilla.gnome.org/show_bug.cgi?id=768458
7322
7323 2016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7324
7325         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7326         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7327           vaapiencode: h264,h265: validate fps numerator
7328           Validate that fps numerator is non-zero so it can be used to calculate
7329           the duration of the B frame.
7330           Also it gst_util_uint64_scale() is used instead of normal arithmetic in
7331           order to aviod overflows, underflows and loss of precision.
7332           https://bugzilla.gnome.org/show_bug.cgi?id=768458
7333
7334 2016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
7335
7336         * gst/vaapi/gstvaapi.c:
7337           encoders: demote to RANK_NONE since not fit for autoplugging yet
7338           Encoders claim to support a whole bunch of input formats but then
7339           just error out if the format is not actually supported, even if
7340           there's a converter in front. This means they're not fit for
7341           autoplugging in encodebin or camerabin yet and therefore should
7342           not have a rank. People can still use them in custom pipelines.
7343           https://bugzilla.gnome.org/show_bug.cgi?id=769266
7344
7345 2016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7346
7347         * gst/vaapi/gstvaapipluginbase.c:
7348           plugins: check dmabuf-import for sink pad allocator
7349           Check earlier if upstream video source has activated the dmabuf-import
7350           io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
7351           new allocator.
7352
7353 2016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7354
7355         * gst/vaapi/gstvaapipluginbase.c:
7356           plugins: reset allocators if video info changed
7357           If the frame size or format, change, the allocators are reset, so a new ones
7358           can be created with the new video info.
7359
7360 2016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7361
7362         * gst/vaapi/gstvaapipluginbase.c:
7363           plugins: remove sink pad allocator if caps change
7364           If the negotiated sinkpad caps change, destroy the assignated allocator,
7365           because it is not valid anymore.
7366
7367 2016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7368
7369         * gst/vaapi/gstvaapipluginutil.c:
7370         * gst/vaapi/gstvaapipluginutil.h:
7371           pluginutil: const params to gst_video_info_changed()
7372           Since they are not modified, we should mark them as const.
7373
7374 2016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7375
7376         * gst/vaapi/gstvaapipluginbase.c:
7377         * gst/vaapi/gstvaapivideomemory.c:
7378         * gst/vaapi/gstvaapivideomemory.h:
7379           gstvaapivideomemory: allocator's image size getter
7380           Add the method gst_allocator_get_vaapi_image_size() for the
7381           GstVaapiVideoAllocator, which gets the size of the allocated images with the
7382           current video info.
7383           This method replaces the direct call to the allocator's image info when the
7384           pool is configured.
7385
7386 2016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
7387
7388         * gst/vaapi/gstvaapipluginbase.c:
7389           plugins: update buffer pool size with new allocator's image size
7390           Depends on media, video size is sometimes updated with new allocator.
7391           It leads to dismatch between bufferpool's set size and real allocated buffer size.
7392           In this case, it causes every buffer is freed during release in bufferpool,
7393           which should be reused. This affects performance.
7394           https://bugzilla.gnome.org/show_bug.cgi?id=769248
7395
7396 2016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7397
7398         * configure.ac:
7399           configure: remove gmodule-2.0 EGL dependency
7400           Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
7401           thus the dependency to gmodule-2.0 is not mandatory anymore.
7402
7403 2016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7404
7405         * configure.ac:
7406           configure: Fix non-fatal PKG_CHECK_MODULES invocations
7407           Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
7408           the package is missing, but action-if-not-found was given as an empty
7409           string which still causes the default action to run, which halts
7410           execution.
7411           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7412           https://bugzilla.gnome.org/show_bug.cgi?id=769237
7413
7414 2016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7415
7416         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7417           libs: egl: remove dynamic library loading code
7418           Since the upstream of gstreamer-vaapi, the library is not a public shared
7419           object anymore. But the EGL support depended on this dynamic library, so the
7420           EGL support was broken.
7421           This patch removes the dynamic library loading code and instantiates the
7422           EGL display using either X11 or Wayland if available.
7423           https://bugzilla.gnome.org/show_bug.cgi?id=767203
7424
7425 2016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7426
7427         * gst/vaapi/gstvaapi.c:
7428         * gst/vaapi/gstvaapidecode.c:
7429         * gst/vaapi/gstvaapidecode.h:
7430           vaapidecode: register only the available decoders
7431           In order to register only the available decoders, this patch queries the
7432           created test VA display, which uses the currently used back-end (X11, Wayland,
7433           DRM, …) on the used display device.
7434           https://bugzilla.gnome.org/show_bug.cgi?id=724352
7435
7436 2016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7437
7438         * gst/vaapi/gstvaapi.c:
7439         * gst/vaapi/gstvaapipluginutil.c:
7440         * gst/vaapi/gstvaapipluginutil.h:
7441           vaapi: register only the available encoders
7442           In order to register only the available encoders, this patch queries the
7443           created test VA display, which uses the currently used back-end (X11,
7444           Wayland, DRM, …) on the used display device.
7445           https://bugzilla.gnome.org/show_bug.cgi?id=724352
7446
7447 2016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7448
7449         * gst/vaapi/gstvaapidecode.c:
7450         * gst/vaapi/gstvaapidecodebin.c:
7451           vaapidecode: split all the codecs
7452           Split the vaapidecode to all the supported codecs with the format
7453           vaapi{codec}dec.
7454           vaapidecode is stil registered as a GObject type, but not as a
7455           GStreamer feature, so it can be used internally by vaapidecodebin without
7456           changing its code too much.
7457           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7458
7459 2016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7460
7461         * gst/vaapi/gstvaapidecodebin.c:
7462           vaapidecodebin: simplify the code
7463           Since the elements dependant of the VA video processor are now only registered
7464           if it is available, vaapidecodebin code can be simplified a lot, removing all
7465           the code required to check if the VA video processor was available.
7466           https://bugzilla.gnome.org/show_bug.cgi?id=768899
7467
7468 2016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7469
7470         * gst/vaapi/gstvaapidecode.c:
7471           vaapidecode: delay the GstVaapiDisplay instantiating
7472           Delay the GstVaapiDisplay instantiating until when changing the state from
7473           READY to PAUSE. In this way the element has more chances to find an already
7474           created GstVaapiDisplay, or a GL context, in the pipeline.
7475           https://bugzilla.gnome.org/show_bug.cgi?id=766206
7476
7477 2016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7478
7479         * gst/vaapi/gstvaapipluginutil.c:
7480           pluginutil: set GLX display type
7481           The function gst_vaapi_create_display_from_gl_context() cretes a
7482           GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
7483           when the GL platform was GLX, but a plain X11 VA display.
7484           This patch fixes that, by querying the GL platform earlier.
7485           https://bugzilla.gnome.org/show_bug.cgi?id=766206
7486
7487 2016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7488
7489         * gst/vaapi/gstvaapipluginbase.c:
7490         * gst/vaapi/gstvaapivideocontext.c:
7491         * gst/vaapi/gstvaapivideocontext.h:
7492           plugins: add gst_vaapi_plugin_base_find_gl_context()
7493           Using the GstContext mechanism, it is possible to find if the pipeline
7494           shares a GstGLContext, even if we are not to negotiating GLTextureUpload
7495           meta. This is interesting because we could negotiate system memory caps
7496           feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
7497           https://bugzilla.gnome.org/show_bug.cgi?id=766206
7498
7499 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7500
7501         * gst/vaapi/gstvaapipluginbase.c:
7502         * gst/vaapi/gstvaapipluginbase.h:
7503           plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
7504           Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
7505           it is deleted.
7506
7507 2016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7508
7509         * gst/vaapi/gstvaapipluginbase.h:
7510           plugins: remove common change_state() vmethod
7511           Remove the common change_state() vmethod for all the plugins, since no one is
7512           using it.
7513
7514 2016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7515
7516         * gst/vaapi/gstvaapidecode.c:
7517           vaapidecode: remove change_state() vmethod
7518           Since the driver checkup is done at registering, there is no need to do it
7519           when changing the element state from NULL to READY. This patch remove this
7520           vmethod from vaapidecode.
7521
7522 2016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7523
7524         * gst/vaapi/gstvaapi.c:
7525           vaapi: register vaapipostproc only if supported
7526           Query the GstVaapiDisplay to know if the driver supports video
7527           postprocessing. If does, then register vaapipostproc and vaapidecodebin
7528           elements.
7529           This patch will simplify the design of vaapidecodebin.
7530           https://bugzilla.gnome.org/show_bug.cgi?id=724352
7531
7532 2016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7533
7534         * gst/vaapi/gstvaapi.c:
7535           vaapi: don't register if VA driver is unsupported
7536           Using the test VA display, the driver name is queried, and if it is not
7537           white-listed, the plugin rejects to register any element.
7538           https://bugzilla.gnome.org/show_bug.cgi?id=724352
7539
7540 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7541
7542         * gst/vaapi/gstvaapipluginbase.c:
7543         * gst/vaapi/gstvaapipluginutil.c:
7544         * gst/vaapi/gstvaapipluginutil.h:
7545           plugins: add gst_vaapi_driver_is_whitelisted()
7546           Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
7547           new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
7548           when registering the plugin's feature set with the test VA display.
7549           https://bugzilla.gnome.org/show_bug.cgi?id=724352
7550
7551 2016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7552
7553         * gst/vaapi/gstvaapi.c:
7554           vaapi: instantiate a VA display when registering
7555           This patch tries to instantiate a GstVaapiDisplay when registering the plugin
7556           features, if it fails, no gstreamer-vaapi element is registering.
7557           The purpose of this patch is to avoid a situation where the user has
7558           gstreamer-vaapi installed but their VA-API setup is not functional, which may
7559           lead to unexpected behavior.
7560           https://bugzilla.gnome.org/show_bug.cgi?id=724352
7561
7562 2016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7563
7564         * configure.ac:
7565         * gst/vaapi/gstvaapi.c:
7566           vaapi: declare external dependencies
7567           There are two main external dependencies that define the feature set of this
7568           plugin: a) the kernel and b) the VA driver
7569           This patch tracks both dependencies, if any of them change, GStreamer will
7570           re-inspect the plugin.
7571           The kernel is tracked through the device files /dev/dri/card*
7572           The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
7573           where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
7574           the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
7575           since they modify the driver lookup.
7576           Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
7577           https://bugzilla.gnome.org/show_bug.cgi?id=724352
7578
7579 2016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7580
7581         * gst/vaapi/gstvaapidecode.c:
7582           vaapidecode: remove unneeded initializations
7583           GObject's memory is set to zero, so there is no need to initialize to zero or
7584           NULL it's class variables.
7585
7586 2016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7587
7588         * gst/vaapi/gstvaapipluginbase.h:
7589           plugins: remove undefined macros
7590
7591 2016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7592
7593         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
7594           Revert "gstvaapisurface_drm: release image when done"
7595           This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
7596           372a03a9e38acbf435eb80bf31d9a9844069e504.
7597           While the dmabuf handle is exported, the derive image must exist, otherwise
7598           the image's VA buffer is invalid, thus the dmabuf handle is never released,
7599           leading into a file descriptors leak.
7600
7601 2016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7602
7603         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7604           encoder: h265: fix code-style
7605
7606 2016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7607
7608         * gst/vaapi/gstvaapipostproc.c:
7609           vaapipostproc: update filters at color balance
7610           This is a fix for a regression of previous commit, which updates the filters
7611           only when the property is set, because it is also required to update the
7612           filter when the color balance interface change its values.
7613
7614 2016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
7615
7616         * gst/vaapi/gstvaapipostproc.c:
7617         * gst/vaapi/gstvaapipostproc.h:
7618           vaapipostproc: make it enable/disable pass-through mode
7619           In case that sink caps and src caps are same, and no filtering parameter set,
7620           pass-through mode is enabled.
7621           If new filtering parameter is set during playback, it makes it reconfiguring,
7622           so that pass-through mode is changed
7623           In addition, updating filter is performed during reconfiguration, if needed.
7624           https://bugzilla.gnome.org/show_bug.cgi?id=751876
7625
7626 2016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
7627
7628         * gst-libs/gst/vaapi/gstvaapifilter.c:
7629         * gst-libs/gst/vaapi/gstvaapifilter.h:
7630         * gst/vaapi/gstvaapipostproc.c:
7631           vaapipostproc: checking and updating filter parameter only when it's set
7632           This patch is to avoid checking filter value at every frame.
7633           https://bugzilla.gnome.org/show_bug.cgi?id=751876
7634
7635 2016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
7636
7637         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7638           decoder: h265: handle the SEI NAL units included in codec_data
7639           The prefix/suffix SEI nal units can appear in codec_data too
7640           which weren't handled before. Parse these SEI headers to
7641           fix the segfault.
7642           https://bugzilla.gnome.org/show_bug.cgi?id=768544
7643
7644 2016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7645
7646         * docs/plugins/Makefile.am:
7647           build: doc: do not redefine MAINTAINERCLEANFILES
7648           MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
7649           overload it, the files should be added.
7650
7651 2016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7652
7653         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7654           encoder: h264: Fix MVC encode while enabling dct8x8
7655           Pack the transform_8x8_mode_flag and other necessary rbsp data
7656           in packed_pps header for MVC encode.
7657           https://bugzilla.gnome.org/show_bug.cgi?id=768647
7658
7659 2016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7660
7661         * gst/vaapi/gstvaapisink.c:
7662           vaapisink: demote a debug message to trace
7663           Reduces noise when debugging.
7664
7665 2016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
7666
7667         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7668           wayland: Error check before using cached wl_display
7669           A planar(or some other) buffer allocation may fail on the driver, then
7670           the wayland connection becomes invalid, not able to send request or
7671           receive any event. So we need to set up a new wayland connection if
7672           there's an error detected on the cached wl_display.
7673           https://bugzilla.gnome.org/show_bug.cgi?id=768761
7674           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7675
7676 2016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
7677
7678         * common:
7679           Automatic update of common submodule
7680           From ac2f647 to f49c55e
7681
7682 2016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7683
7684         * gst/vaapi/gstvaapiencode.c:
7685           vaapiencode: demote a log to trace level
7686           Removes noise when debugging.
7687
7688 2016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
7689
7690         * gst/vaapi/gstvaapiencode.c:
7691           vaapiencode: implement flush() vmethod
7692           In order to handle correctly seek and other operations, vaapiencode should
7693           flush all the remaining data from the encoder without pushing it downstream.
7694           This patch implements the flush() vmethod, only after of pausing the
7695           source pad task, and restarting it again after the flush stop.
7696           https://bugzilla.gnome.org/show_bug.cgi?id=767176
7697           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7698
7699 2016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7700
7701         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7702           decoder: vc1: flush dpb only if opened
7703           Flush the decode picture buffer, if and only if, the decoder is
7704           started. Otherwise the dpb structure might be NULL.
7705           https://bugzilla.gnome.org/show_bug.cgi?id=742922
7706
7707 2016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
7708
7709         * gst/vaapi/gstvaapidecode.c:
7710         * gst/vaapi/gstvaapidecode.h:
7711           vaapidecode: drop non-keyframe in reverse playback
7712           To avoid surface-exhausted situation during reverse playback,
7713           drop frames except for key frame.
7714           Also, to avoid the corruption of the parser state, flush() vmethod
7715           doesn't destroy the VA decoder when playing in reverse.
7716           https://bugzilla.gnome.org/show_bug.cgi?id=742922
7717           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7718
7719 2016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7720
7721         * gst/vaapi/gstvaapidecode.c:
7722           vaapidecode: unref output frame earlier
7723           The queue in GstVaapiDecode adds an extra reference to the frames. This patch
7724           unref that extra reference earlier making the code simpler to follow.
7725           https://bugzilla.gnome.org/show_bug.cgi?id=768652
7726
7727 2016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7728
7729         * gst/vaapi/gstvaapidecode.c:
7730           vaapidecode: remove gst_vaapidecode_internal_flush()
7731           As gst_vaapidecode_finish() is the only callee of
7732           gst_vaapidecode_internal_flush(), it is better to inline it.
7733           https://bugzilla.gnome.org/show_bug.cgi?id=768652
7734
7735 2016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7736
7737         * gst/vaapi/gstvaapidecode.c:
7738           vaapidecode: flush output adapter at drain()
7739           Calling drain() vmethod means "decode any data it can at this point, but that
7740           more data may arrive after". Hence, vaapidecode should check if there is data
7741           in the output adapter and process them, without destroying the decoded picture
7742           buffer (dpb).
7743           Since this operation is done by gst_vaapidecode_internal_flush(), the operation
7744           was refactored into a new function gst_vaapidecode_flush_output_adapter().
7745           https://bugzilla.gnome.org/show_bug.cgi?id=768652
7746
7747 2016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7748
7749         * gst/vaapi/gstvaapidecode.c:
7750           vaapidecode: call purge at flush()
7751           Calling flush() vmethod means "to flush all remaining data from the decoder
7752           without pushing it downstream".
7753           Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
7754           gst_video_decoder_have_frame() if there is still something in the input
7755           adapter, which may push buffers to downstream by calling handle_frame().
7756           This patch changes this behavior by calling gst_vaapidecode_purge() rather
7757           than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
7758           decoder and releases all the rest of decoded frames.
7759           https://bugzilla.gnome.org/show_bug.cgi?id=768652
7760
7761 2016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7762
7763         * tests/elements/Makefile.am:
7764         * tests/elements/test-vaapisink.c:
7765           test: elements: remove spurious linkage
7766           Element tests only need to link against gstreamer libraries.
7767
7768 2016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
7769
7770         * configure.ac:
7771           configure: Require GLib >= 2.40 like everywhere else
7772
7773 2016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
7774
7775         * configure.ac:
7776           Back to development
7777
7778 === release 1.9.1 ===
7779
7780 2016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
7781
7782         * ChangeLog:
7783         * NEWS:
7784         * common:
7785         * configure.ac:
7786         * gstreamer-vaapi.doap:
7787           Release 1.9.1
7788
7789 2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7790
7791         * tests/elements/test-vaapisink.c:
7792           tests: elements: rotate orientation event
7793
7794 2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
7795
7796         * configure.ac:
7797         * tests/Makefile.am:
7798         * tests/elements/Makefile.am:
7799         * tests/elements/test-vaapisink.c:
7800           tests: elements: Add testsuite for vaapisink
7801           https://bugzilla.gnome.org/show_bug.cgi?id=765798
7802
7803 2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
7804
7805         * gst-libs/gst/vaapi/gstvaapitypes.h:
7806         * gst-libs/gst/vaapi/gstvaapivalue.c:
7807         * gst/vaapi/gstvaapisink.c:
7808         * gst/vaapi/gstvaapisink.h:
7809           vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
7810           https://bugzilla.gnome.org/show_bug.cgi?id=765798
7811
7812 2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7813
7814         * gst/vaapi/gstvaapipostproc.c:
7815           vaapipostproc: return caps template if no display
7816           This patch is a fix for my bad review of commit 6d73ca8d. The element should
7817           be able to return the available raw caps handled by the VA display, but that
7818           only should happen when there a VA display. If there's none, the element
7819           should use the caps template.
7820           https://bugzilla.gnome.org/show_bug.cgi?id=768161
7821
7822 2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
7823
7824         * gst/vaapi/gstvaapipostproc.c:
7825           vaapipostproc: don't require a vaapi display for all caps queries
7826           This delays the requirement of having a GstVaapiDisplay until later
7827           https://bugzilla.gnome.org/show_bug.cgi?id=768161
7828
7829 2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7830
7831         * gst-libs/gst/vaapi/gstvaapiutils.c:
7832           utils: report VP9 profiles
7833           Add VP9Profile0-3 name mapping.
7834
7835 2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7836
7837         * gst/vaapi/gstvaapi.c:
7838           vaapi: nest includes under USE_ENCODER macro
7839           This is a missed changeset from commit 1c05c53, since also header includes
7840           should be nested.
7841
7842 2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7843
7844         * gst/vaapi/gstvaapi.c:
7845           vaapi: nest encoders under USE_ENCODER macro
7846           Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
7847           macro, it is clearer to nest them, showing explicitly the dependency relation.
7848
7849 2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7850
7851         * gst/vaapi/gstvaapivideocontext.c:
7852           vaapivideocontext: check if query context is NULL
7853           Under certain conditions the element might receive a positive context query
7854           but without a context instance. This situation will lead to a segmentation
7855           fault when traversing the context list in the pipeline.
7856           https://bugzilla.gnome.org/show_bug.cgi?id=767946
7857
7858 2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7859
7860         * gst-libs/gst/vaapi/Makefile.am:
7861         * gst-libs/gst/vaapi/glibcompat.h:
7862         * gst-libs/gst/vaapi/sysdeps.h:
7863           remove unused glibcompat.h
7864           glibcompat.h is no longer doing anything. Remove it.
7865           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7866           https://bugzilla.gnome.org/show_bug.cgi?id=767886
7867
7868 2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7869
7870         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7871           encoder: h264: Use high profile by default
7872           Change defaults for max-bframes, cabac, and dct8x8 to be enabled
7873           by default. This will cause the default profile to be high instead
7874           of baseline. In most situations this is the right decision, and
7875           the profile can still be lowered in the case of caps restrictions.
7876           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7877           https://bugzilla.gnome.org/show_bug.cgi?id=757941
7878
7879 2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7880
7881         * gst/vaapi/gstvaapidecodebin.c:
7882           vaapidecodebin: element warning if missing element
7883           Raise an element warning if a required element is not available, thus the
7884           pipeline will post a warning message and the application will be informed.
7885
7886 2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
7887
7888         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7889           decoder: h265: fix to release all dpb pictures
7890           Without this, all dpb pictures are not released during flush,
7891           because we used the global dpb_count variable for checking the
7892           dpb fullness which get decremented in dpb_remove_index()
7893           routine during each loop iteration.
7894           https://bugzilla.gnome.org/show_bug.cgi?id=767934
7895
7896 2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
7897
7898         * common:
7899           Automatic update of common submodule
7900           From ac2f647 to f363b32
7901
7902 2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
7903
7904         * gst/vaapi/gstvaapidecode.c:
7905         * gst/vaapi/gstvaapipostproc.c:
7906           vaapi: fix minor leaks
7907           https://bugzilla.gnome.org/show_bug.cgi?id=767868
7908
7909 2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7910
7911         * gst/vaapi/gstvaapi.c:
7912           vaapi: remove an already included header
7913           gst/gst.h is already included in gstcompat.h
7914
7915 2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7916
7917         * gst/vaapi/gstvaapidecodebin.c:
7918           vaapidecodebin: add vp9 in sink pad template
7919
7920 2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7921
7922         * gst/vaapi/gstvaapisink.c:
7923           vaapisink: return caps template if no display
7924           If vaapisink received a caps query before getting a VA display, it returned
7925           only the surfaces related caps. This behavior broke the autovideosink
7926           negotiation.
7927           This patch returns the pad's template caps if no VA display, otherwise the
7928           caps are crafted as before.
7929           https://bugzilla.gnome.org/show_bug.cgi?id=767699
7930
7931 2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7932
7933         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7934           decoder: vp9: Update comment about context resets
7935           Clarify that vaapi context resets are never needed for vp9, but
7936           that ensure_context() needs called when the size increases so that
7937           new surfaces can be allocated.
7938           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7939           https://bugzilla.gnome.org/show_bug.cgi?id=767474
7940
7941 2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7942
7943         * gst-libs/gst/vaapi/gstvaapicontext.c:
7944         * gst-libs/gst/vaapi/gstvaapicontext.h:
7945         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7946           gstvaapicontext: control reset_on_resize with option
7947           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7948           https://bugzilla.gnome.org/show_bug.cgi?id=767474
7949
7950 2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7951
7952         * gst/vaapi/gstvaapivideobufferpool.c:
7953           vaapivideobufferpool: add video meta to config when needed
7954           In cases where we know the video meta must be present, add it to
7955           the pool configuration.
7956           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7957           https://bugzilla.gnome.org/show_bug.cgi?id=766184
7958
7959 2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
7960
7961         * gst/vaapi/gstvaapipluginbase.c:
7962           plugins: retry pool config
7963           if gst_buffer_pool_set_config returns FALSE, check the modified
7964           config and retry set_config if the config is still acceptable.
7965           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
7966           https://bugzilla.gnome.org/show_bug.cgi?id=766184
7967
7968 2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7969
7970         * gst/vaapi/gstvaapivideomemory.h:
7971           vaapivideomemory: internal attributes to methods
7972           Mark as internal the functions used by VA-API dmabuf allocator.
7973
7974 2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7975
7976         * gst/vaapi/gstvaapipluginbase.c:
7977           plugins: remove precondition for decide_allocation()
7978           There's no need to check for the display in the plugin object when
7979           decide_allocation() vmethod is called, because the display will created or
7980           re-created along the method execution.
7981
7982 2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7983
7984         * gst/vaapi/gstvaapipluginbase.c:
7985           plugins: avoid possible memory leaks
7986           Get the pool config just before use it, to avoid a memory leak if the
7987           allocator cannot be instantiated. Similarly, return FALSE if the configuration
7988           cannot be set, avoid keep a not used allocator in the pool.
7989
7990 2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7991
7992         * gst/vaapi/gstvaapipluginbase.c:
7993           plugins: use GstParentBufferMeta
7994           Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
7995           use the GStreamer's GstParentBufferMeta.
7996           https://bugzilla.gnome.org/show_bug.cgi?id=765435
7997
7998 2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7999
8000         * gst/vaapi/gstvaapipluginbase.c:
8001           plugins: cache VASurfaces from dmabufs
8002           This patch avoids the creation of a VASurface each time a new input buffer is
8003           processed, caching them in the input buffer itself.
8004           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8005
8006 2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8007
8008         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8009         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
8010         * gst/vaapi/gstvaapipluginbase.c:
8011           libs: change gst_vaapi_surface_new_with_dma_buf_handle()
8012           Instead of passing the data already in GstVideoInfo, let's just pass the
8013           GstVideoInfo structure.
8014           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8015
8016 2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8017
8018         * gst/vaapi/gstvaapipluginbase.c:
8019         * gst/vaapi/gstvaapipluginbase.h:
8020           plugins: use an unique allocator per pad
8021           Instead of instantiating an allocator per vaapivideobufferpool, only one
8022           allocator is instantiated per element's pad and shared among future pools.
8023           If the pad's caps changes, the allocator is reset.
8024           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8025
8026 2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8027
8028         * gst/vaapi/gstvaapipluginbase.c:
8029         * gst/vaapi/gstvaapivideobufferpool.c:
8030         * gst/vaapi/gstvaapivideobufferpool.h:
8031           vaapivideobufferpool: share options flag with pluginbase
8032           Originally, vaapivideobufferpool has a set of boolean variables for the
8033           buffer configuration options.
8034           This pach changes these boolean variables for a single bitwise, just as
8035           it is used in pluginbase. Hence, the internal enum was moved to
8036           vaapivideobufferpool header.
8037           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8038
8039 2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8040
8041         * gst/vaapi/gstvaapipluginbase.c:
8042           plugins: add gst_vaapi_plugin_base_create_pool()
8043           This patch refactors the code in pluginbase in order to centralize the buffer
8044           pool instantiation. As the buffer pool config may have different options, these
8045           are gathered using a bitwise flag.
8046           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8047
8048 2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8049
8050           pluginbase negotiates allocator with bufferpool
8051           Originally vaapivideobufferpool instantiates its own allocator regardless the
8052           received configuration, and it relies in custom configuration options to
8053           choose which kind of allocator instantiate.
8054           This patch transfers the responsibility of the allocator instantiate to
8055           vaapipluginbase and pass it to the vaapivideobufferpool through its
8056           configuration.
8057           * gst/vaapi/gstvaapipluginbase.c
8058           + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
8059           + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
8060           bufferpool configuration
8061           + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
8062           needed.
8063           + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
8064           allocator in bufferpool configuration
8065           * gst/vaapi/gstvaapivideobufferpool.c
8066           + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
8067           allocator, process the received one through its configuration.
8068           * gst/vaapi/gstvaapivideobufferpool.h: removed
8069           GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
8070           * gst/vaapi/gstvaapivideomemory.c
8071           + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
8072           allocator with the vaapi qdata.
8073           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8074
8075 2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8076
8077         * gst/vaapi/gstvaapivideobufferpool.c:
8078           vaapivideobufferpool: keep only current video info
8079           Instead of keeping old and new GstVideoInfo video structure, we only keep one,
8080           the current one, the negotiated. The old one is not needed at all.
8081           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8082
8083 2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8084
8085         * gst/vaapi/gstvaapipluginbase.c:
8086         * gst/vaapi/gstvaapipluginutil.c:
8087         * gst/vaapi/gstvaapipluginutil.h:
8088         * gst/vaapi/gstvaapivideomemory.c:
8089           pluginutil: add gst_video_info_force_nv12_if_encoded()
8090           This lines repeat a couple times in the code, so it would be better to put it
8091           a helper function.
8092           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8093
8094 2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8095
8096         * gst/vaapi/gstvaapipluginutil.c:
8097         * gst/vaapi/gstvaapipluginutil.h:
8098         * gst/vaapi/gstvaapipostproc.c:
8099         * gst/vaapi/gstvaapivideobufferpool.c:
8100           pluginutil: add gst_video_info_changed() helper
8101           This function is shared among different elements, so let factorized it.
8102           https://bugzilla.gnome.org/show_bug.cgi?id=765435
8103
8104 2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
8105
8106         * gst/vaapi/gstvaapipostprocutil.c:
8107           vaapipostproc: Add colorimetry attributes to src caps
8108           https://bugzilla.gnome.org/show_bug.cgi?id=766596
8109
8110 2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
8111
8112         * gst/vaapi/gstvaapidecode.c:
8113           vaapidecode: remove chroma-site and colorimetry from src caps
8114           https://bugzilla.gnome.org/show_bug.cgi?id=766596
8115
8116 2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8117
8118         * gst/vaapi/gstvaapipostproc.c:
8119         * gst/vaapi/gstvaapipostproc.h:
8120           vaapipostproc: add postproc_lock to protect data members
8121           Add a mutex to postproc to protect concurrent access to data members.
8122           Previously set_caps() could release the allowed_srcpad_caps while
8123           transform_caps was in the middle of using it.
8124           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
8125           https://bugzilla.gnome.org/show_bug.cgi?id=766940
8126
8127 2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8128
8129         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8130         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8131           encoder: vp9: Add simple algorithms for reference picture selection
8132           Added two modes(as properties) for reference picture selection:
8133           ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
8134           and LastRef is pointing to the previous frame.
8135           ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
8136           and n-2 th frame as AltRef
8137           https://bugzilla.gnome.org/show_bug.cgi?id=766048
8138
8139 2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8140
8141         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8142           encoder: vp9: Define Max frame width and height
8143           https://bugzilla.gnome.org/show_bug.cgi?id=766048
8144
8145 2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8146
8147         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8148         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8149           encoder: vp9: Add more propertis for tuning encode quality
8150           Added three tuning properties:
8151           1: filter_level
8152           2: sharpness_level
8153           3: luma ac quant-table index
8154           https://bugzilla.gnome.org/show_bug.cgi?id=766048
8155
8156 2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8157
8158         * gst/vaapi/Makefile.am:
8159         * gst/vaapi/gstvaapi.c:
8160         * gst/vaapi/gstvaapiencode_vp9.c:
8161         * gst/vaapi/gstvaapiencode_vp9.h:
8162           Add vp9 encode element to "vaapi" plugin
8163           https://bugzilla.gnome.org/show_bug.cgi?id=766048
8164
8165 2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8166
8167         * gst-libs/gst/vaapi/Makefile.am:
8168         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8169         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8170           Add vp9 encoder support in libgstvaapi
8171           https://bugzilla.gnome.org/show_bug.cgi?id=766048
8172
8173 2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8174
8175         * configure.ac:
8176           build: Add check for VP9 encode API support in libva
8177           https://bugzilla.gnome.org/show_bug.cgi?id=766048
8178
8179 2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8180
8181         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8182           gstvaapisurface_drm: fix internal documentation
8183
8184 2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8185
8186         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8187           gstvaapisurface_drm: fix code-style
8188
8189 2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8190
8191         * gst/vaapi/gstvaapipluginbase.c:
8192           plugins: remove unused header
8193           Remove the include of gst/allocators/allocators.h since it is not used.
8194
8195 2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8196
8197         * gst/vaapi/gstvaapivideobufferpool.h:
8198           vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
8199           Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
8200           keep compatibility definition.
8201           This patch removes the definition of
8202           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
8203           gst-plugins-base version 1.2.2
8204
8205 2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8206
8207         * gst/vaapi/gstvaapipluginbase.c:
8208           plugins: add gst_vaapi_buffer_pool_caps_is_equal()
8209           This is a helper function to improve the readability of
8210           ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
8211           re-instantiated.
8212
8213 2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8214
8215         * gst/vaapi/gstvaapipluginbase.c:
8216           plugins: deactivate buffer pool before unref
8217           This buffer pool may still be processing buffers when a caps renegotiation is
8218           done. This one-liner patch deactivates the pool to drain it before it
8219           de-allocation.
8220
8221 2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8222
8223         * gst/vaapi/gstvaapipluginbase.c:
8224           plugins: no sinkpad bufferpool when decoder
8225           Right now, the decoders create a buffer pool for their sink pad which is not
8226           used at all, because the decoders have never proposed it to upstream.
8227           This patch avoids the buffer pool instantiating when the element inherits from
8228           the GstVideoDecoder class.
8229
8230 2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8231
8232         * gst/vaapi/gstvaapipluginbase.c:
8233           plugins: avoid to get/set pool config twice
8234           This patch is a bit of optimization, since the bufferpool configuration is get
8235           when the pool is created. Hence, we only need to request it when the pool from
8236           the allocation query is reused.
8237
8238 2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8239
8240         * gst/vaapi/gstvaapipluginbase.c:
8241           plugins: destroy pool earlier if non-vaapi
8242           If the offered pool in decide_allocation() vmethod doesn't have the
8243           VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
8244           so it could be created later.
8245
8246 2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8247
8248         * gst/vaapi/gstvaapivideobufferpool.c:
8249           vaapivideobufferpool: split caps validation
8250           When validating the caps from bufferpool config, this patch distinguishes the
8251           error from no caps received (NULL) from the invalid caps (cannot be converted
8252           into GstVideoInfo structure).
8253
8254 2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8255
8256         * gst/vaapi/gstvaapidecode.c:
8257         * gst/vaapi/gstvaapipluginbase.c:
8258           plugins: check for caps in query earlier
8259           Check for caps as soon gst_query_parse_allocation() returns.
8260
8261 2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8262
8263         * gst/vaapi/gstvaapipluginbase.c:
8264         * gst/vaapi/gstvaapipluginbase.h:
8265           plugins: remove unused variables
8266           This variables stopped to be used since commit 001a5c63, which removed the
8267           gstvaapiuploader.
8268
8269 2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8270
8271         * gst/vaapi/gstvaapipluginbase.c:
8272           plugins: fix potential memleak from commit 9159328
8273           If gst_video_info_from_caps() fails it is required to unref the instantiated
8274           pool.
8275
8276 2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8277
8278         * gst/vaapi/gstvaapipostproc.c:
8279           vaapipostproc: handle if gst_video_info_from_caps() fails
8280           Return FALSE is the received caps cannot be transformed into a GstVideoInfo
8281           structure.
8282
8283 2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8284
8285         * gst/vaapi/gstvaapipluginbase.c:
8286           plugins: handle if gst_video_info_from_caps() fails
8287           Let's play safe and return error if, somehow, the received caps are wrong.
8288
8289 2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8290
8291         * gst/vaapi/gstvaapipluginbase.c:
8292           plugins: relate errors to instance
8293           Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
8294           will show the name of the vaapipluginbase instance that failed.
8295           Also, the code-style is fixed, where some error labels need to be surrounded
8296           by braces.
8297
8298 2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8299
8300         * gst/vaapi/gstvaapipluginbase.c:
8301         * gst/vaapi/gstvaapipluginutil.c:
8302         * gst/vaapi/gstvaapisink.c:
8303           plugins: use GstVideoInfo accessors
8304           Instead of access to GstVideInfo members directly, use their accessors
8305           macros. This patch makes more resistance to future changes in GStreamer core.
8306
8307 2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8308
8309         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8310         * gst/vaapi/gstvaapipluginbase.c:
8311         * gst/vaapi/gstvaapipostproc.c:
8312         * tests/simple-encoder.c:
8313           remove spurious gst_video_info_init()
8314           gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
8315           gst_video_info_init(), hence it is not required to call it before them. This
8316           patch removes these spurious calls.
8317
8318 2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8319
8320         * gst/vaapi/gstvaapipluginbase.c:
8321           vaapipluginbase: code-style: rename goto label
8322           The error labels have error_ prefix, but this one.
8323
8324 2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8325
8326         * gst/vaapi/gstvaapivideomemory.c:
8327           vaapivideomemory: use allocator custom alloc flag
8328           Instead of a dummy alloc() vmethod, the allocator instance set the flag
8329           GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
8330           gst_allocator_alloc() on the allocator.
8331
8332 2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8333
8334         * gst/vaapi/gstvaapivideobufferpool.c:
8335           vaapivideobufferpool: relate errors to instance
8336           Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
8337           the vaapivideobufferpool instance that failed.
8338
8339 2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8340
8341         * gst/vaapi/gstvaapipluginbase.c:
8342           plugins: remove gst_vaapi_plugin_base_set_pool_config()
8343           This function helper make sense for GStreamer 1.2, but it is not helpful for
8344           greater version since the validation is already done in the API implementation.
8345           Thus, it is removed.
8346
8347 2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8348
8349         * gst/vaapi/gstvaapipluginbase.c:
8350           gstvaapipluginbase: Fix typo in doc
8351
8352 2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8353
8354         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8355           encoder : h264: Disable b-frame encode in low-power mode
8356           This is a workaround since vaapi-intel-driver doesn't have
8357           support for B-frame encode when utilizing low-power-enc
8358           hardware block.
8359           Fixme :We should query the VAConfigAttribEncMaxRefFrames
8360           instead of blindly disabling b-frame support and set b/p frame count,
8361           buffer pool size etc based on the query result.
8362           https://bugzilla.gnome.org/show_bug.cgi?id=766050
8363
8364 2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8365
8366         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8367         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8368           encoder: h264 : Use "tune=low-power" for enabling lowpower encode
8369           Remove the duplicate property "low-power-enc" and use the
8370           tune property for enabling low power encoding mode.
8371           https://bugzilla.gnome.org/show_bug.cgi?id=766050
8372
8373 2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8374
8375         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8376           gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
8377           https://bugzilla.gnome.org/show_bug.cgi?id=766050
8378
8379 2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8380
8381         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8382         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8383         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8384           encoder: h264: Add support of low power/high performance encoding mode
8385           Added a new property "low-power-enc" for enabling low power
8386           encoding mode. Certain encoding tools may not be available
8387           with the VAEntrypointEncSliceLP.
8388           https://bugzilla.gnome.org/show_bug.cgi?id=766050
8389
8390 2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8391
8392         * gst-libs/gst/vaapi/gstvaapitypes.h:
8393         * gst-libs/gst/vaapi/gstvaapiutils.c:
8394         * gst-libs/gst/vaapi/gstvaapivalue.c:
8395           Add mapping for Macroblock level rate control (VA_RC_MB)
8396
8397 2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8398
8399         * gst-libs/gst/vaapi/gstvaapidisplay.c:
8400           gstvaapidisplay: Add VAEntrypointEncSliceLP support
8401           https://bugzilla.gnome.org/show_bug.cgi?id=766050
8402
8403 2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8404
8405         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8406         * gst-libs/gst/vaapi/gstvaapiprofile.h:
8407           gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
8408           This is for implementations that supports low_power/high_performance
8409           variant for slice level encode.
8410           https://bugzilla.gnome.org/show_bug.cgi?id=766050
8411
8412 2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8413
8414         * gst/vaapi/gstvaapipostprocutil.c:
8415           vaapipostproc: negotiate frame size fixation
8416           Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
8417           using the sink caps, also it use the next capsfilter.
8418           This code is a shameless copy of gst_video_scale_fixate_caps() from
8419           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
8420           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8421
8422 2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
8423
8424         * gst/vaapi/gstvaapipostprocutil.c:
8425           vaapipostproc: don't use GstVideoInfo for src caps
8426           Instead of using gst_video_info_to_caps () to generated the fixed src caps,
8427           this patch enables the first step for caps negotiation with a possible
8428           following caps filter.
8429           _get_preferred_caps() will traverse the possible src caps looking for the one
8430           wit the preferred feature and the preferred color format. Then the color
8431           format, the frame size and the frame rate are fixated.
8432           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8433
8434 2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8435
8436         * gst/vaapi/gstvaapipostproc.c:
8437         * gst/vaapi/gstvaapipostprocutil.c:
8438         * gst/vaapi/gstvaapipostprocutil.h:
8439           vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
8440           Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
8441           No functional changes.
8442           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8443
8444 2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8445
8446         * gst/vaapi/gstvaapipostproc.c:
8447           vaapipostproc: simplify code
8448           Change a convoluted snippet to find the preferred color format in the peer
8449           caps.
8450           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8451
8452 2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8453
8454         * gst/vaapi/gstvaapipostproc.c:
8455           vaapipostproc: use othercaps for preferred caps
8456           Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
8457           from fixate_caps() vmethod to find the preferred caps feature and color
8458           format.
8459           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8460
8461 2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
8462
8463         * gst/vaapi/gstvaapipostproc.c:
8464           vaapipostproc: add fixate_caps() vmethod
8465           Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
8466           implements the fixate_caps() vmethod and moves code around.
8467           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8468
8469 2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8470
8471         * gst/vaapi/Makefile.am:
8472         * gst/vaapi/gstvaapipostproc.c:
8473         * gst/vaapi/gstvaapipostprocutil.c:
8474         * gst/vaapi/gstvaapipostprocutil.h:
8475           vaapipostproc: set early properties restrictions
8476           When running transform_caps() vmethod, returning the srcpad caps, the caps are
8477           early restricted to the element properties set: width, height, format and
8478           force keep aspect.
8479           A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
8480           are stored.
8481           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8482
8483 2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8484
8485         * gst/vaapi/gstvaapipostproc.c:
8486           vaapipostproc: log the caps transformation
8487           https://bugzilla.gnome.org/show_bug.cgi?id=758548
8488
8489 2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8490
8491         * gst/vaapi/gstvaapipostproc.c:
8492           vaapipostproc: no GLTextureUpload in sinkpad
8493           As the vaapipostproc does not process frames with the VideoGLTextureUpload
8494           meta, the feature is removed from the sink pad template.
8495           https://bugzilla.gnome.org/show_bug.cgi?id=765931
8496
8497 2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
8498
8499         * gst/vaapi/gstvaapivideobufferpool.c:
8500           vaapibufferpool: do not create texture upload meta if dmabuf
8501           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8502
8503 2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8504
8505         * git.mk:
8506           build: update git.mk
8507
8508 2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8509
8510         * gst/vaapi/gstvaapipluginbase.h:
8511           plugin: fix macro processor check
8512           Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
8513           defined in config.h, but it would be 0 or 1 depending on the configure output.
8514           https://bugzilla.gnome.org/show_bug.cgi?id=765702
8515
8516 2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8517
8518         * tests/test-display.c:
8519           tests: display: guard possible unused variables
8520           https://bugzilla.gnome.org/show_bug.cgi?id=765702
8521
8522 2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8523
8524         * tests/codec.c:
8525         * tests/decoder.c:
8526         * tests/image.c:
8527         * tests/output.c:
8528         * tests/simple-decoder.c:
8529         * tests/test-decode.c:
8530         * tests/test-display.c:
8531         * tests/test-filter.c:
8532         * tests/test-h264.c:
8533         * tests/test-jpeg.c:
8534         * tests/test-mpeg2.c:
8535         * tests/test-mpeg4.c:
8536         * tests/test-subpicture-data.c:
8537         * tests/test-subpicture.c:
8538         * tests/test-surfaces.c:
8539         * tests/test-textures.c:
8540         * tests/test-vc1.c:
8541         * tests/test-windows.c:
8542           tests: inforce gstreamer code-style
8543
8544 2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8545
8546         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8547           encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
8548           It seems driver requires enablement of cu_qp_delta_enabled_flag
8549           for modifying QP values to controll the CBR mode bitrate.
8550           https://bugzilla.gnome.org/show_bug.cgi?id=749852
8551
8552 2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8553
8554         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8555           encoder: h265: Add CBR Encoding support
8556           https://bugzilla.gnome.org/show_bug.cgi?id=749852
8557
8558 2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
8559
8560         * gst-libs/gst/vaapi/gstvaapisurface.c:
8561           gstvaapisurface: explicitely clear TILING flag if dmabuf
8562           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8563
8564 2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
8565
8566         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
8567           gstvaapisurface_drm: release image when done
8568           Otherwise intel-vaapi-driver will fail to process the exported surface because
8569           it will find it is currently derived, so considered as busy.
8570           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8571
8572 2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
8573
8574         * gst/vaapi/gstvaapipostproc.c:
8575           vaapipostproc: already have a surface proxy if dmabuf
8576           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8577
8578 2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
8579
8580         * gst/vaapi/gstvaapipostproc.c:
8581           various gst-indent
8582
8583 2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8584
8585         * gst/vaapi/gstvaapidecode.c:
8586         * gst/vaapi/gstvaapipluginbase.c:
8587         * gst/vaapi/gstvaapipluginbase.h:
8588           vaapidecode: search driver in whitelist
8589           If the backend driver vendor string is not in a white-list, and the
8590           environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
8591           change it state from NULL to READY, hence the auto-plug mechanism will look
8592           for another decoder.
8593           This patch assumes the GstContext has already being shared along the pipeline
8594           and the element has a valid GstVaapiDisplay instance.
8595           https://bugzilla.gnome.org/show_bug.cgi?id=764673
8596
8597 2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8598
8599         * gst/vaapi/gstvaapidecode.c:
8600         * gst/vaapi/gstvaapiencode.c:
8601         * gst/vaapi/gstvaapipluginbase.c:
8602         * gst/vaapi/gstvaapipluginbase.h:
8603         * gst/vaapi/gstvaapipostproc.c:
8604         * gst/vaapi/gstvaapisink.c:
8605           plugins: rework set_context() vmethod definition
8606           In bug 757598 was added the set_context() vmethod chain up in
8607           GstVaapiPluginBase. But it is buggy, since the parent_class address is
8608           assigned to the last element which called gst_vaapi_plugin_base_class_init().
8609           No error has shown up since none of the element's base classes redefined
8610           set_context() vmethod from GstElement, so always the correct function was
8611           called. Still this code is wrong and this patch make it right.
8612           Since set_context() is the same code, a macro is used to implement that code
8613           in all the gst-vaapi elements.
8614           https://bugzilla.gnome.org/show_bug.cgi?id=765368
8615
8616 2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8617
8618         * gst/vaapi/gstvaapipostproc.c:
8619           vaapipostproc: resize if negotiated and allocation caps are different
8620           Since commit 859a2b2, in vaapidecode, allocation query can be different from
8621           the negotiated caps.
8622           When connecting the vaapidecoder to the vaapipostprocessor, the last one will
8623           resize the frame to the negotiated, if and only if, some other parameter is
8624           activated to avoid the passthrough. If it is not, the surface won't be mapped
8625           into a image. If not, the image won't be resized and the output buffer would be
8626           mapped.
8627           This patch will break the passthrough if the allocation query is different
8628           from the negotiation caps, forcing the resizing.
8629           https://bugzilla.gnome.org/show_bug.cgi?id=765095
8630
8631 2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8632
8633         * gst/vaapi/gstvaapidecode.c:
8634           vaapidecode: improve code readability
8635           No functional changes.
8636
8637 2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8638
8639         * gst/vaapi/gstvaapidecode.c:
8640           vaapidecode: move GstCapsFeatures near to its use
8641           Move the handling of the GstCapsFeatures just after it is used, in order to
8642           avoid handling its memory.
8643
8644 2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8645
8646         * gst/vaapi/gstvaapidecode.c:
8647           vaapidecode: caps negotiation checks
8648           Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
8649           compiled with GL support.
8650
8651 2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8652
8653         * gst/vaapi/gstvaapidecode.c:
8654         * gst/vaapi/gstvaapipluginbase.c:
8655         * gst/vaapi/gstvaapipluginbase.h:
8656         * gst/vaapi/gstvaapipostproc.c:
8657           plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
8658
8659 2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8660
8661         * gst/vaapi/gstvaapidecode.c:
8662           vaapidecode: bail early if not caps in decide_allocation()
8663
8664 2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8665
8666         * gst/vaapi/gstvaapidecode.c:
8667         * gst/vaapi/gstvaapipluginbase.c:
8668         * gst/vaapi/gstvaapipluginutil.c:
8669         * gst/vaapi/gstvaapipluginutil.h:
8670         * gst/vaapi/gstvaapipostproc.c:
8671           plugin: use allowed caps filter from element
8672           Instead of using the srcpad template caps for filtering the peer caps, the
8673           function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
8674           for the element's allowed caps.
8675           With this modification, the vaapipostproc element simplifies a bit its code.
8676           https://bugzilla.gnome.org/show_bug.cgi?id=765223
8677
8678 2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8679
8680         * gst/vaapi/gstvaapidecode.c:
8681         * gst/vaapi/gstvaapipluginbase.c:
8682         * gst/vaapi/gstvaapipluginutil.c:
8683         * gst/vaapi/gstvaapipluginutil.h:
8684         * gst/vaapi/gstvaapipostproc.c:
8685           plugin: remove function parameter
8686           The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
8687           saved if the out format is used for both: in and out. Thus the code is more
8688           readable.
8689           https://bugzilla.gnome.org/show_bug.cgi?id=765223
8690
8691 2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8692
8693         * gst/vaapi/gstvaapidecode.c:
8694           vaapidecode: warns if driver will do color conversions
8695           If the downstream feature is system memory, the surface has to be mapped,
8696           hence a warning message is logged saying that the driver has to do color
8697           conversions. This might be troublesome because not all the color conversion
8698           combinations are supported by the VA-API drivers, and there is not a reliable
8699           way to know them before hand.
8700           https://bugzilla.gnome.org/show_bug.cgi?id=765223
8701
8702 2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8703
8704         * gst/vaapi/gstvaapipluginutil.c:
8705           plugin: honour negotiated format
8706           Instead of setting the requested format by the caller, the function
8707           gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
8708           the negotiated format.
8709           A new helper function was added: gst_vaapi_find_preferred_format(), which,
8710           given the format list from the negotiated caps, will choose the best one, if
8711           possible, given the native format.
8712           https://bugzilla.gnome.org/show_bug.cgi?id=765223
8713
8714 2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8715
8716         * gst/vaapi/gstvaapipluginutil.c:
8717           plugin: simplify caps feature selection
8718           This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
8719           Instead of intersecting custom caps to find the preferred feature, the peer
8720           caps are traversed in order to find the preferred feature, according to an
8721           ordered feature priority list.
8722           In the case of GLTextureUploadMeta, the colour format is computed using
8723           GstVideoInfo of the selected fixed caps.
8724           https://bugzilla.gnome.org/show_bug.cgi?id=765223
8725
8726 2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8727
8728         * gst/vaapi/gstvaapidecode.c:
8729           vaapidecode: use macros for GstVideoInfo
8730           Instead of accessing directly to the members of the structure, use the macros.
8731
8732 2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8733
8734         * gst/vaapi/gstvaapidecode.c:
8735           vaapidecode: refactor is_display_resolution_changed()
8736           Make the comparisons more readable and simple.
8737           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8738
8739 2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8740
8741         * gst/vaapi/gstvaapidecode.c:
8742         * gst/vaapi/gstvaapidecode.h:
8743           vaapidecode: keep only display_{width,height}
8744           Instead of keeping the structure GstVideoInfo when we are using its width and
8745           height, we only keep these two guints.
8746           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8747
8748 2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8749
8750         * gst/vaapi/gstvaapidecode.c:
8751           vaapidecode: decoded_info is valid at src caps update
8752           As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
8753           is called, then we don't need to verify or replace it with the sinkpad info
8754           (reference state).
8755           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8756
8757 2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8758
8759         * gst/vaapi/gstvaapidecode.c:
8760           vaapidecode: always a valid format in decoded_info
8761           Always set a valid format in decoded_info class variable.
8762           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8763
8764 2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8765
8766         * gst/vaapi/gstvaapidecode.c:
8767           vaapidecode: code style fixes
8768           No functional changes.
8769           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8770
8771 2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8772
8773         * gst/vaapi/gstvaapidecode.c:
8774           vaapidecode: init {decoded,display}_info at open()
8775           It is required to initialize {decoded,display}_info variables when the decoder
8776           is open, not only at instance initialization.
8777           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8778
8779 2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8780
8781         * gst/vaapi/gstvaapidecode.c:
8782         * gst/vaapi/gstvaapidecode.h:
8783           vaapidecode: remove spurious class variables
8784           active, do_pool_renego and do_outstate_renego class variables were used to
8785           indicate when negotiate downstream once, but now that each time a new surface
8786           resolution is pop out a renegotation verified, these variable are not required
8787           anymore.
8788           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8789
8790 2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8791
8792         * gst/vaapi/gstvaapidecode.c:
8793         * gst/vaapi/gstvaapipluginbase.c:
8794         * gst/vaapi/gstvaapipluginbase.h:
8795         * gst/vaapi/gstvaapipostproc.c:
8796           remove custom allocation query
8797           When resolving bug 753914, a custom allocation query was added, overlapping
8798           the responsibilities of GstVideoDecoder.
8799           But with the merge of the patches from bug 764421 this overlapping was not
8800           required anymore. This patch restores this situation setting the
8801           allocation_caps in the GstVideoCodecState when needed.
8802           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8803
8804 2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
8805
8806         * common:
8807           Automatic update of common submodule
8808           From 6f2d209 to ac2f647
8809
8810 2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8811
8812         * gst/vaapi/gstvaapidecode.c:
8813         * gst/vaapi/gstvaapidecodebin.c:
8814         * gst/vaapi/gstvaapipostproc.c:
8815           plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
8816           The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
8817           their caps templates if they were not compiled either with GLX or EGL support.
8818
8819 2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8820
8821         * gst/vaapi/gstvaapipluginutil.c:
8822           plugins: fix compilation when EGL/GLX is disabled
8823           The compiler might complain of gst_vaapi_create_display_from_handle() being
8824           unused if both EGL and GLX are disabled. This patch avoid that compilation
8825           error.
8826
8827 2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
8828
8829         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
8830           libs: fix deleting a GstVaapiCodedBufferPool object
8831           Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
8832           Otherwise it is not called when the pool is destroyed and all objects
8833           referenced by the GstVaapiVideoPool are never released.
8834           https://bugzilla.gnome.org/show_bug.cgi?id=764993
8835
8836 2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8837
8838         * gst-libs/gst/vaapi/gstvaapisurface.c:
8839           surface: destroy derived image
8840           If gst_vaapi_image_new_with_image() fails, the created derived image should be
8841           destroyed, otherwise the surface cannot be processed because is being used.
8842           https://bugzilla.gnome.org/show_bug.cgi?id=764607
8843
8844 2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
8845
8846         * gst/vaapi/gstvaapidecode.c:
8847           vaapidecode: add stop function
8848           Clear any status on the current stream:
8849           stored frames, caps and decoder configuration
8850           https://bugzilla.gnome.org/show_bug.cgi?id=763460
8851
8852 2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8853
8854         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8855           decoder: vp9: Align with the ABI changes in vp9 codecparser
8856           The subsampling_x, subsampling_y, bit_depth, color_space and color_range
8857           fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
8858           These fields are only present in keyframe or intra-only frame, no need to
8859           duplicate them for inter-frames.
8860           https://bugzilla.gnome.org/show_bug.cgi?id=764082
8861
8862 2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8863
8864         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8865           decoder: vp9 : Add 10bit decoding support (Profile2)
8866           https://bugzilla.gnome.org/show_bug.cgi?id=764082
8867
8868 2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8869
8870         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8871         * gst-libs/gst/vaapi/gstvaapiprofile.h:
8872           gstvaapiporfile: Add more VP9 profile definitions
8873           https://bugzilla.gnome.org/show_bug.cgi?id=764082
8874
8875 2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8876
8877         * Makefile.am:
8878         * configure.ac:
8879           build: possibility to disable tests
8880           The configuration option --disable-examples will disable the compilation of
8881           the sample apps in tests/ directory.
8882
8883 2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8884
8885         * gst/vaapi/gstvaapiencode_h264.c:
8886         * gst/vaapi/gstvaapiencode_h265.c:
8887         * gst/vaapi/gstvaapiencode_jpeg.c:
8888         * gst/vaapi/gstvaapiencode_mpeg2.c:
8889         * gst/vaapi/gstvaapiencode_vp8.c:
8890         * gst/vaapi/gstvaapipluginutil.h:
8891         * gst/vaapi/gstvaapisink.c:
8892           unify caps template for VAAPI encoders and decoders
8893           There is no difference in VAAPI surface caps between encoders and decoders.
8894           Thus, the patch makes a simplification by removing encoders specific caps and
8895           shares the same definition of VAAPI surfaces caps for all the elements.
8896
8897 2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8898
8899         * gst/vaapi/gstvaapidecode.c:
8900           vaapidecode: move gst_vaapidecode_negotiate() code
8901           With it we can remove a function declaration, making the code a bit
8902           more readable.
8903           https://bugzilla.gnome.org/show_bug.cgi?id=764316
8904
8905 2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8906
8907         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
8908         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
8909         * gst/vaapi/gstvaapidecode.c:
8910           docs: generate vaapijpegdec documentation
8911           https://bugzilla.gnome.org/show_bug.cgi?id=764314
8912
8913 2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8914
8915         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8916           decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
8917           The array_completeness, reserved bit and num_nal_units fields
8918           in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
8919           but not for each occurance of similar headers.
8920           https://bugzilla.gnome.org/show_bug.cgi?id=764274
8921
8922 2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8923
8924         * gst-libs/gst/vaapi/video-format.c:
8925           video-format: Keep the HW order preference while mapping to GstVideoFormats
8926
8927 2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8928
8929         * gst/vaapi/gstvaapidecode.c:
8930         * gst/vaapi/gstvaapipluginbase.c:
8931         * gst/vaapi/gstvaapipluginutil.c:
8932         * gst/vaapi/gstvaapipluginutil.h:
8933         * gst/vaapi/gstvaapivideomemory.c:
8934           gst/vaapi: keep precedence for NV12 over I420
8935           Use NV12 as default "assumption" format all over.
8936           NV12 is the default high priority format used my most of the
8937           vaapi-drivers.
8938
8939 2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8940
8941         * gst/vaapi/gstvaapidecode.c:
8942           vaapidecode: Use video format derived from decoded surface as default src pad format
8943           Use the surface format derived from first decoded surface
8944           to negotiate the downstream video format capabilities.
8945           https://bugzilla.gnome.org/show_bug.cgi?id=759181
8946
8947 2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
8948
8949         * gst-libs/gst/vaapi/gstvaapiimage.c:
8950         * gst-libs/gst/vaapi/video-format.c:
8951         * gst/vaapi/gstvaapidecode.c:
8952         * gst/vaapi/gstvaapipluginutil.h:
8953         * gst/vaapi/gstvaapisink.c:
8954           Add P010 video format support
8955           The P010 video format is the native format used by the vaapi intel driver
8956           for HEVCMain10 decode . Add support for planes and images of this video format.
8957           https://bugzilla.gnome.org/show_bug.cgi?id=759181
8958
8959 2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
8960
8961         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
8962           libs: x11: allows 30-bit colour depth
8963           The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
8964           fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
8965           with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
8966           work as expected.
8967           https://bugzilla.gnome.org/show_bug.cgi?id=764256
8968
8969 2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8970
8971         * gst/vaapi/gstvaapivideometa_texture.c:
8972           gltextureupload: use an array for texture type
8973           Instead of using a single value for the texture type, use an array with 4
8974           elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
8975           overflow.
8976           https://bugzilla.gnome.org/show_bug.cgi?id=764231
8977
8978 2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8979
8980         * gst/vaapi/gstvaapidecode.c:
8981         * gst/vaapi/gstvaapipluginbase.c:
8982           vaapidecode: Fix decide_allocation handling
8983           Set the already configured pool in decide_allocation query
8984           in cases where pool renegotiation is not required.
8985           https://bugzilla.gnome.org/show_bug.cgi?id=753914
8986
8987 2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8988
8989         * gst/vaapi/gstvaapidecode.c:
8990           vaapidecode: Derive and save the decoded surface format
8991           After the decoding of first frame, try to extract the exact
8992           decoded surface format using vaDeriveImage and keep this
8993           as the format in decoded_info.
8994           https://bugzilla.gnome.org/show_bug.cgi?id=753914
8995
8996 2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8997
8998         * gst/vaapi/gstvaapidecode.c:
8999         * gst/vaapi/gstvaapidecode.h:
9000         * gst/vaapi/gstvaapipluginbase.c:
9001         * gst/vaapi/gstvaapipluginbase.h:
9002         * gst/vaapi/gstvaapipostproc.c:
9003           Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
9004           -- Maintaing decoded surface resoluton and actual display resoultion separately
9005           -- Before pushing every frames downstream, check for the requirement of pool negoation and
9006           output_state negotiation: This is needed to avoid multiple issuses with cropping,
9007           multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
9008           possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
9009           We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
9010           This is slight overhead, but safe enough. Optimization could be possible though.
9011           https://bugzilla.gnome.org/show_bug.cgi?id=753914
9012
9013 2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9014
9015         * gst/vaapi/gstvaapidecode.c:
9016           vaapidecode: Delay the output format setting until we have a decoded surface
9017           This will help to consoidate the out caps negotiation to a single place,
9018           which will make the code simpler, allows to get the exact decoded format
9019           if needed and the selected chroma type too.
9020           https://bugzilla.gnome.org/show_bug.cgi?id=753914
9021
9022 2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9023
9024         * gst/vaapi/gstvaapidecode.h:
9025           vaapidecode: GST_VAAPIDECODE macro is a cast
9026           This patch is the continuation of commit 1e1d3b1d because the function
9027           gst_vaapidecode_get_type() got undefined since then.
9028           Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
9029           structure. The rest of the GObject handling macros were deleted too.
9030
9031 2016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
9032
9033         * configure.ac:
9034           Back to development
9035
9036 === release 1.8.0 ===
9037
9038 2016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
9039
9040         * ChangeLog:
9041         * NEWS:
9042         * configure.ac:
9043         * gstreamer-vaapi.doap:
9044           Release 1.8.0
9045
9046 === release 1.7.91 ===
9047
9048 2016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
9049
9050         * ChangeLog:
9051         * NEWS:
9052         * configure.ac:
9053         * gstreamer-vaapi.doap:
9054           Release 1.7.91
9055
9056 2016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9057
9058         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9059           decoder: h265: Fix offset calculation in codec_data parsing
9060           https://bugzilla.gnome.org/show_bug.cgi?id=762922
9061
9062 2016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9063
9064         * gst/vaapi/gstvaapidecodebin.c:
9065           vaapidecodebin: don't handle jpeg decoding
9066           As JPEG decoder has been split and demoted, it cannot be handled by
9067           vaapidecodebin
9068           Added a fixme comment regarding the future removal of vaapidecode.
9069           https://bugzilla.gnome.org/show_bug.cgi?id=734093
9070
9071 2016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9072
9073         * gst/vaapi/gstvaapidecode.c:
9074           vaapidecode: split out jpeg decoder
9075           Split, as a different element, the JPEG decoder.
9076           https://bugzilla.gnome.org/show_bug.cgi?id=734093
9077
9078 2016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9079
9080         * gst/vaapi/gstvaapi.c:
9081         * gst/vaapi/gstvaapidecode.c:
9082         * gst/vaapi/gstvaapidecode.h:
9083           vaapidecode: register decoder with internal GType
9084           Don't expose the the vaapidecode GType, instead expose a function
9085           which will register element.
9086           This is the first step to split the decoder by codecs.
9087           https://bugzilla.gnome.org/show_bug.cgi?id=734093
9088
9089 2016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9090
9091         * gst/vaapi/gstvaapidecode.c:
9092           vaapidecode: remove unused function declaration
9093           There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
9094           code-style of the other pre-declared functions.
9095
9096 2016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9097
9098         * docs/plugins/Makefile.am:
9099           build: git ignore gtkdoc generated files
9100
9101 2016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9102
9103         * m4/Makefile.am:
9104           build: handle git ignore in m4 directory
9105
9106 2016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9107
9108         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9109           vaapidecoder_h265: plug leak of h265 parsing info
9110           If something goes wrong while parsing, the info object is
9111           being leaked
9112           https://bugzilla.gnome.org/show_bug.cgi?id=763121
9113
9114 2016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9115
9116         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9117           vaapidecoder_h264: plug leak of h264 parsing info
9118           If something goes wrong while parsing, the info object is
9119           being leaked
9120           https://bugzilla.gnome.org/show_bug.cgi?id=763121
9121
9122 2016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
9123
9124         * gst/vaapi/gstvaapipluginutil.c:
9125           plugins: fix gstgl and vaapi memory leaks
9126           1\ Unref gl_display and gl_window as soon they are not needed.
9127           2\ Remove an unneeded display type check, since is handled by
9128           gst_vaapi_created_display_from_handle()
9129           3\ Unref vaapi's display if the display cannot be bind to a GL API.
9130           Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9131           https://bugzilla.gnome.org/show_bug.cgi?id=763354
9132
9133 2016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
9134
9135         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9136           vaapidisplay: Fix uninitialized value error for VA attribute
9137           https://bugzilla.gnome.org/show_bug.cgi?id=763362
9138
9139 2016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9140
9141         * gst/vaapi/gstvaapidecode.c:
9142         * gst/vaapi/gstvaapiencode.c:
9143           plugins: proxy information from downstream caps
9144           Propagate to upstream the downstream information, such as fps, par, etc.
9145           This will fix several "getcaps" critical warnings in gst-validate.
9146           https://bugzilla.gnome.org/show_bug.cgi?id=763300
9147
9148 2016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9149
9150         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9151           decoder: vp9: Assign values for profile and bit_depth from frame header
9152           bit_depth field has added only in VA-API 0.39.0, added version check.
9153
9154 2016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
9155
9156         * Makefile.am:
9157           build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
9158           https://bugzilla.gnome.org/show_bug.cgi?id=763067
9159
9160 === release 1.7.90 ===
9161
9162 2016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
9163
9164         * ChangeLog:
9165         * NEWS:
9166         * configure.ac:
9167         * gstreamer-vaapi.doap:
9168           Release 1.7.90
9169
9170 2016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
9171
9172         * configure.ac:
9173           configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
9174
9175 2016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9176
9177         * gst/vaapi/gstvaapidecode.c:
9178           vaapidecode: intersect with filter in getcaps()
9179           In commit 6034734d I forgot to add the caps filter intersection in the
9180           getcaps() vmethod generating a regression when a capsfilter is set in the
9181           pipeline.
9182           This commit adds the caps filter intersection.
9183
9184 2016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
9185
9186         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9187           Add memset to initialize value for VAEncSliceParameterBufferJPEG
9188           https://bugzilla.gnome.org/show_bug.cgi?id=762850
9189
9190 2016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
9191
9192         * common:
9193           Automatic update of common submodule
9194           From b64f03f to 6f2d209
9195
9196 2016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9197
9198         * Makefile.am:
9199         * configure.ac:
9200         * m4/Makefile.am:
9201           build: add m4 directory
9202           Instead of rely on the automatic creation of m4 directory by aclocal, we
9203           already control it. Later we could create our own m4 scripts in order to
9204           unclutter configure.ac
9205           https://bugzilla.gnome.org/show_bug.cgi?id=762528
9206
9207 2016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
9208
9209         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9210           decoder: hevc: Fill dependent slice segment headers while parsing
9211           Copy the data into the dependent slice segment header from the
9212           corresponding independent slice segment header during parsing.
9213           Previously the reference to the "previous" independent header was
9214           held through the parsing phase and then dereferenced during the
9215           decoding phase. This caused all dependent headers to be populated
9216           with the data of the AU's last independent header instead of the
9217           proper corresponding header.
9218           https://bugzilla.gnome.org/show_bug.cgi?id=762352
9219           Changes since v1:
9220           - Reworded commit message
9221
9222 2016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9223
9224         * gst/vaapi/gstvaapidecode.c:
9225           vaapidecode: use video decoder getcaps()
9226           The usage of getcaps() vmethod is preferred than to handle manually the sink's
9227           caps query.
9228           In order to avoid function declarations, this patch moves the class_init()
9229           method to the end of the file.
9230
9231 2016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9232
9233         * gst/vaapi/gstvaapipluginbase.c:
9234           plugins: remove deprecated code
9235           Since we are only supporting current GStreamer version, since 1.3
9236           gst_buffer_pool_config_add_option() checks if the option to add is
9237           already set. There is no need to do it ourselves.
9238
9239 2016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9240
9241         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9242           vaapidecoder_h265: fix parsing of NALU aligned data
9243           Don't assume the whole buffer is a single NAL, instead look for the
9244           next start code in case there are multiple NALs per buffer.
9245           https://bugzilla.gnome.org/show_bug.cgi?id=762328
9246
9247 2016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9248
9249         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9250           vaapidecoder_h264: fix parsing of NALU aligned data
9251           Don't assume the whole buffer is a single NAL, instead look for the
9252           next start code in case there are multiple NALs per buffer.
9253           https://bugzilla.gnome.org/show_bug.cgi?id=762328
9254
9255 2016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
9256
9257         * gst/vaapi/gstvaapisink.c:
9258           vaapisink: Fix event,pad,structure memory leaks
9259           https://bugzilla.gnome.org/show_bug.cgi?id=762229
9260
9261 2016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
9262
9263         * gst/vaapi/gstvaapipluginbase.c:
9264           Add icamerasrc as dmabuf capable peer element
9265           icamerasrc is another gstreamer plugin using to capture RAW
9266           frames from camera device. It is based on libcamhal library.
9267           There are some properties available to control icamera behavior.
9268           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
9269           Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
9270           https://bugzilla.gnome.org/show_bug.cgi?id=759481
9271           Fixme: This is the similar workaround we done for v4l2src.
9272           The workaround will be removed once we fix #755072
9273
9274 2016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
9275
9276         * gst/vaapi/gstvaapipluginbase.c:
9277           vaapipluginbase: Fix structure memory leak
9278           config structure is not being freed in all cases
9279           https://bugzilla.gnome.org/show_bug.cgi?id=762172
9280
9281 2016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
9282
9283         * gst/vaapi/gstvaapidecode.c:
9284           vaapidecode: Fix videocodec state memory leak
9285           When state is not NULL and either width/height of video info is 0, then state leaks
9286           https://bugzilla.gnome.org/show_bug.cgi?id=762173
9287
9288 2016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
9289
9290         * gst/vaapi/gstvaapisink.c:
9291           vaapisink: post message for application for unhandled keyboard/mouse events
9292           Makes (most) keyboard shortcuts work in gst-play-1.0 when
9293           the video window has focus.
9294
9295 2016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
9296
9297         * gst/vaapi/gstvaapidecode.c:
9298           vaapidecode: Fix capsfeature memory leak
9299           https://bugzilla.gnome.org/show_bug.cgi?id=762116
9300
9301 2016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
9302
9303         * gst/vaapi/gstvaapisink.c:
9304           vaapisink: Fix capsfeature memory leak
9305           caps feature allocated is not being freeing in some cases
9306           https://bugzilla.gnome.org/show_bug.cgi?id=762111
9307
9308 2016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
9309
9310         * configure.ac:
9311         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
9312         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9313         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9314         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9315         * gst-libs/gst/vaapi/gstvaapifilter.c:
9316         * gst/vaapi/gstvaapidecodebin.c:
9317         * gst/vaapi/gstvaapipluginutil.c:
9318           vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
9319
9320 2016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
9321
9322         * configure.ac:
9323           configure: Fix setting of extra compiler warning flags
9324
9325 2016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9326
9327         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
9328           libs: fix build error
9329           gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
9330           functions are used only when libva's API version is greater than 0.36.0
9331           This patch guards those functions completely rather than just their
9332           content. The patch is a continuation of commit 38f8fea4
9333           Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
9334           https://bugzilla.gnome.org/show_bug.cgi?id=762055
9335
9336 2016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
9337
9338         * tests/simple-encoder.c:
9339           tests: simple-encoder: fix build error
9340           argument mismatch of gsize with 'long unsigned int'
9341           https://bugzilla.gnome.org/show_bug.cgi?id=762055
9342
9343 2016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9344
9345         * gst/vaapi/gstvaapisink.c:
9346           vaapisink: Fix wrong caps advertising
9347           The get_caps() should only report the supported formats.
9348           https://bugzilla.gnome.org/show_bug.cgi?id=761147
9349
9350 2016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
9351
9352         * common:
9353           Automatic update of common submodule
9354           From e97c9bb to b64f03f
9355
9356 2016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9357
9358         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
9359         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
9360         * gst/vaapi/gstvaapi.c:
9361         * gst/vaapi/gstvaapiencode_h264.c:
9362         * gst/vaapi/gstvaapiencode_h265.c:
9363         * gst/vaapi/gstvaapiencode_jpeg.c:
9364         * gst/vaapi/gstvaapiencode_mpeg2.c:
9365         * gst/vaapi/gstvaapiencode_vp8.c:
9366           rename encoders to vaapi{codec}enc
9367           Trying to comply with GStreamer's element names, this patch renames the
9368           encoders using the name format vaapi{codec}enc.
9369           In this way, the plugin documentation is linked correctly.
9370           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9371
9372 2016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9373
9374         * configure.ac:
9375           Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
9376           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9377
9378 2016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9379
9380         * configure.ac:
9381           build: remove vp9 parser check
9382           Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
9383           the check of the parser, as we did for the others.
9384           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9385
9386 2016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9387
9388         * common:
9389         * configure.ac:
9390           Back to development
9391           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9392
9393 === release 1.6.0 ===
9394
9395 2016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9396
9397         * configure.ac:
9398           Release 1.6.0
9399
9400 2016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9401
9402         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
9403         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9404         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9405           libs: fix compiler warnings
9406           After setting the release flags, the compiler warns about a couple
9407           initialized variables.
9408           Also marked a couple of set variables as unused, because they are only
9409           used for assertion.
9410           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9411
9412 2016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9413
9414         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
9415         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
9416         * gst/vaapi/gstvaapidecode.c:
9417         * gst/vaapi/gstvaapidecodebin.c:
9418         * gst/vaapi/gstvaapiencode_h264.c:
9419         * gst/vaapi/gstvaapiencode_h265.c:
9420         * gst/vaapi/gstvaapiencode_jpeg.c:
9421         * gst/vaapi/gstvaapiencode_mpeg2.c:
9422         * gst/vaapi/gstvaapiencode_vp8.c:
9423         * gst/vaapi/gstvaapipostproc.c:
9424         * gst/vaapi/gstvaapisink.c:
9425           docs: update plugin documentation
9426           Update all the documentation of elements of the vaapi plugin.
9427           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9428
9429 2016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9430
9431         * Makefile.am:
9432         * configure.ac:
9433         * docs/Makefile.am:
9434         * docs/plugins/Makefile.am:
9435         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
9436         * docs/plugins/gstreamer-vaapi-plugins.types:
9437         * docs/reference/Makefile.am:
9438         * docs/reference/plugins/Makefile.am:
9439         * docs/reference/plugins/plugins-sections.txt:
9440         * docs/reference/plugins/plugins.types:
9441         * docs/version.entities.in:
9442           resurrect gtk-doc machinery
9443           Our auto-generated documentation has been a bit neglected. This patch replaces
9444           the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
9445           plugins, elements and libraries.
9446           This patch also re-enables documentation generation.
9447           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9448
9449 2016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9450
9451         * ChangeLog:
9452         * Makefile.am:
9453         * autogen.sh:
9454         * configure.ac:
9455           use gst-common submodule
9456           This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
9457           GStreamer common submodule.
9458           The documentation generation has been disable temporarily since it needs a
9459           major rework, which will be done in the following commit.
9460           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9461
9462 2016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9463
9464         * .gitmodules:
9465         * common:
9466           add gst-common submodule
9467           Pointing to branch 1.6
9468           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9469
9470 2016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9471
9472         * gstreamer-vaapi.doap:
9473           add doap descriptor
9474           DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
9475           describe software projects, in particular free and open source software.
9476           The description is used in GStreamer as in many other open source projects.
9477           This patch adds the doap description of this project.
9478           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9479
9480 2016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9481
9482         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
9483         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9484         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
9485         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
9486         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9487         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
9488         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
9489         * gst-libs/gst/vaapi/gstvaapiimage.c:
9490         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
9491         * gst-libs/gst/vaapi/gstvaapipixmap.c:
9492         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
9493         * gst-libs/gst/vaapi/gstvaapiprofile.c:
9494         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
9495           libs: humongous code style fix
9496           As part of the upstreaming process of gstreamer-vaapi into the GStreamer
9497           umbrella, we need to comply with the project's code style. This meant to
9498           change a lot of code.
9499           It was decided to use a single massive patch to update the code style.
9500           I would like to apologize with the original developers of this code because of
9501           the history breakage.
9502           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9503
9504 2016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9505
9506         * gst-libs/gst/vaapi/gstvaapicontext.c:
9507         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9508         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
9509         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
9510         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
9511         * gst/vaapi/gstvaapivideomemory.c:
9512           libs: small refactors to enhance the code style
9513           As gst-indent generated ugly code in these cases, this patch changes the used
9514           idiomatic into other one.
9515           No functional changes were introduced.
9516           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9517
9518 2016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9519
9520         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
9521         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
9522         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
9523         * gst-libs/gst/vaapi/gstvaapidecoder.c:
9524         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9525         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
9526         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9527         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9528         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9529         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9530         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9531         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
9532         * gst-libs/gst/vaapi/gstvaapifilter.c:
9533         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
9534         * gst-libs/gst/vaapi/gstvaapisurface.c:
9535         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
9536         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
9537         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
9538         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
9539         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
9540         * gst-libs/gst/vaapi/gstvaapiwindow.c:
9541         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
9542           libs: small code style fixes
9543           This a set of small code style fixes detected as-is by gst-indent.
9544           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9545
9546 2016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9547
9548         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
9549         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
9550         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
9551         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
9552         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
9553         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
9554         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
9555         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
9556         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9557           libs: trivial comment style fixes
9558           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9559
9560 2016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9561
9562         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
9563         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
9564           libs: avoid gst-indent mess up
9565           Guard pieces of code to avoid gst-ident to mess up the following code.
9566           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9567
9568 2016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9569
9570         * gst/vaapi/gstvaapidecode.c:
9571         * gst/vaapi/gstvaapidecodebin.c:
9572         * gst/vaapi/gstvaapipluginutil.c:
9573         * gst/vaapi/gstvaapisink.c:
9574         * gst/vaapi/gstvaapivideomemory.c:
9575           plugins: fix code style
9576           Minor code style changes by executing gst-indent in gst/vaapi directory.
9577           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9578
9579 2016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
9580
9581         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9582         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9583           Fix some more compiler warning
9584           Two (false) compiler warnings about variables potentially
9585           being used uninitialized, and one about a variable being
9586           set but not used.
9587           https://bugzilla.gnome.org/show_bug.cgi?id=759192
9588
9589 2016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
9590
9591         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9592         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
9593         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9594         * gst-libs/gst/vaapi/gstvaapifilter.c:
9595         * gst/vaapi/gstvaapidecode.c:
9596         * gst/vaapi/gstvaapipluginbase.c:
9597         * gst/vaapi/gstvaapipluginutil.c:
9598         * gst/vaapi/gstvaapipostproc.c:
9599         * tests/simple-encoder.c:
9600         * tests/test-filter.c:
9601           vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
9602           Declare variables at the beginning of a code block, which
9603           is how it's done in GStreamer.
9604           https://bugzilla.gnome.org/show_bug.cgi?id=759192
9605
9606 2016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9607
9608         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
9609           decoder: vp9: Fix crop rectangle setting
9610           Align with software vp9dec behaviour: Add crop rectangle
9611           only if display_width/display_height is less than the
9612           frame_hdr->width/frame_hdr->height
9613
9614 2016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9615
9616         * gst/vaapi/gstvaapidecode.c:
9617           vaapidecode: Fix renegotiation for resolution change
9618           Always renegotiate the pool if the immediate frame which going
9619           to be pushed has a different un-cropped resolution than the already
9620           configured one.
9621
9622 2016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9623
9624         * gst/vaapi/gstvaapipluginbase.h:
9625           plugins: use the same pre-processor macro
9626           In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
9627           code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
9628           HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
9629           We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
9630           in the header file.
9631           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9632
9633 2016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9634
9635         * gst-libs/gst/vaapi/gstvaapidecoder.c:
9636           decoder: update a deprecated function
9637           Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
9638           deprecated since GStreamer 1.0.
9639           This patch replace it with gst_adapter_prev_pts()
9640           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9641
9642 2016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9643
9644         * configure.ac:
9645           build: honor configure's cache
9646           The user might enable --config-cache when calling configure script. If so, our
9647           configuration variables will not be correctly calculated.
9648           This patch extracts the value of our variables either from the cache or from
9649           the operation result.
9650           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9651
9652 2016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9653
9654         * configure.ac:
9655           build: use common version variables
9656           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9657
9658 2016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9659
9660         * configure.ac:
9661           build: hard-code an unneeded macro
9662           That macro is required for EGL's dynamic module loading, but since
9663           gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
9664           That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
9665           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9666
9667 2016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9668
9669         * configure.ac:
9670           build: refactorization of dependency tracking
9671           This patch tries to avoid branching in configure.ac using a more functional
9672           approach in macros usage.
9673           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9674
9675 2016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9676
9677         * configure.ac:
9678           build: check for OpenGL either GLX or EGL are requested
9679           Refactor some code in configure.ac to centralize $enable_opengl definition.
9680           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9681
9682 2016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9683
9684         * configure.ac:
9685           build: indent and add square braces
9686           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9687
9688 2016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9689
9690         * configure.ac:
9691           build: upgrade autotools version dependency
9692           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9693
9694 2016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9695
9696         * configure.ac:
9697           build: enhance string comparisons
9698           Add a 'x' as a prefix in string comparisons to watch out for edge cases where
9699           the string is empty or undefined.
9700           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9701
9702 2016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9703
9704         * configure.ac:
9705           build: remove unused variables
9706           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9707
9708 2016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9709
9710         * configure.ac:
9711           build: remove check for old version of gstreamer
9712           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9713
9714 2016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9715
9716         * configure.ac:
9717           build: remove GStreamer's parsers checks
9718           This patch removes almost all the parsers check since they are already in place,
9719           with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
9720           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9721
9722 2016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9723
9724         * configure.ac:
9725         * gst/vaapi/Makefile.am:
9726           build: add gstreamer-pbutils dependency
9727           This dependency was added in gstvaapidecodebin with the call
9728           gst_missing_element_message_new().
9729           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9730
9731 2016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9732
9733         * configure.ac:
9734           build: fix variable declaration
9735           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9736
9737 2016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9738
9739         * gst-libs/gst/vaapi/Makefile.am:
9740           build: fix when HEVC decoder is disabled
9741           This a very pathological situation: when we have a HEVC encoder but not a HEVC
9742           decoder.
9743           The encoder needs functions that are only available when the decoder is
9744           enabled.
9745           This patch moves the utils functions into the generic sources, such as the
9746           rest of the utils.
9747           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9748
9749 2016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9750
9751         * gst/vaapi/Makefile.am:
9752           build: remove unused EGL specific sources
9753           These Makefile variables are not used at all.
9754           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9755
9756 2016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9757
9758         * gst/vaapi/Makefile.am:
9759           build: remove check for GStreamer 1.2
9760           Since we are working for current stable GStreamer 1.6
9761           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9762
9763 2016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9764
9765         * gst/vaapi/gstvaapiparse.h:
9766           Remove more video parser crufts
9767           This header is not used anymore since it declares parsers that are
9768           already in GStreamer 1.6
9769           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9770
9771 2016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
9772
9773         * configure.ac:
9774         * docs/reference/Makefile.am:
9775         * docs/reference/libs/Makefile.am:
9776         * docs/reference/libs/libs-docs.xml.in:
9777         * docs/reference/libs/libs-overrides.txt:
9778         * docs/reference/libs/libs-sections.txt:
9779           docs: remove library documentation which is non-public now
9780           https://bugzilla.gnome.org/show_bug.cgi?id=759192
9781
9782 2016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
9783
9784         * Makefile.am:
9785         * configure.ac:
9786         * debian.upstream/Makefile.am:
9787         * debian.upstream/changelog.in:
9788         * debian.upstream/compat:
9789         * debian.upstream/control.in:
9790         * debian.upstream/copyright:
9791         * debian.upstream/gstreamer-vaapi-doc.install.in:
9792         * debian.upstream/gstreamer-vaapi.install.in:
9793         * debian.upstream/rules:
9794           Remove debian.upstream packaging
9795           https://bugzilla.gnome.org/show_bug.cgi?id=759192
9796
9797 2016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9798
9799         * gst-libs/gst/vaapi/gstvaapidecoder.c:
9800         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9801         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
9802         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9803         * gst-libs/gst/vaapi/gstvaapiprofile.c:
9804         * gst/vaapi/gstcompat.h:
9805         * gst/vaapi/gstvaapi.c:
9806         * gst/vaapi/gstvaapidecode.c:
9807         * gst/vaapi/gstvaapiencode.c:
9808         * gst/vaapi/gstvaapipluginbase.c:
9809         * gst/vaapi/gstvaapipluginbase.h:
9810         * gst/vaapi/gstvaapipluginutil.c:
9811         * gst/vaapi/gstvaapisink.c:
9812           Remove old gst version guards
9813           As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
9814           all the old GStreamer version guards.
9815           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9816
9817 2016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9818
9819         * gst/vaapi/gstvaapiparse.c:
9820           Remove video parser crufts
9821           We forgot to remove gstvaapiparse.c when we removed all the videoparser
9822           machinery.
9823           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9824
9825 2015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9826
9827         * docs/reference/libs/Makefile.am:
9828         * docs/reference/plugins/Makefile.am:
9829         * gst-libs/gst/vaapi/Makefile.am:
9830         * gst/vaapi/Makefile.am:
9831         * tests/Makefile.am:
9832           libs: remove versioning
9833           Since we don't install libraries anymore, it makes no sense to keep
9834           versioning them according to the gstreamer's version.
9835           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9836
9837 2015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9838
9839         * configure.ac:
9840         * debian.upstream/Makefile.am:
9841         * debian.upstream/control.in:
9842         * debian.upstream/libgstvaapi-dev.install.in:
9843         * debian.upstream/libgstvaapi-drm.install.in:
9844         * debian.upstream/libgstvaapi-glx.install.in:
9845         * debian.upstream/libgstvaapi-wayland.install.in:
9846         * debian.upstream/libgstvaapi-x11.install.in:
9847         * debian.upstream/libgstvaapi.install.in:
9848         * gst-libs/gst/vaapi/Makefile.am:
9849         * tests/Makefile.am:
9850           libs: make libraries no installables
9851           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9852
9853 2015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9854
9855         * debian.upstream/libgstvaapi-dev.install.in:
9856         * gst-libs/gst/vaapi/Makefile.am:
9857           Do not install libgstvaapi headers
9858           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9859
9860 2016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9861
9862         * Makefile.am:
9863         * configure.ac:
9864         * patches/Makefile.am:
9865         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
9866         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9867         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
9868         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
9869         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
9870         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
9871         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
9872         * patches/videoparsers/Makefile.am:
9873         * patches/videoparsers/series.frag:
9874           Remove videoparser patches
9875
9876 2015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9877
9878         * Makefile.am:
9879         * configure.ac:
9880         * debian.upstream/libgstvaapi-dev.install.in:
9881         * pkgconfig/Makefile.am:
9882         * pkgconfig/gstreamer-vaapi-drm.pc.in:
9883         * pkgconfig/gstreamer-vaapi-glx.pc.in:
9884         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
9885         * pkgconfig/gstreamer-vaapi-x11.pc.in:
9886         * pkgconfig/gstreamer-vaapi.pc.in:
9887           Remove pkg-config files
9888           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9889
9890 2015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9891
9892         * .gitmodules:
9893         * Makefile.am:
9894         * configure.ac:
9895         * ext/Makefile.am:
9896         * ext/codecparsers:
9897         * gst-libs/gst/Makefile.am:
9898         * gst-libs/gst/codecparsers/Makefile.am:
9899         * gst-libs/gst/vaapi/Makefile.am:
9900         * gst/vaapi/Makefile.am:
9901           Remove codecparsers submodule
9902           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9903
9904 2015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9905
9906         * .gitmodules:
9907         * autogen.sh:
9908         * configure.ac:
9909         * debian.upstream/libgstvaapi.install.in:
9910         * ext/Makefile.am:
9911         * ext/libvpx/Makefile.am:
9912         * ext/libvpx/gstlibvpx.c:
9913         * ext/libvpx/gstlibvpx.h:
9914         * ext/libvpx/libgstcodecparsers_vpx.vers:
9915         * ext/libvpx/sources.frag:
9916         * ext/libvpx/upstream:
9917         * gst-libs/gst/codecparsers/Makefile.am:
9918         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
9919           Remove libvpx submodule
9920           We will be using upstream codecparsers always.
9921           No more internal libvpx !
9922
9923 2015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9924
9925         * configure.ac:
9926           build: fix check for GstJpegParser
9927           Right now the local JPEG parser is always compiled because the check for the
9928           upstreamed version is broken: it looks for an non existent symbol:
9929           GstJpegImage.
9930           This patch changes that check for< GstJpegFrameHdr.
9931           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9932
9933 2015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
9934
9935         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9936           wayland: free the frame in frame_release_callback()
9937           This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
9938           decouple wl_buffer from frame).
9939           Otherwise the frame may be overwritten while it is still used by the
9940           compositer:
9941           The frame done callback (frame_done_callback()) is called, when the
9942           compositor is done processing the frame and hands it to the hardware.
9943           The buffer release callback (frame_release_callback()) is called when the
9944           buffer memory is no longer used.
9945           This can be quite some time later: E.g. if weston (with the DRM backend)
9946           puts the buffer on a hardware plane, then then buffer release callback is
9947           called when the kernel is done with the buffer. This is usually when the
9948           next frame is shown, so most likely after the frame done callback for the
9949           next frame!
9950           Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
9951           destroy()" the mentioned possible leak should no longer be a problem, so
9952           reverting this change should cause no leaking buffers.
9953           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9954           https://bugzilla.gnome.org/show_bug.cgi?id=758848
9955           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9956
9957 2016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9958
9959         * gst/vaapi/gstvaapipostproc.c:
9960           vaapipostproc: check ANY caps at transform_caps()
9961           When transforming downstream caps we should check for ANY caps from peer pad,
9962           otherwise we get a segmentation fault.
9963           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9964           https://bugzilla.gnome.org/show_bug.cgi?id=759893
9965
9966 2016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9967
9968         * gst/vaapi/gstvaapisink.c:
9969           vaapisink: ignore frame if its upload failed
9970           When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
9971           into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
9972           ignored by the vaapisink, leading to a segmentation fault.
9973           This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
9974           returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
9975           segmentation fault, but doing and effort to continue rendering. This is
9976           the same behavior of ximagesink.
9977           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9978           https://bugzilla.gnome.org/show_bug.cgi?id=759332
9979
9980 2015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
9981
9982         * configure.ac:
9983           build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
9984           https://bugzilla.gnome.org/show_bug.cgi?id=759184
9985
9986 2015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9987
9988         * gst-libs/gst/vaapi/gstvaapicontext.c:
9989         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9990         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
9991         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
9992           Add 10 HEVC 10 bit decoding support
9993           Only supporting vaapidecode ! vaapisink combination for now.
9994           Missing dependencies:
9995           1: No support for P010 video format in GStreamer
9996           2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
9997           3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
9998           through GstVideoMeta.
9999           Right now we only set chroma format (YUV420 with more than 8 bits per channel)
10000           for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
10001           of the surfaces is implementation (driver) defined, which is P010.
10002
10003 2001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10004
10005         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
10006         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
10007           gstvaapisurfacepool: Add new API to create surface pool based on chroma type
10008           This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
10009           creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
10010           chroam type and dimensions. The underlying format of the surfaces is
10011           implementation (driver) defined.
10012
10013 2015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10014
10015         * gst-libs/gst/vaapi/gstvaapisurface.h:
10016         * gst-libs/gst/vaapi/gstvaapiutils.c:
10017           Add definitions for YUV420 with more than 8 bits per channel
10018
10019 2015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10020
10021         * gst-libs/gst/vaapi/gstvaapiprofile.c:
10022           gstvaapiporfile: Fix string representation of HEVCMain10 profile
10023
10024 2015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10025
10026         * configure.ac:
10027           Bump version for development
10028
10029 === release 0.7.0 ===
10030
10031 2015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10032
10033         * configure.ac:
10034           0.7.0
10035
10036 2015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10037
10038         * NEWS:
10039           NEWS: Updates
10040
10041 2015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10042
10043         * AUTHORS:
10044           AUTHORS: Update
10045
10046 2015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10047
10048         * README:
10049           README: Update
10050
10051 2015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10052
10053         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
10054           texture: detect GL version and use the proper API
10055           When receiving the texture from the application or the video sink, we must
10056           know it size and border. To query the texture the API has changed according to
10057           the OpenGL version used in the GL context of the application/vsink.
10058           This patch checks the current context API type and queries the texture
10059           according to this detected API.
10060           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10061           https://bugzilla.gnome.org/show_bug.cgi?id=753099
10062
10063 2015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10064
10065         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
10066           texture: check for expected target and format
10067           gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
10068           formats GL_RGBA or GL_BGRA.
10069           This patch adds a debugging verification of those values.
10070           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10071           https://bugzilla.gnome.org/show_bug.cgi?id=753099
10072
10073 2015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10074
10075         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
10076         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
10077           libs: add gl3_bind_texture_2d()
10078           Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
10079           needed. In particular, the Intel's Mesa implementation complains if it is
10080           called.
10081           This patch add a new binding function for 2D textures, without enabling
10082           gl3_bind_texture_2d()[2].
10083           1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
10084           2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
10085           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10086           https://bugzilla.gnome.org/show_bug.cgi?id=753099
10087
10088 2015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10089
10090         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
10091         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
10092           libs: add gl_get_current_api()
10093           In order to know which OpenGL API use, we must detect the API type of current
10094           context. This patch adds the function gl_get_current_api() which returns the
10095           OpenGL API type.
10096           This function is an adaptation of gst_gl_context_get_current_gl_api() from
10097           GstGL.
10098           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10099           https://bugzilla.gnome.org/show_bug.cgi?id=753099
10100
10101 2015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10102
10103         * configure.ac:
10104         * gst-libs/gst/vaapi/Makefile.am:
10105           build: Add gmodule dependency for libgstvaapi_egl
10106           https://bugzilla.gnome.org/show_bug.cgi?id=756259
10107
10108 2015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10109
10110         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
10111         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
10112         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
10113         * patches/videoparsers/series.frag:
10114           patches/videoparsers: h264: Disable passthorugh mode enabling
10115           This is a quick fix for regression introduced by the upstream
10116           commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
10117           The patch is disabling the passthrough mode, otherwise it will
10118           break multi-layer mvc stream parsing.
10119           https://bugzilla.gnome.org/show_bug.cgi?id=758656
10120
10121 2015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10122
10123         * gst/vaapi/Makefile.am:
10124         * patches/videoparsers/Makefile.am:
10125         * patches/videoparsers/series.frag:
10126           build: add gsth265parse patches conditionally
10127           As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
10128           GStreamer 1.2, the patching of gsth265parse must be conditional to the target
10129           GStreamer version.
10130           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10131           https://bugzilla.gnome.org/show_bug.cgi?id=755525
10132
10133 2015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10134
10135         * gst/vaapi/Makefile.am:
10136           build: declare correctly parse lib built files
10137           This is a continuation of commit fc8a0d12
10138           When declaring BUILT_SOURCES, those files should not be distributed. This
10139           patch avoids the distribution of the generated source code.
10140           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10141           https://bugzilla.gnome.org/show_bug.cgi?id=755525
10142
10143 2015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10144
10145         * ext/libvpx/sources.frag:
10146           build: libvpx: Add missing source file
10147
10148 2015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10149
10150         * gst/vaapi/gstvaapipostproc.c:
10151           vaapipostproc: Correctly detect the caps change
10152           This is a quick fix for regression introuduced by the
10153           commit 757833230bc73b8e3b4e31649e4618ba802bea51
10154           With out this, the gst_vaapipostproc_create() will
10155           never get invoked.
10156           https://bugzilla.gnome.org/show_bug.cgi?id=758543
10157
10158 2015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10159
10160         * ext/libvpx/Makefile.am:
10161         * ext/libvpx/sources.frag:
10162           build: libvpx: update the sources lists
10163           `make dist` broke since commit f06798 (libvpx: Update the submodule to
10164           libvpx-1.4.0) because the sources.frag does not contain all the module
10165           sources.
10166           This patch updates thoroughly the sources.
10167           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10168           https://bugzilla.gnome.org/show_bug.cgi?id=755525
10169
10170 2015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10171
10172         * gst/vaapi/gstvaapipostproc.c:
10173           vaapipostproc: don't set caps change at first set
10174           When the source caps change, the filter is destroyed and recreated.
10175           Nonetheless, this happens every time the vaapipostproc starts, since the caps
10176           change detection algorithm does not take in consideration when the caps are
10177           set by first time.
10178           This patch intents to be an optimization, to avoid a useless filter
10179           destroy-creation cycle when the sources caps are set for first time.
10180           The new helper function video_info_update() is a refactorization to avoid
10181           duplicated code.
10182           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10183           https://bugzilla.gnome.org/show_bug.cgi?id=758007
10184
10185 2015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10186
10187         * gst/vaapi/gstvaapipostproc.c:
10188           vaapipostproc: params video_info_changed() callers
10189           The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
10190           swapped the the order. This didn't raise problems since the comparison of both
10191           structures were not affected by its semantics.
10192           But still it would be better to fix this to keep the coherence of the code.
10193           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10194           https://bugzilla.gnome.org/show_bug.cgi?id=758007
10195
10196 2015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10197
10198         * gst/vaapi/Makefile.am:
10199           build: declare real built files
10200           When runnig the `make dist` target from a clean tree, it fails because
10201           if could not find the copied files from codecparsers submodule.
10202           They weren't copied because they weren't declared as built sources.
10203           This patch removes the stamp mechanism and use the actual file list to copy
10204           as the built sources. Also it fixes the duplication of the parser files.
10205           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10206           https://bugzilla.gnome.org/show_bug.cgi?id=755525
10207
10208 2015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10209
10210         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10211           decoder: vp9: Fix last/golden/altref frame index setting
10212           Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
10213           based on what ever reference frame indices encoded in frame header.
10214
10215 2015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10216
10217         * debian.upstream/rules:
10218           debian: remove custom parallel compilation
10219           In order to build a debian package with upstream source, the user should
10220           do
10221           ./autogen.sh
10222           cp -a debian.upstream debian
10223           debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
10224           The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
10225           way to make a parallel build (-j8 in this case).
10226           This commit removes the script in debian/rules that detects the number of
10227           cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
10228           official in debian.
10229           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10230           https://bugzilla.gnome.org/show_bug.cgi?id=754087
10231
10232 2015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10233
10234         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10235           decoder: vp9: Fix PTS calculation of cloned frames
10236
10237 2015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10238
10239         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10240           decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
10241           We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
10242           gstvaapidecoder base calss is reponsible for handling those frames later on.
10243           No need for explicit verification of frame header's show_frame in order to
10244           do picture outputing.
10245
10246 2015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10247
10248         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10249           decoder: vp9: Fix ref picture update while doing repeat frame
10250           Don't try to do frame decoding and reference picture update
10251           while receiving a vp9 frame having show_existing_frame flag
10252           set as TRUE.
10253
10254 2015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10255
10256         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10257           decoder: vp9: Add repeat-frame display handling
10258           If vp9 frame header come up with show_existing_frame flag set,
10259           we should duplicate the existing decoded frame as current frame to
10260           be displayed.
10261
10262 2015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10263
10264         * gst/vaapi/gstvaapidecodebin.c:
10265           vaapidecodebin: add me as element co-author
10266           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10267           https://bugzilla.gnome.org/show_bug.cgi?id=757957
10268
10269 2015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10270
10271         * gst/vaapi/gstvaapidecodebin.c:
10272           vaapidecodebin: try to get display from decoder
10273           Rather than create a dummy display, if none has propagated as a context, we
10274           should try to get the one from vaapidecode.
10275           As the bin is already in READY state, the vaapidecode should be also in that
10276           state. That means that the contexts have been negotiated, and it should have
10277           already a display.
10278           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10279           https://bugzilla.gnome.org/show_bug.cgi?id=757957
10280
10281 2015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10282
10283         * gst/vaapi/gstvaapidecodebin.c:
10284         * gst/vaapi/gstvaapidecodebin.h:
10285           vaapidecodebin: add postprocessor dynamically
10286           The former approach to left the bin unfinished has some problems: the context
10287           cannot be shared because the vaapidecode is unlinked in many cases, leading to
10288           creating a VADisplay twice.
10289           Initially the bin is fully functional, constructed as
10290           (-----------------------------------)
10291           |            vaapidecodebin         |
10292           |   (-------------)    (-------)    |
10293           |<--| vaapidecode |--->| queue |--->|
10294           |   (-------------)    (-------)    |
10295           (-----------------------------------)
10296           When the context is shared and the VADisplay has VPP capabilities, before
10297           changing to READY state, the bin is reconfigured dynamically, adding the
10298           vaapipostproc element afeter the queue:
10299           (--------------------------------------------------------)
10300           |                       vaapidecodebin                   |
10301           |   (-------------)    (-------)    (---------------)    |
10302           |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
10303           |   (-------------)    (-------)    (---------------)    |
10304           (--------------------------------------------------------)
10305           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10306           https://bugzilla.gnome.org/show_bug.cgi?id=757957
10307
10308 2015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10309
10310         * gst/vaapi/gstvaapidecodebin.c:
10311           vaapidecodebin: delay the bin configuration
10312           Delay the bin configuration until changing to READY state. This is because we
10313           should add the vaapipostproc element until the vaapidecode has emitted the
10314           HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
10315           vaapipostproc.
10316           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10317           https://bugzilla.gnome.org/show_bug.cgi?id=757957
10318
10319 2015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10320
10321         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10322           decoder: vp9: Add crop rectangle support.
10323           Set crop rectange if:
10324           There is display_width and display_height which is different from actual width/height
10325           or
10326           The changed resolution is less than the actual configured dimension of surfaces
10327
10328 2015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10329
10330         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10331           decoder: vp9: Fix the context and surface pool reset for multi resolution video
10332           Unlike other decoders, vp9 decoder doesn't need to reset the
10333           whole context and surfaces for each resolution change. Context
10334           reset only needed if resolution of any frame is greater than
10335           what actullay configured. There are streams where a bigger
10336           resolution set in ivf header or webm header but actual resolution
10337           of all frames are less. Also it is possible to have inter-prediction
10338           between these multi resolution frames.
10339
10340 2015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10341
10342         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10343           decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
10344           Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
10345           Preliminary fix for supproting multi resolution video decode.
10346
10347 2015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10348
10349         * gst/vaapi/gstvaapidecode.c:
10350           vaapidecode: Add comments for corner case fixes and fix couple of indentations.
10351
10352 2015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10353
10354         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10355           decoder: vp9: Set lossless flag from frame header
10356
10357 2015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10358
10359         * ext/codecparsers:
10360           codecparsers: Update to gst-vaapi-branch d9f25
10361           d9f2527: codecparsers: vp9: Set lossless flag in frame header
10362
10363 2015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10364
10365         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10366           libs: vp9: remove unused symbols
10367           clang complains about a couple variables and one label which were not
10368           used. This patch removes them.
10369           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10370           https://bugzilla.gnome.org/show_bug.cgi?id=757958
10371
10372 2015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10373
10374         * ext/codecparsers:
10375           codecparsers: Update to gst-vaapi-branch da251bb
10376           da251bb: codecparsers: vp9: Optimize the memory allocation
10377           f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
10378
10379 2015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10380
10381         * gst/vaapi/gstvaapipluginbase.c:
10382         * gst/vaapi/gstvaapipluginbase.h:
10383           plugin: guard pointers to pad query functions
10384           Since gstreamer 1.4 is not required to have pad query functions if the query
10385           vmethods are used.
10386           This patch guards out the pad query functions for gstreamer < 1.4
10387           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10388           https://bugzilla.gnome.org/show_bug.cgi?id=757629
10389
10390 2015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10391
10392         * gst/vaapi/gstvaapiencode.c:
10393           vaapiencode: use pad query vmethods
10394           GstVideoEncoder, the base class of vaapiencode, added support for pad queries
10395           as virtual methods since gstreamer 1.4. This patch enables those vmethods,
10396           while keeps support for previous versions of gstreamer.
10397           This patch is relevant since GstVideoEncoder takes care of other queries that
10398           we are currently ignoring.
10399           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10400           https://bugzilla.gnome.org/show_bug.cgi?id=757629
10401
10402 2015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10403
10404         * gst/vaapi/gstvaapidecode.c:
10405           vaapidecode: return pad's template caps if no display
10406           A caps query can occur before the element has a display. In that case, the
10407           element can return its pad's template. But when the element already has a
10408           display, and the caps probe fails, the element shall return an empty caps, so
10409           the auto-plug could try with another decoder.
10410           If the element has a display and the caps probe works, then the computed caps
10411           should be returned.
10412           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10413           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10414
10415 2015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10416
10417         * gst/vaapi/gstvaapidecode.c:
10418         * gst/vaapi/gstvaapisink.c:
10419           plugins: don't create display at caps query
10420           Caps query can happen before the element has a bus. The display creation should
10421           be should occur on the context negotiation, when the bus is already configured.
10422           Then at caps query no display should be created.
10423           Instead of force the display creation, we graciously fail the allowed_caps()
10424           creation.
10425           This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
10426           basetransform descendant, seems to be not affected by this, nor the encoders.
10427           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10428           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10429
10430 2015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10431
10432         * gst/vaapi/gstvaapidecode.c:
10433         * gst/vaapi/gstvaapiencode.c:
10434         * gst/vaapi/gstvaapipluginutil.c:
10435         * gst/vaapi/gstvaapipluginutil.h:
10436         * gst/vaapi/gstvaapipostproc.c:
10437         * gst/vaapi/gstvaapisink.c:
10438           plugins: fix context query handling
10439           The current context query handling design is flawed: the function
10440           gst_vaapi_reply_to_query() returns FALSE either if the query is not a
10441           GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
10442           pad query function should handle differently each case.
10443           This patch changes the gst_vaapi_reply_to_query() for
10444           gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
10445           to match the correct context query handling.
10446           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10447           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10448
10449 2015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10450
10451         * gst/vaapi/gstvaapipluginutil.c:
10452           plugin: don't lose previous context at query
10453           When processing the GST_CONTEXT_QUERY we should not lose the previous
10454           context in the query, we should only add our display structure.
10455           This patch copies the old context, if it is there, and stamp our display on
10456           it. Otherwise, a new context is created.
10457           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10458           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10459
10460 2015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10461
10462         * gst/vaapi/gstvaapivideocontext.c:
10463         * gst/vaapi/gstvaapivideocontext.h:
10464           vaapivideocontext: add gst_vaapi_video_context_set_display()
10465           This function set the display to an already created context. This function is
10466           going to be used later.
10467           Also, gst_vaapi_video_context_new_with_display() now uses this function.
10468           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10469           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10470
10471 2015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10472
10473         * gst/vaapi/gstvaapipluginutil.c:
10474         * gst/vaapi/gstvaapivideocontext.c:
10475         * gst/vaapi/gstvaapivideocontext.h:
10476           plugins: check if display is set in sync
10477           Since the context messages are sync'ed, the display assignation happens in the
10478           same thread, hence we can know if the display was found or not as soon we call
10479           for it.
10480           In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
10481           as a new parameter, the address of the plugin's display, and reports back if
10482           the display was found and set.
10483           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10484           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10485
10486 2015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10487
10488         * gst/vaapi/gstvaapipluginutil.c:
10489         * gst/vaapi/gstvaapivideocontext.c:
10490           plugins: set display through context
10491           Instead of setting the display to the plugin directly after its creation, do
10492           it through the gstreamer's context mechanism, avoiding double assignations.
10493           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10494           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10495
10496 2015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10497
10498         * gst/vaapi/gstvaapivideocontext.c:
10499           vaapivideocontext: rename context structure
10500           The context structure is named "display" which is too generic. The contrary
10501           happens, for example, with GstGL, what uses the same name as the context, and
10502           its logs make more sense.
10503           This patch renames the context structure with the same name as the
10504           context, thus GST_PTR_FORMAT can pretty print it.
10505           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10506
10507 2015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10508
10509         * gst/vaapi/gstvaapivideocontext.c:
10510           vaapivideocontext: refactor gst_vaapi_video_context_prepare()
10511           First, refactorized run_context_query() into _gst_context_run_query(), adding
10512           a new parameter: the pad direction, in order to simplify the code.
10513           Second, added a new helper function: _gst_context_query(), which is a generic
10514           context query function.  It isolates the operation of running the query and
10515           sets the context if found, also it enhances the logs.
10516           _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
10517           future this helper function will be merged into the core libraries of
10518           GStreamer.
10519           Finally, gst_vaapi_video_context_prepare() was rewritten to use
10520           _gst_context_query().
10521           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10522           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10523
10524 2015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10525
10526         * gst/vaapi/gstvaapivideocontext.c:
10527           vaapivideocontext: refactor context category debug
10528           Refactor the extraction GST_CAT_CONTEXT logging using a only once
10529           initializator, so we could get the debug category from different code
10530           paths, safely.
10531           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10532           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10533
10534 2015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10535
10536         * gst/vaapi/gstvaapivideocontext.c:
10537           gstvaapivideocontext: fix indentation
10538           gst-indent does not handle correctly some expression like function
10539           declaration with attributes, breaking the following expressions.
10540           This patch makes gst-indent to ignore the attributed function
10541           declartion so the followed function definition is not mangled, such
10542           as happened in commit b4154a
10543           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10544           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10545
10546 2015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10547
10548         * gst/vaapi/gstvaapipluginbase.c:
10549           plugin: chain up set_context() vmethod
10550           Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
10551           the parent class in order to broadcast all its contexts when the element
10552           is added into a bin:
10553           http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
10554           There is no need to guard the call, because before GStreamer 1.7, the
10555           set_context() vmethod was NULL in the element class, hence the conditional
10556           call make it safe.
10557           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10558           https://bugzilla.gnome.org/show_bug.cgi?id=757598
10559
10560 2015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10561
10562         * tests/simple-encoder.c:
10563           tests: simple-encoder: remove dead code
10564           The caps creation for codec state configuration is not used. Let's remove it.
10565           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10566
10567 2015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10568
10569         * gst/vaapi/gstvaapidecodebin.c:
10570           vaapidecodebin: fix a leaked display instance
10571           The display returned by gst_vaapi_video_context_get_display() increments the
10572           references. Thus, we have to unref the returned display.
10573           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10574           https://bugzilla.gnome.org/show_bug.cgi?id=757595
10575
10576 2015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10577
10578         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
10579         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
10580           libs: remove unneeded headers
10581           Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
10582           required to include them in the header. It is not also required to include
10583           them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
10584           exposes their structures (e.g. GLXPixmap).
10585           Nonetheless, glext.h neither glxext.h are required to include, they are
10586           already included conditionally by gl.h and glx.h, respectively.
10587           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10588           https://bugzilla.gnome.org/show_bug.cgi?id=757577
10589
10590 2015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10591
10592         * ext/codecparsers:
10593           codecparsers: Update to gst-vaapi-branch 0ea6792
10594           0ea6792: codecparsers: vp9: Add header comments
10595           347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
10596
10597 2015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10598
10599         * gst/vaapi/gstvaapidecode.c:
10600           VP9: plugins: Add VP9 decoder
10601
10602 2015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10603
10604         * gst-libs/gst/vaapi/Makefile.am:
10605         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10606         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
10607           VP9: libgstvaapi: Add VP9 decoder
10608
10609 2015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10610
10611         * gst-libs/gst/vaapi/gstvaapiprofile.c:
10612         * gst-libs/gst/vaapi/gstvaapiprofile.h:
10613           VP9: gstvaapiprofile: Add profile definitions
10614
10615 2015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10616
10617         * configure.ac:
10618           VP9: build: Check availability of vp9 decoder APIs
10619
10620 2015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10621
10622         * configure.ac:
10623         * ext/Makefile.am:
10624         * gst-libs/gst/codecparsers/Makefile.am:
10625           VP9: Allow building vp9 codecparser internally
10626
10627 2015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10628
10629         * ext/codecparsers:
10630           codecparsers: Update to gst-vaapi-branch commit ac5dc1a
10631           ac5dc1a: codecparsers: vp9: Add vp9 codec parser
10632           e7d9217: codecparser: h264: initialize parsing structures
10633           403d400: codecparser: h265: initialize parsing structures
10634
10635 2015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10636
10637         * configure.ac:
10638           configure.ac: don't use an undefined variable
10639           If the environment lacks of gstreamer development packages, this error will
10640           be reported to the user: "gstreamer- was not found"
10641           This is because we are using an undefined variable in the printed message. The
10642           fix simple changes the variable for the hard-coded string "1.0".
10643           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10644           https://bugzilla.gnome.org/show_bug.cgi?id=757283
10645
10646 2015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10647
10648         * gst/vaapi/gstvaapidecode.c:
10649           vaapidecode: relax guards for memory:VASurface capsfeature
10650           Though caps features are supported since GStreamer 1.2, there are some
10651           issues with the features caps negotiation in that version. Nonetheless,
10652           those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
10653           feature negotiation is relaxed for GStreamer 1.4.
10654           The guard is the same as in vaapisink's caps template.
10655           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10656           https://bugzilla.gnome.org/show_bug.cgi?id=756686
10657
10658 2015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10659
10660         * gst/vaapi/gstvaapidecode.c:
10661           vaapidecode: decide allocation doesn't update srccaps
10662           The received caps query will bring the already negotiated caps, so they are
10663           not expected to change.
10664           This patch removes this verification which is dead code path.
10665           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10666           https://bugzilla.gnome.org/show_bug.cgi?id=756686
10667
10668 2015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10669
10670         * gst/vaapi/gstvaapidecode.c:
10671         * gst/vaapi/gstvaapipluginutil.c:
10672         * gst/vaapi/gstvaapipluginutil.h:
10673           vaapidecode: use caps to check the features
10674           Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
10675           expensive, we check the caps from the allocation query, to check the
10676           negotiated feature.
10677           In order to do this verification a new utility function has been implemented:
10678           gst_vaapi_caps_feature_contains().
10679           As this new function shared its logic with gst_caps_has_vaapi_surface(), both
10680           have been refactorized.
10681           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10682           https://bugzilla.gnome.org/show_bug.cgi?id=756686
10683
10684 2015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10685
10686         * gst/vaapi/gstvaapidecode.c:
10687           vaapidecode: set format before decide allocation
10688           There is a regression from commit 3d8e5e. It was expected the buffer pool
10689           allocation occur before the caps negotiation, but it is not.
10690           This patch fixes this regression: the caps negotiation is done regardless the
10691           allocation query from downstream.
10692           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10693           https://bugzilla.gnome.org/show_bug.cgi?id=756686
10694
10695 2015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
10696
10697         * configure.ac:
10698           build: check for patch and fix yasm check
10699           Add configure checking for GNU patch tools and fixed configure
10700           checking YASM to correct sequence.
10701           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
10702           https://bugzilla.gnome.org/show_bug.cgi?id=756690
10703
10704 2015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10705
10706         * ext/libvpx/Makefile.am:
10707           build: Remove disable-md5 option for libvpx build
10708           The configure option --disable-md5 was provided in libvpx-1.3.0 which
10709           has been removed in 1.4.0.
10710
10711 2015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10712
10713         * ext/libvpx/upstream:
10714           libvpx: Update the submodule to libvpx-1.4.0
10715           libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
10716
10717 2015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10718
10719         * configure.ac:
10720           configure: mark support for GStreamer 1.2 as obsolete.
10721           Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
10722           Our goal is to support the last two stable versions of GStreamer which
10723           are 1.4 and 1.6 at the moment.
10724           We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
10725           release and will get rid of those in 0.8.
10726
10727 2015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10728
10729         * gst/vaapi/gstvaapidecode.c:
10730           vaapidecode: Fix buffer copy assertion
10731           Don't try to copy the NULL buffer-codec_data.
10732
10733 2015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10734
10735         * configure.ac:
10736           build: allow builds against GStreamer 1.7.x
10737           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10738
10739 2015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10740
10741         * gst/vaapi/gstcompat.h:
10742           gstcompat: add gst_buffer_copy_deep() if gst < 1.5
10743           gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
10744           add an implementation if gstreamer-vaapi is linked to previous versions.
10745           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10746
10747 2015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10748
10749         * gst/vaapi/gstvaapidecode.c:
10750           vaapidecode: simplify copy of GstVideoCodecState
10751           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10752
10753 2015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10754
10755         * patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
10756         * patches/videoparsers/series.frag:
10757           patches/videoparsers: h265parser: more API fences
10758           Add more API fences according with its version and refresh the patch.
10759           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10760           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10761
10762 2015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10763
10764         * patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
10765         * patches/videoparsers/series.frag:
10766           patches/videoparsers: h265parser: rename patch keeping number
10767           Refresh the patch and rename it in order to keep the patch number.
10768           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10769           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10770
10771 2015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10772
10773         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
10774           patches/videoparsers: h264parser: more API fences and refresh
10775           Add more API fences according with its version and refresh the patch.
10776           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10777           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10778
10779 2015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10780
10781         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
10782         * patches/videoparsers/series.frag:
10783           patches/videoparsers: h264parser: fix description and refresh
10784           Fix a typo in the patch description and refresh it in order to avoid the
10785           creation of .orig files and break the distcheck target.
10786           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10787           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10788
10789 2015-09-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10790
10791         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
10792         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
10793           patches/videoparsers: h264parser: refresh patches
10794           In order to avoid the creation of .orig files and break the distcheck target.
10795           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10796           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10797
10798 2015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10799
10800         * gst/vaapi/Makefile.am:
10801           build: link libgstvaapi_parse against codec parser
10802           GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
10803           when running configure.
10804           Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
10805           need it if builtin codec parsers are disabled.
10806           This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
10807           compilation. If builtin codec parsers are enable, this variable is null, so it
10808           should work using libgstvaapi, as normal.
10809           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10810           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10811
10812 2015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10813
10814         * configure.ac:
10815           build: verify for H264 MVC and H265 SPS
10816           Currently the H264 and H265 parsers look for MVC and SPS respectively, and
10817           the required symbols for those were added in GStreamer 1.5
10818           If we try to compile in GStreamer < 1.4, without enabling the builtin codec
10819           parsers, the compilation fails, because the lack of those symbols.
10820           This patch verifies if the installed H264 and H265 parsers have those symbols. If
10821           they do not, the specific built in codec parsers are enabled and used.
10822           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10823           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10824
10825 2015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10826
10827         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10828           decoder: h264: initialize PPS's slice_group_id
10829           When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
10830           so it contains random data.
10831           When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
10832           pointer uninitialized, leading to a segmentation fault when the memory is
10833           freed.
10834           This patch prevents this by initializing the slice_group_id before the PPS
10835           parsing.
10836           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10837           https://bugzilla.gnome.org/show_bug.cgi?id=754845
10838
10839 2015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
10840
10841         * gst/vaapi/gstvaapidecode.c:
10842           vaapidecode: proper numerator and denominator for forced latency framerate
10843           https://bugzilla.gnome.org/show_bug.cgi?id=755040
10844
10845 2015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10846
10847         * ext/codecparsers:
10848           codecparsers: Update to gst-vaapi-branch commit f9e284b
10849           dae1a84: h264parse/h265parse: Fix negotiation crash
10850           45a9f8a: codecparsers: h265 : Fix default scaling list values
10851           28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
10852           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10853
10854 2015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10855
10856         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10857           decoder: hevc: Don't flush dpb for EOS/EOB nal
10858           Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
10859           the dpb_add() itself will handle the flusing(if needed) of dpb
10860           for end of sequence and end of bitstream.
10861           https://bugzilla.gnome.org/show_bug.cgi?id=754010
10862
10863 2015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10864
10865         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10866           decoder: hevc: Fix the dpb_add() based on C.5.2.3
10867           Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
10868           just after the PicLatencyCnt setting of existing dpb frames.
10869           https://bugzilla.gnome.org/show_bug.cgi?id=754010
10870
10871 2015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10872
10873         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10874           decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
10875           This fix is based on the V3 vesion of spec which was missing in older versions.
10876           When the current picture has PicOutputFlag equal to 1, for each picture in the
10877           DPB that is marked as "needed for output" and follows the current picture in output order,
10878           the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
10879           https://bugzilla.gnome.org/show_bug.cgi?id=754010
10880
10881 2015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10882
10883         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10884           decoder: h265: Fix indentation
10885
10886 2015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
10887
10888         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10889         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10890         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
10891         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10892         * gst/vaapi/gstvaapidecode.c:
10893         * gst/vaapi/gstvaapipluginutil.c:
10894           multiview: initial attempt at stereo/multiview support
10895           Add support for marking caps and buffers for multiview or
10896           stereoscopic output.
10897           https://bugzilla.gnome.org/show_bug.cgi?id=750835
10898
10899 2015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10900
10901         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10902           decoder: hevc: remove unused functions
10903           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10904           https://bugzilla.gnome.org/show_bug.cgi?id=754250
10905
10906 2015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10907
10908         * gst/vaapi/gstvaapidecode.c:
10909           vaapidecode: remove (another) unused variable
10910           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10911
10912 2015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10913
10914         * gst/vaapi/gstvaapidecode.c:
10915           vaapidecode: remove unused variable
10916           Thus silence the compilation warnings.
10917
10918 2015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10919
10920         * gst/vaapi/gstvaapidecode.c:
10921           vaapidecode: compilation fix
10922           gst_vaapi_decoder_state_changed() returns void. This patch fixes the
10923           compilation where the toolchain uses restrictive flags as clang.
10924           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10925
10926 2015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10927
10928         * gst/vaapi/gstvaapidecode.c:
10929           vaapidecode: renegotiate if caps are not equal
10930           The use of gst_caps_is_always_compatible() for this optimization may lead to
10931           false positives. It is better to stick to gst_caps_is_strictly_equal() to know
10932           if it is required a re-negotiation.
10933           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10934           https://bugzilla.gnome.org/show_bug.cgi?id=750835
10935
10936 2015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10937
10938         * gst/vaapi/gstvaapidecode.c:
10939         * gst/vaapi/gstvaapidecode.h:
10940           vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
10941           Delaying the pool re-negotiation untill we push all decoded (and queued)
10942           frames downstream. Otherwise for the multi-resolution videos, the
10943           GstVideoVideoMemory will be having wrong resolution and which leads
10944           to nasty behaviours, especially when using software renderers.
10945           sample media file: RAP_B_Bossen_1.bin
10946           case explained:
10947           The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
10948           get the final resoultion 416x240.
10949           Starting from 25 th frame, the resolution will change to 416x240. But parser
10950           elements won't report this since the effective croped resolution is same in
10951           both cases. Here the core libgstvaapi will detect this through it's internal
10952           parsing and do all context/pool destory/reset stuffs. Also it will notify this
10953           change to plugins in advance. But if the plugin try to do re-negotiaion of pool
10954           immediately, this will not sync with the resolution of already decoded and queued
10955           frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
10956           software renderer). So we have to delay the pool renegotiation in vaapidecode,
10957           untill we push all decoded frames downstream.
10958           https://bugzilla.gnome.org/show_bug.cgi?id=753914
10959
10960 2015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10961
10962         * gst/vaapi/gstvaapidecode.c:
10963           vaapidecode: Always keep a copy of input codec state
10964           Currently we are sharing the input GstVideoCodecState with
10965           GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
10966           each caps change. This is troublesome in many cases, for eg: if
10967           resoultion changes with in a singe stream. Because, when ever there
10968           is a resolution change, GstVideoDecoder will first change the Codec_state->caps
10969           fields with new resolution, but since we are using the same codecstate (ref)
10970           in gstvaapidecode.c, the caps check for input caps change will always fail.
10971           https://bugzilla.gnome.org/show_bug.cgi?id=753914
10972
10973 2015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10974
10975         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10976           decoder: hevc: Fix the scaling list scan order
10977           The default scan order of scaling lists are up-right-diagonal
10978           as per hevc specification. Use the newly implemented
10979           uprightdiagonal_to_raster conversion codecparser APIs to
10980           get the the scaling_list values in raster order, which is
10981           what the VA intel driver requires.
10982
10983 2015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10984
10985         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10986           decoder: hevc: sync with the codecparser changes
10987           The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
10988           in codecparsers now. Remove the duplication from gstvaapidecoder_h265
10989
10990 2015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10991
10992         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
10993           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
10994
10995 2015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10996
10997         * ext/codecparsers:
10998           codecparsers: Update to gst-vaapi-branch commit 69550f1
10999           c207c6d: codecparsers: h265: Fix tile row and column parsing
11000           47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
11001           cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
11002           1746bbe: videoparsers: Use gst_base_parse_merge_tags()
11003           2f0932b: h264parse: Clear SPS info after processing
11004           f57d6b0: videoparsers: enable accept-template flag
11005
11006 2015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11007
11008         * debian.upstream/control.in:
11009           debian: add yasm as build dependency
11010           As the compilation of libvpx (for vp8 parser) is enabled by default,
11011           yasm is required by default too.
11012           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11013
11014 2015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
11015
11016         * debian.upstream/rules:
11017           debian: remove --with-gstreamer-api option
11018           It is no longer valid in gstreamer-vaapi.
11019           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
11020           [removed unused GST_API_VERSION variable]
11021           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11022           https://bugzilla.gnome.org/show_bug.cgi?id=753618
11023
11024 2015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11025
11026         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11027           wayland: rename is_cancelled to sync_failed
11028           Since commit 065a18a3, the semantics of the variable is_cancelled did not make
11029           sense. This commit renames this variable to sync_failed.
11030
11031 2015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
11032
11033         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11034           wayland: Don't return GST_FLOW_ERROR on flushing
11035           Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
11036           return FALSE which makes gst_vaapi_window_wayland_render() return
11037           FALSE which ends up posting an ERROR message in
11038           gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
11039           in the EBUSY case.
11040           https://bugzilla.gnome.org/show_bug.cgi?id=753598
11041
11042 2015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11043
11044         * gst/vaapi/gstvaapi.c:
11045           Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
11046           This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
11047
11048 2015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11049
11050         * gst/vaapi/gstvaapidecodebin.c:
11051           vaapidecodebin: check for postproc instance
11052           If the VPP's deinterlace-method is set, first we should check if the postproc
11053           is already instanced to set it. Otherwise we just store it until the VPP is
11054           added into the bin.
11055           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11056           https://bugzilla.gnome.org/show_bug.cgi?id=749554
11057
11058 2015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11059
11060         * gst/vaapi/gstvaapidecodebin.c:
11061         * gst/vaapi/gstvaapipluginutil.c:
11062         * gst/vaapi/gstvaapipluginutil.h:
11063           vaapidecodebin: ensure VPP before going to READY
11064           There are sometimes that the VA-API display context is not shared among the
11065           pipeline, but it is important to know it before going to READY state (when the
11066           pipeline is already linked).
11067           One instance of this case is this:
11068           gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
11069           This patch adds a new function in gstvaapipluginutil called
11070           gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
11071           display, which only will be used for verify if the VAEntrypointVideoProc is
11072           available by the hardware. Afterwards, it should be unrefed.
11073           If the vaapidecodebin is going to READY state, and the element still doesn't
11074           know if VPP is available, the last resort is to create a new instance of the
11075           VA-API display and test for it.
11076           https://bugzilla.gnome.org/show_bug.cgi?id=749554
11077
11078 2015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11079
11080         * gst/vaapi/gstvaapidecodebin.c:
11081           vaapidecodebin: post an error message if fails
11082           If the construction of the bin fails, post an error message in the bus.
11083           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11084           https://bugzilla.gnome.org/show_bug.cgi?id=749554
11085
11086 2015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11087
11088         * gst/vaapi/gstvaapidecodebin.c:
11089         * gst/vaapi/gstvaapidecodebin.h:
11090           vaapidecodebin: has_vpp as a tri-state variable
11091           has_vpp can be UNKNOWN while the context message hasn't being received.
11092           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11093           https://bugzilla.gnome.org/show_bug.cgi?id=749554
11094
11095 2015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11096
11097         * gst/vaapi/gstvaapivideomemory.c:
11098           gstvaapivideomemory: native format with no derived image
11099           If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
11100           info based on the derived image configuration.
11101           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11102           https://bugzilla.gnome.org/show_bug.cgi?id=744042
11103
11104 2015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11105
11106         * gst-libs/gst/vaapi/video-format.c:
11107         * gst-libs/gst/vaapi/video-format.h:
11108         * gst/vaapi/gstvaapivideomemory.c:
11109           surface pool config based on video info
11110           First added the function gst_vaapi_video_format_get_best_native(), which
11111           returns the best native format that matches a particular chroma type:
11112           YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
11113           RGB32 chroma and encoded format map to NV12 too.
11114           That format is used to configure, initially, the surface's pool for the
11115           allocator.
11116           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11117           https://bugzilla.gnome.org/show_bug.cgi?id=744042
11118
11119 2015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11120
11121         * gst/vaapi/gstvaapivideomemory.c:
11122           gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
11123           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11124           https://bugzilla.gnome.org/show_bug.cgi?id=744042
11125
11126 2015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
11127
11128         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11129           gstvaapiencoder: validate chroma according to the VA's RT format
11130           Before, only YUV420 color space where supported. With this patch, the
11131           encoder is queried to know the supported formats and admits YUV422
11132           color space if its available.
11133           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11134           https://bugzilla.gnome.org/show_bug.cgi?id=744042
11135
11136 2015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11137
11138         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11139           decoder: hevc: Add calculation of WpOffsetHalfRangeC
11140           This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
11141           prediction weight table values with out using any hard coding.
11142           Fixme: We don't have parser API for sps_range_extension, so
11143           assumed zero value for high_precision_offsets_enabled_flag.
11144           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11145
11146 2015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11147
11148         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11149           decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
11150           Based on ITU-T rec H265(4/2015): 7-56
11151           This was a wrong equation in rec H265 (4/2013): 7-44...
11152           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11153
11154 2015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11155
11156         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11157           decoder: hevc: Fix default value assignment of pred_weight_table
11158
11159 2015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11160
11161         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11162           decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
11163           Assign only if ChromaArrayType != 0..
11164           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11165
11166 2015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11167
11168         * ext/codecparsers:
11169           codecparsers: Update to gst-vaapi-branch commit 1c70432
11170           8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
11171           839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
11172           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11173
11174 2015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11175
11176         * ext/codecparsers:
11177           codecparsers: Update to gst-vaapi-branch commit c18b8ad
11178           8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
11179           a033083: videoparsers: h265: Fix the frame start detection code
11180           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11181
11182 2015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11183
11184         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11185           decoder: hevc: Add SEI parsing
11186           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11187
11188 2015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11189
11190         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11191           decoder: hevc: Workaround to recognize wrongly encoded main profile streams
11192           HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
11193           There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
11194           have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
11195           has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
11196           is TRUE. Assuming them as MAIN profile for now.
11197           https://bugzilla.gnome.org/show_bug.cgi?id=753226
11198           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11199
11200 2015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11201
11202         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
11203           patches/videoparsers: Fix the wrong source file path
11204           This is something wrongly typed in commit 6d7b631
11205
11206 2015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11207
11208         * ext/codecparsers:
11209           codecparsers: Update to gst-vaapi-branch commit b8d8be4
11210           ee7e81b: h264parse: Don't discard first AU delimiter
11211           3690fb9: h264parse: Add more NAL types for debugging output
11212           108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
11213           ace61048: h265parse: expose compatible profiles to downstream
11214           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11215
11216 2015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11217
11218         * gst/vaapi/gstvaapipluginutil.c:
11219         * gst/vaapi/gstvaapivideocontext.c:
11220         * gst/vaapi/gstvaapivideocontext.h:
11221           gstvaapivideocontext: remove unused parameter
11222           gst_vaapi_video_context_prepare() received an unused parameter. This patch
11223           removes it and the structure passed by the caller.
11224           This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
11225           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11226
11227 2015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11228
11229         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11230           decoder: hevc: Fix decoding of stream when it has temporal sublayers
11231           We are calculating the dpb size based on max_dec_pic_buffering.
11232           But if there are more than one temporal sublayers, we are supposed
11233           to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
11234           size calculation (Assuming HighestTid as max_sub_layers_minus).
11235           Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
11236           https://bugzilla.gnome.org/show_bug.cgi?id=753226
11237           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11238
11239 2015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11240
11241         * gst/vaapi/gstvaapidecode.c:
11242         * gst/vaapi/gstvaapidecodebin.c:
11243         * gst/vaapi/gstvaapiencode_h264.c:
11244         * gst/vaapi/gstvaapiencode_h265.c:
11245         * gst/vaapi/gstvaapiencode_jpeg.c:
11246         * gst/vaapi/gstvaapiencode_mpeg2.c:
11247         * gst/vaapi/gstvaapiencode_vp8.c:
11248         * gst/vaapi/gstvaapipluginutil.h:
11249         * gst/vaapi/gstvaapipostproc.c:
11250         * gst/vaapi/gstvaapisink.c:
11251           refactor vaapi caps strings for pad templates
11252           Refactor the main vaapi caps strings into three macros:
11253           GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
11254           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
11255           Those are in gstvaapipluginutil.h so all the elements could use them, instead
11256           of re-declaring them every time.
11257           No functional changes.
11258           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11259
11260 2015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11261
11262         * gst/vaapi/gstvaapipostproc.c:
11263           gstvaapipostproc: fix code style
11264           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11265
11266 2015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11267
11268         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11269           decoder: hevc: Fix the decoding of dependent slice segment
11270           Decoding process for reference picture list construction needs to be
11271           invoked only for P and B slice and the value for slice_type of dependent slice
11272           segment should be taken from the previous independent slice segment header
11273           of the same pic.
11274           https://bugzilla.gnome.org/show_bug.cgi?id=753226
11275           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11276
11277 2015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
11278
11279         * gst/vaapi/gstvaapipluginbase.c:
11280           plugins: reduce the noise of warnings
11281           Those messagse should be attached to the object, also the lack of
11282           caps is not an error, in particular in the case of JPEG encoding.
11283           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11284           https://bugzilla.gnome.org/show_bug.cgi?id=744042
11285
11286 2015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11287
11288         * gst-libs/gst/vaapi/gstvaapicontext.c:
11289           gstvaapicontext: fix the JPEG encoder attribs value
11290           When we query for the VAConfigAttribEncJPEG, we get a value which packs the
11291           VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
11292           assigns the returned value to the attribute.
11293           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11294           https://bugzilla.gnome.org/show_bug.cgi?id=744042
11295
11296 2015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
11297
11298         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11299           gstvaapiencoder: framerate 0/1 is valid too
11300           Framerate 0/1 is valid, and it is particularly useful for picture
11301           encoding, such as jpeg. This patch makes the encoder to admit that
11302           framerate.
11303           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11304           https://bugzilla.gnome.org/show_bug.cgi?id=744042
11305
11306 2015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11307
11308         * gst/vaapi/gstvaapipostproc.c:
11309           vaapipostroc: GLTextureUploadMeta in sink template
11310           Advertise GLTextureUploadMeta in sink caps template.
11311           https://bugzilla.gnome.org/show_bug.cgi?id=752130
11312
11313 2015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11314
11315         * gst/vaapi/Makefile.am:
11316         * gst/vaapi/gstvaapiencode.c:
11317         * gst/vaapi/gstvaapipluginbase.c:
11318         * gst/vaapi/gstvaapipluginbase.h:
11319         * gst/vaapi/gstvaapipostproc.c:
11320         * gst/vaapi/gstvaapisink.c:
11321         * gst/vaapi/gstvaapiuploader.c:
11322         * gst/vaapi/gstvaapiuploader.h:
11323           remove gstvaapiuploader
11324           Working on bug #744042 I realized that the gstvaapiuploader is practically not
11325           used.
11326           This patch removes the gstvaapiuploader and add the method
11327           gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
11328           the system can handle, which is used by vaapisink and vaapipostproc.
11329           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11330           https://bugzilla.gnome.org/show_bug.cgi?id=752777
11331
11332 2015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11333
11334         * gst/vaapi/gstvaapidecode.c:
11335           vaapidecode: don't lost GLTextureUpload on seek
11336           When seeking, the decoder is reset, but the buffer pool is not
11337           re-negotiated, but in reset_full() the code forgets if the negotiated buffer
11338           pool has the GLTextureUpload meta.
11339           The decoder knows that GLTextureUpload meta was negotiated in
11340           decide_allocation(), but this method is not called when seeking.
11341           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11342           https://bugzilla.gnome.org/show_bug.cgi?id=752929
11343
11344 2015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11345
11346         * gst/vaapi/gstvaapipluginutil.c:
11347           plugins: don't use gst_pad_get_allowed_caps()
11348           gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
11349           decoders, that is OK, but in the case of the postproc might lead loops,
11350           since the gst_base_transform_query_caps() forwards the query upstream
11351           and forth.
11352           Instead of gst_pad_get_allowed_caps() we only query the peer with
11353           gst_pad_peer_query_caps() using the pad's template as filter.
11354           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11355           https://bugzilla.gnome.org/show_bug.cgi?id=752558
11356
11357 2015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11358
11359         * README:
11360           README: updates
11361
11362 2015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11363
11364         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
11365         * patches/videoparsers/series.frag:
11366           patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
11367           All API/ABI changes for S3D/MVC are added in 1.5, backporting
11368           them to older verison is not recommended.
11369           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11370
11371 2015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11372
11373         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
11374           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
11375
11376 2015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11377
11378         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
11379           decoder: jpeg: Align with new API/ABI changes in codecparser
11380           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11381
11382 2015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11383
11384         * ext/codecparsers:
11385           codecparsers: Update to gst-vaapi-branch commit 800bdb2
11386           ed13220: mpegvideometa: add meta transform function
11387           18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
11388           7a51722: codecparsers: jpeg: fix docs for table parsing functions
11389           06b8ded: codecparsers: jpeg: fix validity checking of data parsed
11390           387a39d: codecparsers: jpeg: fix up API
11391           db9d6a9: codecparsers: jpeg: tweak API a little
11392           bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
11393           f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
11394           4658c30: codecparsers: jpeg: fix calculation of segment size
11395           759bcb9: codecparsers: jpeg: fix default Huffman tables generation
11396           b4811ee: codecparsers: jpeg: add JPEG bitstream parser
11397           9422464: h264parse: fix typo in log message
11398           9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
11399           77704ce: nalutils: trivial patch to check if
11400           8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
11401           7862f95: Revert "codecparsers: remove ignored increment of return"
11402           54017b1: h264parse: Add support for passing stereoscopic/multiview info
11403           8667ee4: h264parse: Don't switch to passthrough on set_caps()
11404           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11405
11406 2015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11407
11408         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11409           decoder: h264: track previous reference frames.
11410           Improve closure of gaps in frame_num by strictly following and trying
11411           to fill them with previous reference frames. So, they are now tracked
11412           thus avoiding insertion of dummy ("greenish") frames.
11413
11414 2015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11415
11416         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11417           decoder: h264: fix integration of second field into the DPB.
11418           If the new picture to be added to the DPB is not a first field, then
11419           it shall be the second field of the previous picture that was added
11420           before.
11421           This removes the need for dpb_find_picture() now that we track the
11422           immediately preceding decoded picture, in decode order.
11423
11424 2015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11425
11426         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11427           decoder: h264: fix closure of "other-field" gap.
11428           When a dummy "other-field" is inserted, it is assumed to inherit the
11429           reference flags from the first field, and the sliding window decoded
11430           reference picture marking process is also executed so that corrupted
11431           frames are moved out as early as possible.
11432           While doing so, we also try to output frames that now contain a single
11433           valid field picture, prior to inserting any other picture into the DPB.
11434           Note: this may be superfluous currently based on the fact that dpb_add()
11435           combines the two most recent pairable fields, but this process would be
11436           further simplified later on.
11437
11438 2015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11439
11440         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11441           decoder: h264: track corrupted frames.
11442           Mark the picture as "corrupted" if it is reconstructed from corrupted
11443           references or if those references are fake, e.g. resulting from lost
11444           frames.
11445           This is useful for notifying the upper layer, or downstream elements,
11446           that the decoded frame may contain artefacts.
11447           https://bugzilla.gnome.org/show_bug.cgi?id=703921
11448
11449 2015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11450
11451         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
11452         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
11453         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
11454         * gst/vaapi/gstvaapidecode.c:
11455           decoder: add initial infrastructure for marking corrupted output.
11456           Add initial infrastructure in core codec library and vaapidecode to mark
11457           corrupted frames as such. A corrupted frame is such a frame that was
11458           reconstructed from invalid references for instance.
11459           https://bugzilla.gnome.org/show_bug.cgi?id=751434
11460           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11461
11462 2015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11463
11464         * configure.ac:
11465           Bump version for development
11466
11467 === release 0.6.0 ===
11468
11469 2015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11470
11471         * configure.ac:
11472           0.6.0
11473
11474 2015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11475
11476         * NEWS:
11477           NEWS: updates
11478
11479 2015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11480
11481         * gst-libs/gst/vaapi/gstvaapiprofile.c:
11482           vaapidecoder: no wmv profiles gstreamer 1.4/1.2
11483           This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
11484           Right now there is not a primary ranked parser for vc1 and the demuxers
11485           delivers caps without specifying the profile. This situation is not an issue
11486           for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
11487           explicit profile defined in the negotiated caps.
11488           Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
11489           negotiation admits caps subsets try outs.
11490           This patch solves the issue ignoring the profile negotiation in the caps. For
11491           gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
11492           done without the vc1 parser, such as happens in gstreamer 1.5.
11493           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11494
11495 2015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11496
11497         * gst/vaapi/gstvaapi.c:
11498           Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
11499           Unfortunately vaapidecodebin element is not seems to be stable
11500           enough for autoplugging ahead of vaapidecode.
11501           Lowering the rank for now (cosidering the immediate 0.6 release).
11502           See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
11503           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11504
11505 2015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11506
11507         * gst-libs/gst/vaapi/Makefile.am:
11508           build: Add missing CFLAGS to Makefile.am
11509
11510 2015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11511
11512         * gst-libs/gst/vaapi/gstvaapifilter.c:
11513           gstvaapifilter: Only register STE property if it supported by corresponding VA library
11514           Fix the regression introduced in commit eb465fb.
11515           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
11516           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11517
11518 2015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11519
11520         * gst/vaapi/gstvaapipostproc.c:
11521           vaapipostproc: no format convert on GL tex upload meta
11522           When GL texture upload meta is negotiated, vaapipostproc shall not modify the
11523           color format of the buffer.
11524           https://bugzilla.gnome.org/show_bug.cgi?id=748184
11525
11526 2015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11527
11528         * gst-libs/gst/vaapi/gstvaapifilter.c:
11529           gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
11530           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
11531           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11532
11533 2015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11534
11535         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11536           encoder:h265: Fix the check for packed-header support
11537           Use VA_ENC_PACKED_HEADER_* definition for checking.
11538           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11539
11540 2015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11541
11542         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11543           encoder:h264: Fix the check for packed-header support
11544           Use VA_ENC_PACKED_HEADER_* definition for checking.
11545           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11546
11547 2015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11548
11549         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11550           encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
11551           One buffering_period() SEI message shall be present in every IDR access unit
11552           when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
11553           use a non-CQP mode, e.g. CBR. In other words, when
11554           nal_hrd_parameters_present_flag is set to 1.
11555           One picture_timing() SEI messages shall be present in every access unit
11556           if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
11557           https://bugzilla.gnome.org/show_bug.cgi?id=722734
11558           https://bugzilla.gnome.org/show_bug.cgi?id=751831
11559           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11560
11561 2015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11562
11563         * gst/vaapi/gstvaapidecodebin.c:
11564           vaapidecodebin: notify if vpp is disabled
11565           When the system is aware that VPP is not available by the VA driver,
11566           it would be useful to notify to the user that the disable-vpp property
11567           has changed.
11568           https://bugzilla.gnome.org/show_bug.cgi?id=749554
11569
11570 2015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11571
11572         * gst/vaapi/gstvaapidecodebin.c:
11573         * gst/vaapi/gstvaapidecodebin.h:
11574           vaapidecodebin: enable vpp if it is available
11575           Instead of creating and adding VPP into the bin at setup, we wait until
11576           we are sure the VA driver supports it. We know that when the VA video
11577           context is received by the bin. Afterwards, it is decided to instanciate
11578           and link the VPP or not.
11579           This is more efficient and safer than waiting the VPP to fail and then
11580           disable it.
11581           https://bugzilla.gnome.org/show_bug.cgi?id=749554
11582
11583 2015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11584
11585         * tests/test-display.c:
11586         * tests/test-windows.c:
11587           tests: Fix compilation while enabling egl as the only renderer in build
11588           Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
11589
11590 2015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11591
11592         * configure.ac:
11593           configure: fix the build while enabling egl as the only renderer
11594
11595 2015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11596
11597         * configure.ac:
11598           libs: Bump library major version
11599
11600 2015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11601
11602         * gst/vaapi/gstvaapi.c:
11603         * gst/vaapi/gstvaapidecodebin.c:
11604         * gst/vaapi/gstvaapiencode.c:
11605         * gst/vaapi/gstvaapiencode_jpeg.c:
11606         * gst/vaapi/gstvaapipluginbase.c:
11607         * gst/vaapi/gstvaapipluginutil.c:
11608         * gst/vaapi/gstvaapipostproc.c:
11609         * gst/vaapi/gstvaapivideobufferpool.c:
11610         * gst/vaapi/gstvaapivideocontext.c:
11611         * gst/vaapi/gstvaapivideomemory.c:
11612         * gst/vaapi/gstvaapivideometa.c:
11613           gst/vaapi: Switch to upstreram like indentation.
11614           gst-indent for all gst/vaapi/*.c source files
11615
11616 2015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11617
11618         * gst/vaapi/gstvaapidecodebin.c:
11619         * gst/vaapi/gstvaapidecodebin.h:
11620           vaapidecodebin: Add property to disable VPP
11621           Adding a new propery "disable-vpp", enabling it will prevent
11622           the insertion of vaapipostproc child element.
11623           This is helpful in debugging, specifically to narrow-down the
11624           vaapidecodebin/vaapipostproc related negotiation issues.
11625           No support for run-time disabling for now.
11626           https://bugzilla.gnome.org/show_bug.cgi?id=745901
11627
11628 2015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11629
11630         * gst/vaapi/gstvaapipostproc.c:
11631           vaapipostproc: Fix wrong selection of passthrough mode.
11632           The Current code path is falling back to passthorugh mode if there is no
11633           vpp property set by the user explictily. But we should not use the
11634           passthrough mode if the negotiated src pad caps have a differnt color space
11635           format than sink pad caps (Even though the user didn't set the format property
11636           explicitly).
11637           https://bugzilla.gnome.org/show_bug.cgi?id=748184
11638           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11639
11640 2015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11641
11642         * gst/vaapi/gstvaapipostproc.c:
11643           vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
11644           This is a workaround to deal with the va-intel-driver for non-native
11645           formats while doing advanced deinterlacing. The format of reference surfaces must
11646           be same as the format used by the driver internally for motion adaptive
11647           deinterlacing and motion compensated deinterlacing.
11648           A permanent solution could be to do the color space conversion internally
11649           for reference surfaces.
11650           https://bugzilla.gnome.org/show_bug.cgi?id=730925
11651           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11652
11653 2015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11654
11655         * gst/vaapi/gstvaapisink.c:
11656           Work around ABBA deadlock between vaapisink and vaapipostproc
11657           vaapisink takes the display lock, then does a gst_buffer_replace which can
11658           take the lock on the gst_vaapi_video_pool.
11659           vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
11660           the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
11661           surfaces, which means that gst_vaapi_surface_create is
11662           called. gst_vaapi_surface_create takes the display lock.
11663           If vaapisink and vaapipostproc are in different threads, and this happens,
11664           you get a deadlock. vaapisink holds the display lock, and wants the
11665           gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
11666           and wants the display lock.
11667           Work around this by releasing the display lock in vaapisink around the
11668           gst_buffer_replace.
11669           https://bugzilla.gnome.org/show_bug.cgi?id=738249
11670           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11671           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11672
11673 2015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
11674
11675         * gst/vaapi/gstvaapidecodebin.c:
11676         * gst/vaapi/gstvaapidecodebin.h:
11677           vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
11678           https://bugzilla.gnome.org/show_bug.cgi?id=745901
11679
11680 2015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11681
11682         * gst/vaapi/gstvaapipostproc.c:
11683           vaapipostproc: log negotiated caps
11684
11685 2015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11686
11687         * gst/vaapi/gstvaapipostproc.c:
11688           vaapipostproc: remove useless debug message
11689
11690 2015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11691
11692         * gst/vaapi/gstvaapidecode.c:
11693           vaapidecode: log negotiated src/sink caps
11694
11695 2015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11696
11697         * gst/vaapi/gstvaapisink.c:
11698           vaapisink: error handling if rendering fails
11699           This patch enhance the code path when an error is found when rendering a
11700           buffer.
11701           If the video meta doesn't contain a surface proxy or a surface, a warning
11702           message is printed.
11703           If the rendering backend fails, a error message is posted in the bus.
11704           https://bugzilla.gnome.org/show_bug.cgi?id=749382
11705
11706 2015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11707
11708         * gst/vaapi/gstvaapisink.c:
11709           vaapisink: Fix the conditional pad template creation.
11710
11711 2015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11712
11713         * tests/Makefile.am:
11714           build: Don't build simple-encoder test program if there is no VA Encoding support
11715           This will fix the build error against older VA-APIs <= 0.32
11716
11717 2015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11718
11719         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11720         * gst-libs/gst/vaapi/gstvaapicompat.h:
11721           Fix build error for older VA-API versions
11722           Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
11723           VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
11724           VA >= 0.36.
11725
11726 2015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11727
11728         * gst/vaapi/gstvaapisink.c:
11729           vaapisink: Fix the capsfeature advertisement in padtemplate
11730           This fixes the regression introduced in 64acc74.
11731           If a pad supports multiple set of capsfeatures, it needs to add
11732           multiple equal structures with different feature sets to the caps.
11733           Because caps structures with the same name but with a non-equal
11734           set of caps features are not compatible.
11735           Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
11736           https://bugzilla.gnome.org/show_bug.cgi?id=750095
11737
11738 2015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
11739
11740         * gst/vaapi/gstvaapisink.c:
11741           vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
11742           https://bugzilla.gnome.org/show_bug.cgi?id=750095
11743           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11744           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11745
11746 2015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
11747
11748         * gst/vaapi/gstvaapipluginbase.c:
11749           vaapipluginbase: Override downstream allocation reply if no pool
11750           If the downstream replied without a pool, then override it.
11751           https://bugzilla.gnome.org/show_bug.cgi?id=748559
11752
11753 2015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11754
11755         * gst/vaapi/gstvaapipostproc.c:
11756         * gst/vaapi/gstvaapipostproc.h:
11757           vaapipostproc: add color balance interface
11758           https://bugzilla.gnome.org/show_bug.cgi?id=720376
11759
11760 2015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11761
11762         * gst-libs/gst/vaapi/gstvaapifilter.c:
11763         * gst-libs/gst/vaapi/gstvaapifilter.h:
11764         * gst/vaapi/gstvaapipostproc.c:
11765         * gst/vaapi/gstvaapipostproc.h:
11766           vaapipostproc: add skin tone enhancement
11767           Added the 'skin-tone-enhancement' property to vaapostproc.
11768           https://bugzilla.gnome.org/show_bug.cgi?id=744088
11769
11770 2015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11771
11772         * docs/reference/libs/libs-docs.xml.in:
11773           doc: add VA-API reference in freedesktop
11774
11775 2015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11776
11777         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
11778         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
11779         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
11780           patches/videoparsers: rebase all the h264parse patches
11781           In order to avoid the creation of .orig files and break the distcheck target
11782
11783 2015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11784
11785         * ext/libvpx/Makefile.am:
11786           build: don't build in parallel libvpx
11787           This fixes the distcheck -j XX target.
11788
11789 2015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11790
11791         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11792           encoder: jpeg: Fix the packed header generation
11793           This is a work-around to satisfy the va-intel-driver.
11794           Normalize the quality factor and scale QM values (only for packed header
11795           generation) similar to what VA-Intel driver is doing . Otherwise the
11796           generated packed headers will be wrong, since the driver itself is
11797           scaling the QM values using the normalized quality factor.
11798           https://bugzilla.gnome.org/show_bug.cgi?id=748335
11799           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11800
11801 2015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11802
11803         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11804           decoder: h264: fix uninitialized variables in avcC mode.
11805           Fix uninitialized variables when decoding SPS and PPS NAL units from
11806           "codec-data" buffers. This is particularly important when seeking ops
11807           are involved, and the new persistent states are used more often.
11808           https://bugzilla.gnome.org/show_bug.cgi?id=750094
11809
11810 2015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11811
11812         * gst/vaapi/gstvaapidecode.c:
11813           vaapidecode: remove unneeded casting
11814           And a code-style fix
11815
11816 2015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11817
11818         * gst/vaapi/gstvaapidecode.c:
11819           vaapidecode: calculate decoding latency
11820           This is a naïve approach to the calculation of the VA-API decoding latency. It
11821           takes into consideration when the frame-rate has some insane value.
11822           https://bugzilla.gnome.org/show_bug.cgi?id=740419
11823
11824 2015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
11825
11826         * configure.ac:
11827           configure: Compiling against libgstgl requires libgstvideo
11828           Fix detection of the GstGL helper headers in uninstalled
11829           builds.
11830
11831 2015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11832
11833         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11834           encoder: hevc: Fix the size over-flow for encoded buffer.
11835           The approximation of 6 times compression ratio migh not
11836           work in all cases. Especially when enabling I frames.
11837           Provide large enough size for coded-buffer creation.
11838
11839 2015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11840
11841         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11842           encoder: vp8: Fix the size over-flow for encoded buffer.
11843           The approximation of 4 times compression ratio will not
11844           work in all cases. Especially when enabling I frames.
11845           Provide large enough size for coded-buffer creation.
11846
11847 2015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11848
11849         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11850           encoder: hevc:  fix bug in multi slice encoding.
11851           This is a work-around for satisfying the VA-Intel driver.
11852           The driver only support slices begin from CTU row start address.
11853           Multi-Slice encoding also requires a fix in va-intel-driver:
11854           http://lists.freedesktop.org/archives/libva/2015-May/003351.html
11855           https://bugzilla.gnome.org/show_bug.cgi?id=749854
11856           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11857
11858 2015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11859
11860         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11861           decoder: h264: add initial support for loss of pictures.
11862           Implement decoding process for gaps in frame_num (8.5.2). This
11863           also somewhat supports unintentional loss of pictures.
11864           https://bugzilla.gnome.org/show_bug.cgi?id=745048
11865           https://bugzilla.gnome.org/show_bug.cgi?id=703921
11866           Original-patch-by: Wind Yuan <feng.yuan@intel.com>
11867           [fixed derivation of POC, ensured clone is valid for reference,
11868           actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
11869           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11870
11871 2015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11872
11873         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11874           decoder: h264: add support for missing first field.
11875           Try to identify missing first fields too, thus disregarding any
11876           intermediate gaps in frames. We also assume that we keep the same
11877           field sequence, i.e. if previous frames were in top-field-first
11878           (TFF) order, then so are subsequent frames.
11879           Note that insertion of dummy first fields need to operate in two
11880           steps: (i) create the original first field that the current field
11881           will inherit from, and (ii) submit that field into the DPB prior
11882           to initializing the current (other) field POC values but after any
11883           reference flag was set. i.e. copy reference flags from the child
11884           (other field) to the parent (first field).
11885           https://bugzilla.gnome.org/show_bug.cgi?id=745048
11886
11887 2015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11888
11889         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11890           decoder: h264: add support for missing second field.
11891           Interlaced H.264 video frames always have two fields to decode and
11892           display. However, in some cases, e.g. packet loss, one of the field
11893           can be missing. This perturbs the reference picture marking process,
11894           whereby the number of references available in DPB no longer matches
11895           the expected value.
11896           This patch adds initial support for missing field within a decoded
11897           frame. The current strategy taken is to find out the nearest field,
11898           by POC value, and with the same parity.
11899           https://bugzilla.gnome.org/show_bug.cgi?id=745048
11900
11901 2015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11902
11903         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11904           decoder: h264: improve tracking of "top-field-first" flag.
11905           Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
11906           does not mandate it. This will be useful for tracking missing fields, and
11907           also for more correct _split_fields() implementation for frames in the DPB.
11908
11909 2015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11910
11911         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11912           decoder: h264: skip all pictures prior the first I-frame.
11913           Don't try to decode pictures until the first I-frame is received within
11914           the currently active sequence. There is no point is decoding and then
11915           displaying frames with artifacts.
11916
11917 2015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11918
11919         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11920           decoder: h264: fix processing of EOSEQ NAL.
11921           Fix decoding of end_of_seq() NAL unit so that to not submit the current
11922           picture for decoding again. This is pretty vintage code that dates back
11923           before the existing of the whole decoder units machinery.
11924           One issue that could be arising if that code was kept is that we could
11925           have submitted a picture, and subsequently a GstVideoCodec frame, twice.
11926           Once without the decode_only flag set, and once with that flag set. The
11927           end result is that the GstVideoDecoder would release the codec frame
11928           twice, thus releasing stale data.
11929           In short, the piece of code that is removed by this patch is for once
11930           completely obsolete for a while, and secondly error-prone in corner
11931           cases.
11932
11933 2013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
11934
11935         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11936         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11937         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
11938         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
11939           decoder: add utility function to clone picture objects.
11940           https://bugzilla.gnome.org/show_bug.cgi?id=703921
11941           Signed-off-by: Wind Yuan <feng.yuan@intel.com>
11942           [added cosmetic changes, fixed propagation of "one-field" flag to
11943           children, fixed per-codec clone modes (h264)]
11944           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11945
11946 2015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
11947
11948         * gst/vaapi/Makefile.am:
11949           build: don't compile HEVC encoder if not supported
11950           Fix:
11951           (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
11952           https://bugzilla.gnome.org/show_bug.cgi?id=749954
11953           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
11954           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11955
11956 2015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
11957
11958         * gst-libs/gst/vaapi/gstvaapicompat.h:
11959         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11960           HEVC: decode: add missing va_dec_hevc header
11961           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
11962           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11963           https://bugzilla.gnome.org/show_bug.cgi?id=749953
11964
11965 2015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11966
11967         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
11968           mpeg2: fix PTS cache for GOP start.
11969           If the GOP temporal sequence number (TSN) is interpolated from a valid
11970           PTS, then we need to compensate that PTS corresponding to the start of
11971           GOP with the next picture to be decoded, which shall be an I-frame,
11972           based on its sequence number.
11973           https://bugzilla.gnome.org/show_bug.cgi?id=748676
11974
11975 2015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11976
11977         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
11978           mpeg2: avoid crash when seeking with debug logs
11979           Move down the debug message when the state of the decoder is verified
11980           so the slice header is not NULL.
11981
11982 2014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
11983
11984         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
11985           mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
11986           Reset state and add some checks for safe state to avoid a crash and
11987           a warning after the decoder is destroyed/recreated during a seek.
11988
11989 2015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11990
11991         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
11992         * patches/videoparsers/series.frag:
11993           patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
11994           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11995
11996 2015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11997
11998         * ext/codecparsers:
11999           codecparsers: Update to gst-vaapi-branch commit 20ee952
12000           b7dded3: h264parse: don't consider unknown stream-format as avc
12001           5110ad9: h264parse: fix up handling of input caps corner cases
12002           e51db3e: h264parse: Remove dead code
12003           3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
12004           8482957: h265parse: Fix profile, tier and level setting in caps
12005           4649acb: h265parse: Fix the memory freeing of stored VPS nals
12006           f2beeb7: h265parse: Fix source caps to report cropped dimensions
12007           6886a31: h264parse: Fix profile and level setting in caps
12008           5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
12009           eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
12010           53074fc: build: Upgrade GStreamer dependency to 1.0
12011           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12012
12013 2015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12014
12015         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12016           HEVC: decode: Replace clip3 implementation with glib CLAMP macro
12017           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12018
12019 2015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12020
12021         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12022           HEVC: decode: Update Cropping Rectangle
12023           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12024
12025 2015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12026
12027         * gst/vaapi/Makefile.am:
12028         * gst/vaapi/gstvaapi.c:
12029         * gst/vaapi/gstvaapiencode_h265.c:
12030         * gst/vaapi/gstvaapiencode_h265.h:
12031           HEVC_Encode: Add HEVC(h265) Encoder plugin
12032           https://bugzilla.gnome.org/show_bug.cgi?id=748874
12033           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12034
12035 2015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12036
12037         * gst-libs/gst/vaapi/Makefile.am:
12038         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12039         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
12040           HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
12041           https://bugzilla.gnome.org/show_bug.cgi?id=748874
12042           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12043
12044 2015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12045
12046         * configure.ac:
12047           HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
12048           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12049           https://bugzilla.gnome.org/show_bug.cgi?id=748874
12050
12051 2015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12052
12053         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
12054         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
12055           gstvaapiutils_h265: Add H265 Tier specific utility functions
12056           -- New API: gst_vaapi_utils_h265_get_tier_from_string()
12057           -- New API: gst_vaapi_utils_h265_get_tier_string()
12058           https://bugzilla.gnome.org/show_bug.cgi?id=748874
12059           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12060
12061 2015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12062
12063         * docs/reference/plugins/Makefile.am:
12064           doc: conditional linking for scanner
12065           Add x11 library only if it is enabled.
12066           https://bugzilla.gnome.org/show_bug.cgi?id=749018
12067
12068 2015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12069
12070         * docs/reference/plugins/plugins.types:
12071           doc: fix scanner compilation warning
12072           https://bugzilla.gnome.org/show_bug.cgi?id=749018
12073
12074 2015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12075
12076         * docs/reference/libs/libs-docs.xml.in:
12077         * docs/reference/libs/libs-sections.txt:
12078           doc: update sections and symbols
12079           https://bugzilla.gnome.org/show_bug.cgi?id=749018
12080
12081 2015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12082
12083         * .gitignore:
12084         * Makefile.am:
12085         * debian.upstream/Makefile.am:
12086         * docs/Makefile.am:
12087         * docs/reference/Makefile.am:
12088         * docs/reference/libs/Makefile.am:
12089         * docs/reference/plugins/Makefile.am:
12090         * ext/Makefile.am:
12091         * ext/libvpx/Makefile.am:
12092         * git.mk:
12093         * gst-libs/Makefile.am:
12094         * gst-libs/gst/Makefile.am:
12095         * gst-libs/gst/base/Makefile.am:
12096         * gst-libs/gst/codecparsers/Makefile.am:
12097         * gst-libs/gst/vaapi/Makefile.am:
12098         * gst/Makefile.am:
12099         * gst/vaapi/Makefile.am:
12100         * patches/Makefile.am:
12101         * patches/videoparsers/Makefile.am:
12102         * pkgconfig/Makefile.am:
12103         * tests/Makefile.am:
12104           build: use git.mk
12105           This patch handles dinamically the gitignore files with git.mk[1].
12106           Removed the automake variable MAINTAINERCLANFILES in most of the
12107           Makefile.am files since now it is handled by the top one.
12108           1. https://github.com/behdad/git.mk/blob/master/git.mk
12109           https://bugzilla.gnome.org/show_bug.cgi?id=749321
12110
12111 2015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12112
12113         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12114           wayland: sync() when destroy()
12115           Before pushing a the new frame, the render() method calls sync() to flush the
12116           pending frames. Nonetheless, the last pushed frame never gets rendered, leading
12117           to a memory leak too.
12118           This patch calls sync() in the destroy() to flush the pending frames before
12119           destroying the window.
12120           Also a is_cancelled flag is added. This flag tells to not flush the event
12121           queue again since the method failed previously or were cancelled by the user.
12122           https://bugzilla.gnome.org/show_bug.cgi?id=749078
12123
12124 2015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
12125
12126         * gst-libs/gst/vaapi/gstvaapiwindow.c:
12127         * gst-libs/gst/vaapi/gstvaapiwindow.h:
12128         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12129         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12130         * gst/vaapi/gstvaapisink.c:
12131           vaapisink: implement unlock/unlock_stop for wayland
12132           Otherwise wl_display_dispatch_queue() might prevent the pipeline from
12133           shutting down. This can happen e.g. if the wayland compositor exits while
12134           the pipeline is running.
12135           Changes:
12136           * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
12137           * splitted the patch removing wl_display_dispatch_queue()
12138           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12139           https://bugzilla.gnome.org/show_bug.cgi?id=747492
12140           https://bugzilla.gnome.org/show_bug.cgi?id=749078
12141
12142 2015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12143
12144         * configure.ac:
12145         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12146           wayland: wl_display_dispatch_queue() can block forever.
12147           wl_display_dispatch_queue() might prevent the pipeline from shutting
12148           down. This can happen e.g. if the wayland compositor exits while the
12149           pipeline is running.
12150           This patch replaces it with these steps:
12151           - With wl_display_prepare_read() all threads announce their intention
12152           to read.
12153           - wl_display_read_events() is thread save. On threads reads, the other
12154           wait for it to finish.
12155           - With wl_display_dispatch_queue_pending() each thread dispatches its
12156           own events.
12157           wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
12158           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
12159           * stripped out the unlock() unlock_stop() logic
12160           * stripped out the poll handling
12161           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12162           https://bugzilla.gnome.org/show_bug.cgi?id=749078
12163           https://bugzilla.gnome.org/show_bug.cgi?id=747492
12164
12165 2015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12166
12167         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12168           wayland: rename frame for last_frame
12169           Since frame in the private data means the last frame sent, it would
12170           semantically better use last_frame.
12171           Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
12172           functions.
12173           https://bugzilla.gnome.org/show_bug.cgi?id=749078
12174
12175 2015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12176
12177         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12178           wayland: use a counter as sync flag
12179           Wayland window has a pointer to the last pushed frame and use it to set the
12180           flag for stopping the queue dispatch loop. This may lead to memory leaks,
12181           since we are not keeping track of all the queued frames structures.
12182           This patch removes the last pushed frame pointer and change the binary flag
12183           for an atomic counter, keeping track of number of queued frames and use it for
12184           the queue dispatch loop.
12185           https://bugzilla.gnome.org/show_bug.cgi?id=749078
12186
12187 2015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12188
12189         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12190           wayland: decouple wl_buffer from frame
12191           This patch takes out the wayland's buffer from the the frame structure. The
12192           buffer is queued to wayland and destroyed in the "release" callback. The
12193           frame is freed in the surface's "done" callback.
12194           In this way a buffer may be leaked but not the whole frame structure.
12195           - surface 'done' callback is used to throttle the rendering operation and to
12196           unallocate the frame, but not the buffer.
12197           - buffer 'release' callback is used to destroy wl_buffer.
12198           Original-patch-by: Zhao Halley <halley.zhao@intel.com>
12199           * code rebase
12200           * kept the the event_queue for buffer's proxy
12201           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12202           https://bugzilla.gnome.org/show_bug.cgi?id=749078
12203
12204 2015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12205
12206         * gst/vaapi/gstvaapisink.c:
12207           vaapisink: fix indentation
12208
12209 2015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12210
12211         * debian.upstream/Makefile.am:
12212         * ext/libvpx/Makefile.am:
12213         * gst-libs/gst/vaapi/Makefile.am:
12214         * gst/vaapi/Makefile.am:
12215         * tests/Makefile.am:
12216           build: fix make distcheck
12217           This patch fixes several issues found when running the `make distcheck`
12218           target:
12219           - In commit c561b8da, the update of gstcompat.h in Makefile.am was
12220           forgotten.
12221           - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
12222           forgotten.
12223           - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
12224           - The make target distcleancheck failed because some autogenerated files
12225           were not handled with the DISTCLEANFILES variable.
12226           Note: `make distcheck -jXX` is not currently supported.
12227
12228 2015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12229
12230         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
12231         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
12232         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
12233           h264parse: update patches with upstream
12234           These patches didn't applied cleanly, breaking the `make distcleancheck`
12235           target. Re-sync'ed the patches against the current git's submodule.
12236
12237 2015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12238
12239         * tests/simple-encoder.c:
12240           tests: simple-encoder: fix build warnings on 64-bit platforms.
12241           Add a cosmetic change to replace VAAPI buffer with VA buffer and most
12242           importantly fix warnings spitted out during build on 64-bit platforms.
12243           ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
12244           g_warning ("Invalid VAAPI buffer size (%d)", size);
12245           ^
12246           ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
12247           g_warning ("Failed to create output buffer of size %d", size);
12248           ^
12249
12250 2015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12251
12252         * gst/vaapi/gstvaapipluginbase.c:
12253         * gst/vaapi/gstvaapipluginutil.c:
12254         * gst/vaapi/gstvaapipluginutil.h:
12255         * gst/vaapi/gstvaapivideocontext.h:
12256           plugins: remove gstreamer-0.10 crumbs
12257           GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
12258           Still, its definition was still in the code. This patch removes it.
12259           https://bugzilla.gnome.org/show_bug.cgi?id=749113
12260
12261 2015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12262
12263         * tests/Makefile.am:
12264         * tests/simple-encoder.c:
12265         * tests/y4mreader.c:
12266         * tests/y4mreader.h:
12267           tests: add simple-encoder program
12268           This patch adds a simple-encoder test program that uses libgstvaapi for video
12269           encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
12270           format. That can be from a regular file or standard input when the input
12271           filename is "-".
12272           Usage: simple-encoder [options]* <source>
12273           Options:
12274           --output|-o     output file name
12275           --codec|-c      codec to use for video encoding
12276           --bitrate|-b    desired bitrate (kbps)
12277           By default, and as an initial patch, the encoded stream shall conform to the
12278           minimally supported profile. That is "Constrained Baseline Profile" for H.264
12279           and "Simple Profile" for MPEG-2. Though, those are the defaults to be
12280           generated by libgstvaapi.
12281           You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
12282           Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
12283           * general code clean-up
12284           * removed the yuv reader thread
12285           * re-wrote the y4m file parser
12286           * updated used API fixed some wrong usage
12287           * fixed a lot of memory leaks
12288           * added the bitrate setting
12289           * keep fps' numerator and denominator
12290           * simplified the thread control
12291           * removed custom logging and use glib
12292           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12293           https://bugzilla.gnome.org/show_bug.cgi?id=719528
12294
12295 2015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12296
12297         * gst-libs/gst/vaapi/gstvaapiencoder.h:
12298           libs: trivial documentation fix
12299           GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
12300           are not errors, so they do not have the ERROR namespace.
12301           This patch fixes this typo in documentation.
12302
12303 2015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
12304
12305         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12306           window: Correct prototype to match implementation
12307           On s390x, guintptr and GstVaapiID are not compatible types. The
12308           implementation of gst_vaapi_window_new_internal() and all its callers
12309           seem to assume that its third argument is a GstVaapiID, while the
12310           header gives it guintptr type.
12311           https://bugzilla.gnome.org/show_bug.cgi?id=744559
12312
12313 2015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12314
12315         * gst/vaapi/gstvaapidecode.c:
12316         * gst/vaapi/gstvaapidecodebin.c:
12317           vaapidecode: add guards for disabled codecs.
12318           Fix link when building plugin elements without HEVC support. e.g. don't
12319           try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
12320           support HEVC enabled in libgstvaapi.
12321           Also, drop disabled codecs from static template caps. Add the missing
12322           HEVC static template caps into vaapidecodebin too.
12323
12324 2015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12325
12326         * configure.ac:
12327         * gst-libs/gst/vaapi/glibcompat.h:
12328           build: upgrade glib dependency to 2.32
12329           Since bug #745728 was fixed the oldest supported version of GStreamer is
12330           1.2. That GStreamer release requires glib 2.32, so we can upgrade our
12331           requirement too.
12332           This patch changes the required version of glib in configure.ac and removes
12333           the hacks in glibcompat.h
12334           https://bugzilla.gnome.org/show_bug.cgi?id=748698
12335
12336 2015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12337
12338         * gst/vaapi/gstvaapipluginbase.c:
12339           plugins: check if the pool config is already set
12340           In commit 97b768, a regression for GStreamer 1.2 was introduced:
12341           GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
12342           config option is already set. This patch adds an inline function to
12343           first verify if the option is not in the pool config berfore add it.
12344
12345 2015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12346
12347         * gst/vaapi/gstvaapipostproc.c:
12348           vaapipostproc: tune up a couple of log messages
12349           In order to reduce the noise, the query type log was downgrade from INFO to
12350           DEBUG, and the shared display address log message is assigned to the object.
12351
12352 2015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12353
12354         * gst/vaapi/gstvaapipluginbase.c:
12355           plugins: check gst_buffer_pool_set_config()
12356           Check the return value of gst_buffer_pool_set_config(). If it fails an error
12357           message is posted in the bus.
12358
12359 2015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12360
12361         * gst/vaapi/gstvaapipluginbase.c:
12362           plugins: more specific log message
12363           Be more specific in the log message about the reason of creating a new pool.
12364
12365 2015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12366
12367         * gst/vaapi/gstvaapipluginbase.c:
12368           plugins: delete unused variable
12369           need_pool is a boolean variable extracted from the allocation query, but it is
12370           not used afterwards.
12371
12372 2015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
12373
12374         * gst/vaapi/gstvaapipluginbase.c:
12375           vaapipluginbase: Update the pool if there was no pool in the downstream reply
12376           Fix regression introduced by bd866479, the query after decide_allocation()
12377           always needs a pool in the first slot.
12378           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12379           https://bugzilla.gnome.org/show_bug.cgi?id=748559
12380
12381 2015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
12382
12383         * gst/vaapi/gstvaapivideobufferpool.c:
12384           videopool: Free members before chaining up finalize
12385           The finalize function in GObject frees the object memory, so
12386           everything else needs to have been freed before.
12387           https://bugzilla.gnome.org/show_bug.cgi?id=748563
12388
12389 2015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
12390
12391         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12392           wayland: don't leak the registry proxy
12393           Release the registry proxy when closing the display.
12394           https://bugzilla.gnome.org/show_bug.cgi?id=748564
12395
12396 2015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12397
12398         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12399           wayland: refactor _sync() method and rename callback
12400           This patch only intends to improve readability: in the method
12401           gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
12402           single while loop.
12403           Also renames the frame_redraw_callback() callback into frame_done_callback(),
12404           which is a bit more aligned to Wayland API.
12405
12406 2015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
12407
12408         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12409           wayland: free frame in buffer release callback
12410           The Wayland compositor may still use the buffer when the frame done
12411           callback is called.
12412           This patch destroys the frame (which contains the buffer) until the
12413           release callback is called. The draw termination callback only controls
12414           the display queue dispatching.
12415           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12416           https://bugzilla.gnome.org/show_bug.cgi?id=747492
12417
12418 2015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12419
12420         * gst/vaapi/gstvaapidecode.c:
12421           vaapidecode: refactor gst_vaapidecode_internal_flush()
12422           This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
12423           label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
12424           shares the same error message of gst_vaapidecode_internal_flush() when flush
12425           fails.
12426
12427 2015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12428
12429         * gst/vaapi/gstvaapidecode.c:
12430           vaapidecode: refactor gst_vaapidecode_destroy()
12431           Add the method gst_vaapidecode_purge(). This method releases the
12432           flushed frames from the decoder.
12433           This new method add more readablity to gst_vaapidecode_destroy()
12434
12435 2015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
12436
12437         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12438         * gst/vaapi/gstvaapidecode.c:
12439           vaapidecode: Tell the base class about released frames on close
12440           The base class needs to be informed about frames that were still queued
12441           in the decoder on release, otherwise they are leaked.
12442           https://bugzilla.gnome.org/show_bug.cgi?id=747999
12443
12444 2015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12445
12446         * gst/vaapi/gstvaapidecode.c:
12447           vaapidecode: reduce logging noise
12448           When a frame is rejected by downstream, the message is logged twice. This
12449           patch removes one of those logging messages.
12450           Also, the reject of a frame doesn't mean an alarming error. This patch demotes
12451           the log message from error to info.
12452
12453 2015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
12454
12455         * gst/vaapi/gstvaapidecode.c:
12456           vaapidecode: Use the GstVideoDecoder error reporting function
12457           This way, the decoder won't stop on the first decoding error,
12458           in most cases it can recover after some glitchiness.
12459           https://bugzilla.gnome.org/show_bug.cgi?id=744620
12460
12461 2015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
12462
12463         * gst/vaapi/gstvaapipluginbase.c:
12464           vaapipluginbase: The allocation query can return without a pool
12465           It is possible to return the min/max/size without actually providing
12466           a pool. This way the source knows how many buffers downstream needs.
12467           https://bugzilla.gnome.org/show_bug.cgi?id=748076
12468
12469 2015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12470
12471         * ext/Makefile.am:
12472         * gst/vaapi/Makefile.am:
12473         * gst/vaapi/gstvaapiparse.c:
12474         * gst/vaapi/gstvaapiparse.h:
12475         * patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
12476         * patches/videoparsers/series.frag:
12477           plugins: Add h265 videoparser element "vaapiparse_h265"
12478           This is a mirror of h265parse element in upstream gst-plugins-bad.
12479           There could be additional patches but all should go to upstream.
12480           This is for making development faster.
12481           Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
12482
12483 2015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12484
12485         * ext/codecparsers:
12486           codecparsers: Update to gst-vaapi-branch commit 43a0368
12487           45f1c28: codecparser: h265: Fix nal unit size checking
12488           f25987b: codecparser: h265: Calculate crop rectangle dimensions
12489           639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
12490           4c8ec41: Add h265 videoparser plugin source files
12491
12492 2015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12493
12494         * autogen.sh:
12495           autogen: drop videoutils submodule.
12496
12497 2015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12498
12499         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12500           decoder: hevc: cosmetics.
12501           Mostly coding style updates. Avoid integer signess inconsistencies.
12502           Optimize dpb_find_lowest_poc() to align with original h264's decoder.
12503
12504 2015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12505
12506         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12507           decoder: hevc: Add Support for tiled video decoding
12508           Based up on the value of uniform_spacing_flag in Picture Parameter Set,
12509           the tile column width and tile row height should be calculated.
12510           Equations: 6-1, 6-2
12511           Tiled video Descriptions: 7.3.2.3, 7.4.3.3
12512
12513 2015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12514
12515         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12516           decoder: hevc: Fix decoding when there are RASL pictures present.
12517           -- Set NoRaslOutputFlag based on EOS and EOB Nal units
12518           -- Fix PicOutputFlag setting for RASL picture
12519           -- Fix prev_poc_lsb/prev_poc_msb calculation
12520           -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
12521           -- Fixed couple of crashes and added cosmetics
12522
12523 2015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
12524
12525         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12526           display: drm: fix race condition setting device type
12527           There is a race condition where g_drm_device_type can be left set to
12528           DRM_DEVICE_RENDERNODES when it shouldn't.
12529           If thread 1 comes in and falls into the last else statement setting up both
12530           RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
12531           it sets g_drm_device_type = RENDERNODES.
12532           Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
12533           up that type to be tried but then encounters the lock and has to wait until the
12534           first thread finishes. Once the lock is acquired it will then proceed to ONLY try
12535           RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
12536           attempts will only try RENDERNODES.
12537           So to avoid this situation I have simply moved the acquisition of the lock higher
12538           up in the attached patch.
12539           https://bugzilla.gnome.org/show_bug.cgi?id=747914
12540
12541 2015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
12542
12543         * gst/vaapi/gstvaapipostproc.c:
12544           vaapipostproc: Don't create filter on caps query
12545           The problem with this is that creating the filter causes the display to
12546           be selected, and the caps query happens while linking the element. So,
12547           if the downstream or upstream element is using a specific display
12548           object, it won't be propagated correctly to the postproc as it already
12549           has a display at this point.
12550           https://bugzilla.gnome.org/show_bug.cgi?id=747945
12551
12552 2015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
12553
12554         * gst-libs/gst/vaapi/gstvaapivideopool.c:
12555           videopool: Release lock while allocating new object
12556           The video pool can be accessed with the display lock held, for example,
12557           when releasing a buffer from inside vaapisink_render, but allocating
12558           a new object can may also take the display lock. Which means a possible
12559           deadlock.
12560           https://bugzilla.gnome.org/show_bug.cgi?id=747944
12561
12562 2015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12563
12564         * gst/vaapi/gstvaapisink.c:
12565           vaapisink: use GstVideoSink vmethod show_frame()
12566           vaapisink inherits from GstVideoSink, in order to use its functionality (such
12567           as ::show-preroll-frame property), we should use its vmethod show_frame(),
12568           rather than call ourselves render() and preroll().
12569
12570 2015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12571
12572         * gst/vaapi/gstvaapisink.c:
12573         * gst/vaapi/gstvaapisink.h:
12574           vaapisink: add 'handoff' signal
12575           This patch adds the signal ::handoff and the property signal-handoffs. If the
12576           property is set TRUE, the signal ::handoff is emitted just after the buffer is
12577           rendered.
12578           Based on Zhao Halley <halley.zhao@intel.com>
12579           https://bugzilla.gnome.org/show_bug.cgi?id=747905
12580
12581 2015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12582
12583         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12584           HEVC: silence the compiler
12585           Fixed a couple of clang complains.
12586
12587 2015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
12588
12589         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12590           wayland: destroy vpp buffer pool on resize
12591           Otherwise the old buffers with the old size are used.
12592           https://bugzilla.gnome.org/show_bug.cgi?id=747491
12593
12594 2015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12595
12596         * configure.ac:
12597         * gst-libs/gst/vaapi/Makefile.am:
12598           build: don't compile HEVC if not supported
12599           HEVC decoding was added recently libva-1.5.
12600           This patch avoids HEVC decoding support in libgstvaapi if it is not available
12601           in the installed libva.
12602           https://bugzilla.gnome.org/show_bug.cgi?id=747831
12603
12604 2015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12605
12606         * gst/vaapi/gstvaapidecode.c:
12607           vaapidecode: Update Author name in plugin metadata
12608
12609 2015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12610
12611         * gst/vaapi/gstvaapidecode.c:
12612           plugins: Add HEVC decoder
12613           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12614
12615 2015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12616
12617         * gst-libs/gst/vaapi/Makefile.am:
12618         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12619         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
12620           HEVC: Add HEVC(h265) decoder to core libgstvaapi
12621           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12622
12623 2015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12624
12625         * gst-libs/gst/vaapi/Makefile.am:
12626         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
12627         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
12628         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
12629           HEVC: Add codec utility methods to core libgstvaapi
12630           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12631
12632 2015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12633
12634         * gst-libs/gst/vaapi/gstvaapiprofile.c:
12635         * gst-libs/gst/vaapi/gstvaapiprofile.h:
12636           HEVC: gstvaapiprofile: Add profile definitions
12637           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12638
12639 2015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12640
12641         * configure.ac:
12642           HEVC: build: Check availability of h265 decoder APIs
12643           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12644
12645 2015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12646
12647         * configure.ac:
12648         * ext/Makefile.am:
12649         * gst-libs/gst/codecparsers/Makefile.am:
12650           HEVC: Allow to build h265 codecparser internally
12651           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12652
12653 2015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12654
12655         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
12656         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
12657         * gst-libs/gst/vaapi/gstvaapisurface.c:
12658           guard buffer export API if not available
12659           The support for buffer exports in VA-API was added in version 0.36. These
12660           interfaces are for interop with EGL, OpenCL, etc.
12661           GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
12662           has to support VA-API versions ranging from 0.30.4, which doesn't support it.
12663           This patch guards all the buffer exports handling (and dmabuf allocator) if
12664           the detected VA-API version is below 0.36.
12665           https://bugzilla.gnome.org/show_bug.cgi?id=746405
12666
12667 2015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12668
12669         * ext/codecparsers:
12670           codecparsers: Update to gst-vaapi-branch commit 9bc72b0
12671           767bf22: codecparsers: h265: add helpers to convert quantization matrices
12672           71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
12673           3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
12674           10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
12675           2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
12676
12677 2014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
12678
12679         * gst/vaapi/gstvaapidecode.c:
12680           vaapidecode: unref video codec frame twice
12681           We get one reference when the frame is passed to decode_handle_frame()
12682           and create another one in gst_vaapi_decoder_push_frame().
12683           Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
12684           Here the frame is always released twice:
12685           gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
12686           gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
12687           In gst_vaapidecode_reset_full() both references to the frame must be
12688           released as well.
12689           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12690           https://bugzilla.gnome.org/show_bug.cgi?id=743226
12691
12692 2015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12693
12694         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12695           libs: remove unused variables
12696           clang reports these unused variables. Let's get rid of them.
12697           This patch is a missing part of commit c82e5173
12698           https://bugzilla.gnome.org/show_bug.cgi?id=747312
12699
12700 2015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12701
12702         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
12703           decoder: mpeg4: remove an spurious comparison
12704           The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
12705           less than zero. Hence this pre-condition test is a no-op. This patch removes
12706           that code.
12707           https://bugzilla.gnome.org/show_bug.cgi?id=747312
12708
12709 2015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12710
12711         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12712           encoder: h264: casts slice_param->slice_type
12713           slice_type in slice_param is defined as (char *), but it is compared against a
12714           signed integer. clang complains about this comparison.
12715           This patch casts the variable.
12716           https://bugzilla.gnome.org/show_bug.cgi?id=747312
12717
12718 2015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12719
12720         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
12721           encoder: avoid GstVaapiCodedBuffer redefinition
12722           The symbol GstVaapiCodedBuffer is already defined in
12723           gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
12724           gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
12725           This patch removes that redefinition.
12726           https://bugzilla.gnome.org/show_bug.cgi?id=747312
12727
12728 2015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12729
12730         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
12731         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
12732           libs: remove unused variables
12733           clang reports these unused variables. Let's get rid of them.
12734           https://bugzilla.gnome.org/show_bug.cgi?id=747312
12735
12736 2015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12737
12738         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
12739           encoder: mpeg2: use fabsf() instead of abs()
12740           The member value in frame_rate_tab is float, the result of the abs() function
12741           should be float too. But abs() only manages integers.
12742           This patch replaces abs() with fabsf() to handle correctly the possible floats
12743           values.
12744           https://bugzilla.gnome.org/show_bug.cgi?id=747312
12745
12746 2015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12747
12748         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12749         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12750         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
12751         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
12752         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
12753           decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
12754           Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
12755           GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
12756           https://bugzilla.gnome.org/show_bug.cgi?id=747312
12757
12758 2015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12759
12760         * README:
12761           Update README
12762
12763 2015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12764
12765         * .gitmodules:
12766         * README:
12767           Changing source code download links from https://gitorious  to https://github
12768           -- gitmodules: Change gstreamer-codecparsers submodule source download link
12769           -- README: Change the gstreamer-vaapi webpage link
12770
12771 2015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12772
12773         * ext/codecparsers:
12774           codecparsers: update to gst-vaapi-branch commit 1f792e4
12775           87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
12776           7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
12777           2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
12778           2b92a67: h264parse: reset the parser information when caps changes
12779           05eee86: codecparsers: Indent file
12780           e27a38b: codecparsers: Add READ_UE_MAX macro
12781           2036471: Constify some static arrays everywhere
12782
12783 2015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12784
12785         * gst/vaapi/gstvaapivideoconverter_glx.c:
12786         * gst/vaapi/gstvaapivideoconverter_x11.c:
12787           Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
12788
12789 2015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12790
12791         * gst/vaapi/gstvaapidecode.c:
12792         * gst/vaapi/gstvaapidecodebin.c:
12793         * gst/vaapi/gstvaapiencode_h264.c:
12794         * gst/vaapi/gstvaapiencode_jpeg.c:
12795         * gst/vaapi/gstvaapiencode_mpeg2.c:
12796         * gst/vaapi/gstvaapiencode_vp8.c:
12797         * gst/vaapi/gstvaapipluginbase.c:
12798         * gst/vaapi/gstvaapipluginutil.c:
12799         * gst/vaapi/gstvaapipluginutil.h:
12800         * gst/vaapi/gstvaapipostproc.c:
12801         * gst/vaapi/gstvaapisink.c:
12802         * gst/vaapi/gstvaapivideobuffer.c:
12803         * gst/vaapi/gstvaapivideobufferpool.c:
12804         * gst/vaapi/gstvaapivideocontext.c:
12805         * gst/vaapi/gstvaapivideocontext.h:
12806         * gst/vaapi/gstvaapivideoconverter_glx.h:
12807         * gst/vaapi/gstvaapivideoconverter_x11.h:
12808         * gst/vaapi/gstvaapivideomemory.h:
12809         * gst/vaapi/gstvaapivideometa_texture.c:
12810           Removal of gstreamer-1.0 support
12811           The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
12812           GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
12813           This patch removes all the pre-processor conditional code compilation guarded
12814           for gstreamer-1.0.
12815           Thus, all the video converters were removed too.
12816           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12817           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12818           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12819
12820 2015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12821
12822         * gst-libs/gst/vaapi/gstcompat.h:
12823         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
12824         * gst-libs/gst/vaapi/gstvaapiprofile.c:
12825         * gst-libs/gst/vaapi/sysdeps.h:
12826         * gst/vaapi/gstcompat.h:
12827         * gst/vaapi/gstvaapi.c:
12828         * gst/vaapi/gstvaapidecode.c:
12829         * gst/vaapi/gstvaapidecodebin.c:
12830         * gst/vaapi/gstvaapiencode.c:
12831         * gst/vaapi/gstvaapiencode_h264.c:
12832         * gst/vaapi/gstvaapiencode_jpeg.c:
12833         * gst/vaapi/gstvaapiencode_mpeg2.c:
12834         * gst/vaapi/gstvaapiencode_vp8.c:
12835         * gst/vaapi/gstvaapiparse.c:
12836         * gst/vaapi/gstvaapipluginbase.c:
12837         * gst/vaapi/gstvaapipluginutil.c:
12838         * gst/vaapi/gstvaapipostproc.c:
12839         * gst/vaapi/gstvaapisink.c:
12840         * gst/vaapi/gstvaapiuploader.c:
12841         * gst/vaapi/gstvaapivideobuffer.c:
12842         * gst/vaapi/gstvaapivideobufferpool.c:
12843         * gst/vaapi/gstvaapivideocontext.c:
12844         * gst/vaapi/gstvaapivideoconverter_glx.c:
12845         * gst/vaapi/gstvaapivideoconverter_x11.c:
12846         * gst/vaapi/gstvaapivideomemory.c:
12847         * gst/vaapi/gstvaapivideometa.c:
12848         * gst/vaapi/gstvaapivideometa_texture.c:
12849         * tests/codec.c:
12850           update and move gstcompat.h
12851           The purpose of gstcompat.h is to couple the API differences among
12852           gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
12853           in this compatibility layer shall be removed.
12854           Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
12855           appear in the future, but it shall live in gst/vaapi, not in gst-libs.
12856           This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
12857           In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
12858           the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
12859           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12860           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12861           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12862
12863 2015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12864
12865         * configure.ac:
12866         * gst/vaapi/Makefile.am:
12867           autotools: remove gstreamer-1.0 support
12868           This patch only removes the support of gstreamer-1.0 in the autotools
12869           scripts. No other files are touched.
12870           In the automake file all the converters were deprecated.
12871           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12872           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12873           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12874
12875 2015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12876
12877         * .gitmodules:
12878         * ext/Makefile.am:
12879         * ext/videoutils:
12880           Remove the gstreamer-videoutils submodule
12881
12882 2015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12883
12884         * configure.ac:
12885         * gst-libs/gst/Makefile.am:
12886         * gst-libs/gst/vaapi/Makefile.am:
12887         * gst-libs/gst/video/Makefile.am:
12888         * gst/vaapi/Makefile.am:
12889         * tests/Makefile.am:
12890           Remove libgstvaapi-videoutils.so
12891           This library was intended to add the base classes for video decoders which
12892           where not included in gstreamer-0.10.
12893           Since the support of gstreamer-0.10 is deprecated those classes are not
12894           required, thus the whole library is removed.
12895           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12896           https://bugzilla.gnome.org/show_bug.cgi?id=732666
12897           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12898
12899 2015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12900
12901         * configure.ac:
12902         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
12903         * gst-libs/gst/vaapi/gstvaapiutils.c:
12904         * tests/test-subpicture.c:
12905           Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
12906           This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
12907           defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
12908           deprecated these guards are not required.
12909           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12910           https://bugzilla.gnome.org/show_bug.cgi?id=732666
12911           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12912
12913 2015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12914
12915         * gst-libs/gst/vaapi/gstcompat.h:
12916         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
12917         * gst-libs/gst/vaapi/gstvaapidecoder.c:
12918         * gst-libs/gst/vaapi/gstvaapiimage.c:
12919         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
12920         * gst-libs/gst/vaapi/video-format.c:
12921         * gst-libs/gst/vaapi/video-format.h:
12922         * gst/vaapi/gstvaapi.c:
12923         * gst/vaapi/gstvaapidecode.c:
12924         * gst/vaapi/gstvaapidecodebin.c:
12925         * gst/vaapi/gstvaapidownload.c:
12926         * gst/vaapi/gstvaapidownload.h:
12927         * gst/vaapi/gstvaapiencode.c:
12928         * gst/vaapi/gstvaapiencode_h264.c:
12929         * gst/vaapi/gstvaapiencode_jpeg.c:
12930         * gst/vaapi/gstvaapiencode_mpeg2.c:
12931         * gst/vaapi/gstvaapiencode_vp8.c:
12932         * gst/vaapi/gstvaapiparse.c:
12933         * gst/vaapi/gstvaapipluginbase.c:
12934         * gst/vaapi/gstvaapipluginbase.h:
12935         * gst/vaapi/gstvaapipluginutil.c:
12936         * gst/vaapi/gstvaapipluginutil.h:
12937         * gst/vaapi/gstvaapipostproc.c:
12938         * gst/vaapi/gstvaapisink.c:
12939         * gst/vaapi/gstvaapiupload.c:
12940         * gst/vaapi/gstvaapiupload.h:
12941         * gst/vaapi/gstvaapiuploader.c:
12942         * gst/vaapi/gstvaapivideobuffer.c:
12943         * gst/vaapi/gstvaapivideoconverter_glx.c:
12944         * gst/vaapi/gstvaapivideoconverter_x11.c:
12945         * gst/vaapi/gstvaapivideometa.c:
12946         * gst/vaapi/gstvaapivideometa.h:
12947         * tests/test-filter.c:
12948         * tests/test-subpicture.c:
12949           Removal of gstreamer-0.10 support
12950           This patch removes all the pre-processor conditional code compilation guarded
12951           for gstreamer-0.10.
12952           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12953           https://bugzilla.gnome.org/show_bug.cgi?id=732666
12954           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12955
12956 2015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12957
12958         * configure.ac:
12959         * debian.upstream/control.in:
12960         * gst-libs/gst/video/Makefile.am:
12961         * gst/vaapi/Makefile.am:
12962           autotools: remove gstreamer-0.10 support
12963           This patch only removes the support of gstreamer-0.10 in the autotools
12964           scripts. No other files are touched.
12965           The configuration parameter --gstreamer-api was deleted since now it is always
12966           auto-detected.
12967           The verification of vmethod query in GstBaseSinkClass was removed since it was
12968           added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
12969           its format flags.
12970           The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
12971           remained.
12972           The automake files were changed accordingly.
12973           Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
12974           https://bugzilla.gnome.org/show_bug.cgi?id=732666
12975           https://bugzilla.gnome.org/show_bug.cgi?id=745728
12976           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12977
12978 2015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12979
12980         * gst/vaapi/gstvaapidecode.c:
12981           vaapidecode: add drain() vmethod
12982           In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
12983           class. This patch implements this new method.
12984           https://bugzilla.gnome.org/show_bug.cgi?id=742922
12985           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12986           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12987
12988 2015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12989
12990         * gst/vaapi/gstvaapidecode.c:
12991           vaapidecode: remove vmethod reset()
12992           Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
12993           this patch removes the method reset() which was deprecated in GStreamer 1.2.
12994           https://bugzilla.gnome.org/show_bug.cgi?id=742922
12995           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12996           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12997
12998 2015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12999
13000         * gst/vaapi/gstvaapidecode.c:
13001           vaapidecode: handle flush() vmethod
13002           Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
13003           and flush() was added.
13004           This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
13005           superior. Otherwise, reset() is set.
13006           v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
13007           was renamed to gst_vaapidecode_internal_flush().
13008           2) The new vmethod flush() always do a hard full reset.
13009           v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
13010           gather all collected data with  gst_video_decoder_have_frame()
13011           https://bugzilla.gnome.org/show_bug.cgi?id=742922
13012           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13013           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13014
13015 2015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13016
13017         * gst/vaapi/gstvaapidecode.c:
13018           vaapidecode: call the correct query function
13019           In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
13020           a bug was introduced: when calling the parent's query function of the
13021           src pad, the one of the sink pad is called instead. This patch fixes
13022           this issue.
13023           https://bugzilla.gnome.org/show_bug.cgi?id=746248
13024
13025 2015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13026
13027         * .gitmodules:
13028           gitmodules: Use https:// url instead of git:// for submodules.
13029           Gitorious is failing to clone repositories over git:// url.
13030
13031 2015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
13032
13033         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13034           vaapidisplay: mark X11 display as compatible with EGL
13035           GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
13036           gst-launch-1.0 ... ! vaapidecode ! glimagesink
13037           https://bugzilla.gnome.org/show_bug.cgi?id=745902
13038           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13039
13040 2015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
13041
13042         * gst/vaapi/gstvaapidecode.c:
13043           vaapidecode: Don't crash if a buffer outlives the decoder
13044           Sometimes, for example, when switching video streams but keeping
13045           the same sink, the surface will be released after the decoder is
13046           stopped and replaced. This caused a crash because the release
13047           callback was called on an invalid pointer.
13048           The patch adding an additional reference to the decoder object in the buffer.
13049           https://bugzilla.gnome.org/show_bug.cgi?id=745189
13050           Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
13051           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13052
13053 2015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13054
13055         * gst/vaapi/gstvaapidecode.c:
13056           vaapidecode: clean-ups (indentation, drop unused variables)
13057
13058 2015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13059
13060         * gst/vaapi/gstvaapidecode.c:
13061           vaapidecode: use the query virtual methods in 1.4
13062           GstVideoDecoder, the base class of vaapidecode, added support for
13063           pad queries as virtual methods. This patch enables the use of that
13064           support, while keeping support for lower versions of gstreamer.
13065           This patch is important because GstVideoDecoder takes care of other
13066           queries that might be important in the pipeline managing.
13067           v2: 1) rebase to current master
13068           2) fix indentation with gst-indent
13069           3) simplify the patch layout
13070           4) fix the context query
13071           5) initialise the filter to NULL
13072           6) improve the query log message for gst-1.2
13073           https://bugzilla.gnome.org/show_bug.cgi?id=744406
13074
13075 2015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13076
13077         * gst/vaapi/gstvaapipostproc.c:
13078         * gst/vaapi/gstvaapipostproc.h:
13079           vaapipostproc: always activate buffer pool
13080           The vaapipostproc has a proxy flag to know if the the buffer pool is
13081           already active. But this fails in some situations where it is needed
13082           to renegotiate the buffer pool.
13083           This patch removes that flag so the renegotiation is done whenever is
13084           required.
13085           https://bugzilla.gnome.org/show_bug.cgi?id=745535
13086
13087 2015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13088
13089         * gst/vaapi/gstvaapisink.c:
13090           vaapisink: fix minor memory leak in debug mode.
13091           The gst_video_colorimetry_to_string() function returns a newly created
13092           string that represents the GstVideoColorimetry value. So, that needs
13093           to be released after usage, in e.g. GST_DEBUG().
13094
13095 2015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13096
13097         * gst/vaapi/gstvaapidecodebin.h:
13098           vaapidecodebin: Avoid usage of "__" prefix in macro names
13099           Avoiding "__" prefix usage in Header File Guards as per
13100           C standard recommendation.
13101
13102 2015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13103
13104         * gst/vaapi/gstvaapi.c:
13105           plugins: Disable vaapidecodebin for GStreamer < 1.4
13106           There are autoplugging issues in GStreamer-1.2.
13107           Lets disable vaapidecodebin untill we get some workarounds for this.
13108
13109 2015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13110
13111         * gst/vaapi/Makefile.am:
13112         * gst/vaapi/gstvaapi.c:
13113         * gst/vaapi/gstvaapidecodebin.c:
13114         * gst/vaapi/gstvaapidecodebin.h:
13115           plugins: Add a vaapidecodebin element
13116           Add a "vaapidecodebin" element to vaapi plugins.
13117           Child Elements: "vaapidecode ! queue ! vaapipostproc"
13118           The Reasons for implementing a new bin element:
13119           -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
13120           with out any dependency to upstream gstreamer.
13121           This is to overcome the *unacceptable* delay in upstream gstreamer to get new
13122           features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
13123           Also customers using older gstreamer versions (1.2 and 1.4) will get the
13124           benefit of autoplugging, hardware accelerated deinterlacing support etc.
13125           -- Help to maintain a single thread implementation in vaapidecode.
13126           This will result a dead-lock free vaapidecode in most of the cases.
13127           More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
13128           https://bugzilla.gnome.org/show_bug.cgi?id=745216
13129
13130 2015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13131
13132         * gst/vaapi/gstvaapidecode.c:
13133           vaapidecode: re-indent (gst-indent) gstvaapidecode.c
13134
13135 2015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13136
13137         * gst/vaapi/gstvaapidecode.c:
13138         * gst/vaapi/gstvaapidecode.h:
13139           vaapidecode: Switch back to Single thread implementation
13140           Because the decoder uses the thread from handle_frame() to decode a frame,
13141           the src pad task creates an unsolveable AB-BA deadlock between
13142           handle_frame() waiting for a free surface and decode_loop() pushing
13143           decoded frames out.
13144           Instead, have handle_frame() take responsibility for pushing surfaces,
13145           and remove the deadlock completely. If you need a separate thread
13146           downstream, you can insert a queue between vaapidecode and its downstream
13147           to get one.
13148           Another justification for the single thread implementation is,
13149           there are two many point of locking in gstreamer-vaapi's current
13150           implementation which can lead to deadlocks.
13151           https://bugzilla.gnome.org/show_bug.cgi?id=742605
13152           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13153           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13154           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13155
13156 2015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13157
13158         * gst/vaapi/gstvaapipluginbase.c:
13159           plugins: fix detection of upstream v4l2src element.
13160           Improve check for upstream element that requires DMABUF buffer pool,
13161           e.g. v4l2src element. In particular, make sure to traverse through
13162           any additional capsfilter for instance.
13163           Note: the traversal to the top-most upstream element could be made
13164           more generic, but we are insofar only interested in supporting pipes
13165           similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
13166           specification for a desired video camera format, or resolution.
13167
13168 2015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13169
13170         * gst/vaapi/gstvaapivideomemory.c:
13171           plugins: fix allocation of DMABUF memory.
13172           The dmabuf allocator would close the DMABUF handle passed in the init
13173           function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
13174           to avoid a double close, ultimately in the underlying driver that owns
13175           the DMABUF handle.
13176
13177 2015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13178
13179         * gst/vaapi/gstvaapidecode.c:
13180           vaapidecode: keep src caps and output state in sync
13181           vaapidecode keeps an output state that use the format
13182           GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
13183           for a correct negotiation.
13184           I don't see the rational behind this decoupling, it looks like
13185           unnecessary complexity. This patch simplify this logic keeping
13186           in sync the output state and the src caps.
13187           This patch improves the readability of the function
13188           gst_vaapidecode_update_src_caps() and simplify its logic. Also,
13189           the patch validates if the buffer pool has the configuration for
13190           the GL texture upload meta, in order to set the caps feature
13191           meta:GLTextureUpload. Otherwise, the I420 format is set back.
13192           https://bugzilla.gnome.org/show_bug.cgi?id=744618
13193           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13194           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13195
13196 2015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13197
13198         * gst/vaapi/gstvaapidecode.c:
13199           vaapidecode: upload meta only if feature and allocation
13200           When vaapidecode finishes the decoding of a frame and pushes it,
13201           if, in the decide_allocation() method, it is determined if the
13202           next element supports the GL texture upload meta feature, the
13203           decoder adds the buffer's meta.
13204           Nonetheless, in the same spirit of the commit 71d3ce4d, the
13205           determination if the next element supports the GL texture upload
13206           meta needs to check both the preferred caps feature *and* if the
13207           allocation query request the API type.
13208           This patch, first removes the unused variable need_pool, and
13209           determines the attribute has_texture_upload_meta using the
13210           preferred caps feature *and* the allocation query.
13211           Also, the feature passed to GstVaapPluginBase is not longer
13212           determined by has_texture_upload_meta, but by the computed
13213           preferred one.
13214           https://bugzilla.gnome.org/show_bug.cgi?id=744618
13215           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13216           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13217
13218 2015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13219
13220         * gst/vaapi/gstvaapidecode.c:
13221         * gst/vaapi/gstvaapidecode.h:
13222         * gst/vaapi/gstvaapipluginutil.c:
13223         * gst/vaapi/gstvaapipluginutil.h:
13224           vaapidecode: delayed src caps negotiation
13225           Currently the src caps are set immediately after the sink caps are set, but in
13226           that moment the pipeline might not fully constructed and the video sink has
13227           not negotiated its supported caps and features. As a consequence, in many cases
13228           of playback, the least optimized caps feature is forced. This is partially the
13229           responsible of bug #744039.
13230           Also, vaapidecode doesn't attend the reconfigure events from downstream,
13231           which is a problem too, since the video sink can be changed with different
13232           caps features.
13233           This patch delays the src caps, setting them until the first frame arrives to
13234           the decoder, assuming until that very moment the whole pipeline is already
13235           negotiated. Particularly, it checks if the src pad needs to be reconfigured,
13236           as a consequence of a reconfiguration event from downstream.
13237           A key part of this patch is the new GstVaapiCapsFeature
13238           GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
13239           doesn't have a peer yet. Also, for a better report of the caps allowed
13240           through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
13241           instead of gst_pad_peer_query_caps() when looking for the preferred feature.
13242           v3: move the input_state unref to close(), since videodecoder resets at
13243           some events such as navigation.
13244           v4: a) the state_changed() callback replaces the input_state if the media
13245           changed, so this case is also handled.
13246           b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
13247           always the input_state, the parameter were removed.
13248           c) there were a lot of repeated code handling the input_state, so I
13249           refactored it with the function gst_vaapi_decode_input_state_replace().
13250           https://bugzilla.gnome.org/show_bug.cgi?id=744618
13251           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13252           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13253
13254 2015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13255
13256         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13257         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
13258           encoder: h264: add support for more than 2 views
13259           Add support for H.264 MVC Multiview High profile encoding with
13260           more than 2 views. All views within the same accesss unit are
13261           provided in increasing order of view order index (VOIdx).
13262           Upto 10 view are supported for now.
13263           A new property "view-ids" has been provided for the plugins to
13264           set the view ids (which is an array of guint values) to be used
13265           for mvc encoding.
13266           https://bugzilla.gnome.org/show_bug.cgi?id=732453
13267
13268 2015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13269
13270         * gst/vaapi/gstvaapipluginbase.c:
13271           plugins: upload meta only if feature and allocation
13272           Working on bug #743687, I realized that vaapidecode always adds to its buffer
13273           pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
13274           the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
13275           Nevertheless, there are occasions where the query has the API type, but the
13276           last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
13277           Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
13278           buffer pool configuration, and adds its buffer's meta to each output buffer,
13279           even if the negotiated caps feature is memory:SystemMemory with I420 color
13280           format.
13281           This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
13282           that relates caps <-> GL upload method. If it receives a buffer with color
13283           format I420, it assumes that it doesn't have a texture upload meta, because
13284           only those with RGB color format has it. Our buffers, with I420 format, say
13285           that they have the upload meta too. In that case the mapped method is a dummy
13286           one which does nothing. I reported this issue in bug #744039 (the patch,
13287           obviously, was rejected).
13288           This patch workarounds the problem: the buffer pool's configuration option
13289           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
13290           query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
13291           caps feature is meta:GstVideoGLTextureUploadMeta.
13292           I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
13293           in all they seem to work correctly.
13294           https://bugzilla.gnome.org/show_bug.cgi?id=744618
13295           [adapted to fit current EGL changes]
13296           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13297
13298 2015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13299
13300         * gst-libs/gst/vaapi/gstvaapitexture.c:
13301         * gst-libs/gst/vaapi/gstvaapitexture.h:
13302         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13303         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
13304         * gst/vaapi/gstvaapivideometa_texture.c:
13305           plugins: add support for GstVideoGLTextureOrientation.
13306           Add support for GstVideoGLTextureOrientation modes. In particular,
13307           add orientation flags to the GstVaapiTexture wrapper and the GLX
13308           implementations. Default mode is that texture memory is laid out
13309           with top lines first, left row first. Flags indicate whether the
13310           X or Y axis need to be inverted.
13311
13312 2015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13313
13314         * gst/vaapi/gstvaapidecode.c:
13315         * gst/vaapi/gstvaapipluginbase.c:
13316         * gst/vaapi/gstvaapipluginutil.c:
13317         * gst/vaapi/gstvaapipluginutil.h:
13318         * gst/vaapi/gstvaapipostproc.c:
13319         * gst/vaapi/gstvaapivideometa_texture.c:
13320           plugins: add support for BGRA textures.
13321           Some frameworks (EFL) expect BGRA textures for storage. However,
13322           adding support for that broadly into GStreamer framework  implies
13323           two kinds of hacks: (i) libgstgl helpers currently do not support
13324           BGRA textures correctly, (ii) we need to better parse downstream
13325           suggested caps and intersect them with what the VA plugin elements
13326           can offer to them for GL texturing.
13327
13328 2015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13329
13330         * gst/vaapi/gstvaapipluginutil.c:
13331           plugins: fix support for Wayland/EGL running alongside X11.
13332           When multiple display servers are available, the glimagesink element
13333           (from GStreamer 1.4) may not be able to derive a global display in
13334           Wayland. Rather, a "window"-specific display is created. In this case,
13335           the GstGLDisplay handle available through GstGLContext is invalid.
13336           So, try to improve heuristics for display server characterisation in
13337           those particular situations.
13338
13339 2015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13340
13341         * configure.ac:
13342         * gst/vaapi/Makefile.am:
13343         * gst/vaapi/gstvaapidecode.c:
13344         * gst/vaapi/gstvaapipluginbase.c:
13345         * gst/vaapi/gstvaapipluginutil.c:
13346         * gst/vaapi/gstvaapivideobufferpool.c:
13347         * gst/vaapi/gstvaapivideometa_texture.c:
13348           plugins: add initial support for EGL.
13349           Add initial support for EGL through GstVideoGLTextureUploadMeta.
13350           Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
13351           downstream supplied GstGLContext configuration, i.e. use its native
13352           display handle to create a GstVaapiDisplay of type X11 or Wayland ;
13353           and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
13354           wrapper.
13355           https://bugzilla.gnome.org/show_bug.cgi?id=741079
13356
13357 2014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13358
13359         * gst/vaapi/gstvaapivideometa_texture.c:
13360           plugins: track video texture size changes.
13361           Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
13362           i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
13363           now update the texture size from the GstVideoMeta, if any, or reset
13364           to some defaults otherwise.
13365
13366 2014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13367
13368         * gst/vaapi/gstvaapipluginbase.c:
13369         * gst/vaapi/gstvaapipluginbase.h:
13370         * gst/vaapi/gstvaapipluginutil.c:
13371           plugins: ensure VA display matches GL context expectations.
13372           If a GstGLContext is supplied by the downstream element, then make
13373           sure that the VA plugin element gets a compatible display to what
13374           is requested by the GL context. e.g. re-allocate a VA/GLX display
13375           when a GLX context is provided by the downstream element.
13376
13377 2014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13378
13379         * configure.ac:
13380         * gst/vaapi/Makefile.am:
13381         * gst/vaapi/gstvaapipluginbase.c:
13382         * gst/vaapi/gstvaapipluginbase.h:
13383           plugins: record downstream GstGLContext.
13384           Record GL context supplied by downstream elements. This can be useful,
13385           and further needed, to enforce run-time check that the GL context is
13386           compatible for use by libgstvaapi. e.g. check that we don't create a
13387           VA/GLX display for EGL/X11 contexts.
13388           https://bugzilla.gnome.org/show_bug.cgi?id=725643
13389           Original-path-by: Matthew Waters <ystreet00@gmail.com>
13390
13391 2014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13392
13393         * tests/Makefile.am:
13394         * tests/output.c:
13395           egl: update tests.
13396           Add initial support for EGL to tests. The new EGL backend can be selected
13397           through the --egl command line option. The OpenGL|ES version can further
13398           be selected with the --gles-version command line option, where the default
13399           of 0 means "desktop" OpenGL.
13400
13401 2015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13402
13403         * gst-libs/gst/vaapi/Makefile.am:
13404         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13405         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
13406         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
13407         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
13408         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
13409           egl: add windowing support.
13410           This provides for some basic EGL window abstraction.
13411
13412 2015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13413
13414         * gst-libs/gst/vaapi/Makefile.am:
13415         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13416         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
13417         * gst-libs/gst/vaapi/gstvaapitexture_egl.h:
13418           egl: add texture abstraction.
13419           Add GstVaapiTextureEGL abstraction that can create its own GL texture,
13420           or import a foreign allocated one, while still allowing updates from a
13421           VA surface.
13422
13423 2014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13424
13425         * gst-libs/gst/vaapi/Makefile.am:
13426         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
13427         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
13428           egl: allow for EGLImage imports into VA Surfaces.
13429           Add helpers to import EGLImage objects into VA surfaces. There are
13430           two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
13431           which allows for implicit conversion from EGLImage to a VA surface
13432           in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
13433           which exactly wraps the source EGLImage, typically in RGBA format
13434           with linear storage.
13435           Note: in case of (i), the EGLImage can be disposed right after the
13436           VA surface creation call, unlike in (ii) where the user shall ensure
13437           that the EGLImage is live until the associated VA surface is no longer
13438           needed.
13439           https://bugzilla.gnome.org/show_bug.cgi?id=743847
13440
13441 2015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13442
13443         * configure.ac:
13444         * gst-libs/gst/vaapi/Makefile.am:
13445         * gst-libs/gst/vaapi/egl_compat.h:
13446         * gst-libs/gst/vaapi/egl_vtable.h:
13447         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13448         * gst-libs/gst/vaapi/gstvaapidisplay.h:
13449         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13450         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
13451         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
13452         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
13453         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
13454         * gst-libs/gst/vaapi/ogl_compat.h:
13455           Add initial support for EGL.
13456           Add initial support for EGL to libgstvaapi core library. The target
13457           display server and the desired OpenGL API can be programmatically
13458           selected at run-time.
13459           A comprehensive set of EGL utilities are provided to support those
13460           dynamic selection needs, but also most importantly to ensure that
13461           the GL command stream is executed from within a single thread.
13462           https://bugzilla.gnome.org/show_bug.cgi?id=743846
13463
13464 2015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13465
13466         * gst-libs/gst/vaapi/gstvaapivalue.c:
13467           libs: initialize GValues in a thread-safe manner.
13468
13469 2015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13470
13471         * gst-libs/gst/vaapi/gstvaapivalue.c:
13472           libs: re-indent all GValue related source code.
13473
13474 2015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13475
13476         * gst/vaapi/gstvaapidecode.c:
13477           vaapidecode: partially revert 0777f35.
13478           Reset the VA decoder after updating the base plugin caps, and most
13479           importantly, after GstVideoDecoder negotiation. The reason behind
13480           this is that the negotiation could trigger a last decide_allocation()
13481           where we could actually derive a new GstVaapiDisplay to use from the
13482           downstream element. e.g. GLX backend.
13483
13484 2015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13485
13486         * gst/vaapi/gstvaapidecode.c:
13487           vaapidecode: Caps query should return the list of all supported caps.
13488           Query caps filtering should be always done on top of allowed caps instead
13489           of existing fixed caps on a particular pad.
13490           This fixes the mvc stream decoding when there is a base view(high profile)
13491           and non-base view(stereo-high profile).
13492
13493 2015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13494
13495         * gst/vaapi/gstvaapidecode.c:
13496           vaapidecode: intersect filter from query caps
13497           According to documentation[1] when receiving a GST_QUERY_CAPS
13498           the return value should be all formats that this elements supports,
13499           taking into account limitations of peer elements further downstream
13500           or upstream, sorted by order of preference, highest preference first.
13501           This patch add those limitations intersecting with the received
13502           filter in the query. Also takes into account the already negotiated
13503           caps. Also adds the processing of the query on the SRC pad.
13504           1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
13505           https://bugzilla.gnome.org/show_bug.cgi?id=744406
13506
13507 2015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13508
13509         * gst-libs/gst/vaapi/Makefile.am:
13510         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13511         * gst-libs/gst/vaapi/gstvaapidecoder.c:
13512         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13513         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13514         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
13515         * gst/vaapi/gstvaapivideomemory.c:
13516           Fix compiler warnings
13517           This patch fixes some warnings that gcc 4.9 reports.
13518           https://bugzilla.gnome.org/show_bug.cgi?id=744411
13519
13520 2015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13521
13522         * gst/vaapi/gstvaapidecode.c:
13523           vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
13524           Hence the function name is shown in the gst-inspect-1.0 information
13525           rather than the memory address.
13526           https://bugzilla.gnome.org/show_bug.cgi?id=744330
13527
13528 2015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13529
13530         * gst/vaapi/gstvaapidecode.c:
13531           vaapidecode: log flow error name
13532           https://bugzilla.gnome.org/show_bug.cgi?id=744387
13533
13534 2015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
13535
13536         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13537           VC1: decoder: Ignore VC1 user BDU's
13538           Don't return error if the processed BDU is a user one, just ignore them.
13539           https://bugzilla.gnome.org/show_bug.cgi?id=741237
13540           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13541
13542 2015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
13543
13544         * gst/vaapi/gstvaapidecode.c:
13545         * gst/vaapi/gstvaapipluginbase.c:
13546           vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
13547           This is required in GStreamer, elements should never return
13548           GST_FLOW_ERROR without posting an ERROR message on the bus.
13549           https://bugzilla.gnome.org/show_bug.cgi?id=744620
13550
13551 2015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13552
13553         * gst/vaapi/Makefile.am:
13554         * gst/vaapi/gstvaapi.c:
13555         * gst/vaapi/gstvaapiencode_vp8.c:
13556         * gst/vaapi/gstvaapiencode_vp8.h:
13557           plugins: Add VP8 Encoder
13558
13559 2015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13560
13561         * gst-libs/gst/vaapi/Makefile.am:
13562         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
13563         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
13564           Add VP8 Encoder to core libgstvaapi.
13565
13566 2015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13567
13568         * configure.ac:
13569           configure: Add Check for VP8 Encoding API
13570
13571 2015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
13572
13573         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13574           decoder: vc1: Rounding control handling for VC1 simple and Main profile
13575           Added rounding control handling for VC1 simple and Main profile
13576           based on VC1 standard spec: section 8.3.7
13577           https://bugzilla.gnome.org/show_bug.cgi?id=743958
13578           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
13579           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13580
13581 2015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13582
13583         * gst/vaapi/Makefile.am:
13584           build: fix make dist when certain conditionals not met.
13585           Fix typo which was preventing the inclusion of jpeg encoder
13586           source files from make dist (when there is no jpeg encoder
13587           API support in libva).
13588
13589 2015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13590
13591         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
13592           encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
13593           If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
13594           use native YUV420 format (which is i420) as default.
13595
13596 2015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13597
13598         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13599           encoder: Only support YUV420 native format as input for now
13600           Practically we should be able to support more formats, for eg:
13601           JPEG Encoder can support YUV422, RGBA and all.
13602           But this is causing more issues which need proper fix here and there.
13603
13604 2015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
13605
13606         * gst-libs/gst/vaapi/gstvaapidecoder.h:
13607         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
13608         * gst/vaapi/gstvaapidecode.c:
13609           vaapidecode: Check the condition after taking the lock
13610           Otherwise the condition could become true before the lock
13611           is taken and the g_cond_signal() could be called
13612           before the g_cond_wait(), so the g_cond_wait() is never
13613           awoken.
13614           https://bugzilla.gnome.org/show_bug.cgi?id=740645
13615
13616 2015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13617
13618         * gst/vaapi/Makefile.am:
13619         * gst/vaapi/gstvaapi.c:
13620         * gst/vaapi/gstvaapiencode_jpeg.c:
13621         * gst/vaapi/gstvaapiencode_jpeg.h:
13622           plugins: Add JPEG encoder element
13623
13624 2015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13625
13626         * gst-libs/gst/vaapi/gstvaapicontext.c:
13627           gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
13628
13629 2015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13630
13631         * gst-libs/gst/vaapi/gstvaapicontext.c:
13632           gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
13633           Don't add the VAConfigAttribRateControl to the attribute list using
13634           for the vaCreateConfig if it is not supported by the driver.
13635
13636 2015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13637
13638         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13639           gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
13640
13641 2015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13642
13643         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13644           gstvaapiencoder: Fix crash when handling rate control mask
13645           Having a ratecontrol_mask equal to zero is not a bug, but the driver
13646           might not be supporting any kind of rate control mechanisms.
13647           Eg: JPEG Encoding
13648
13649 2015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13650
13651         * gst-libs/gst/vaapi/Makefile.am:
13652         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
13653         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
13654           encoder: Add JPEG Encoder
13655
13656 2015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13657
13658         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
13659         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
13660           encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
13661
13662 2015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13663
13664         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13665         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13666         * gst-libs/gst/vaapi/gstvaapiprofile.c:
13667         * gst-libs/gst/vaapi/gstvaapiprofile.h:
13668           Encode: Add support for Picture level Entrypoint
13669           This is useful for JPEG encoding which is utilizing picture level
13670           entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
13671
13672 2015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13673
13674         * configure.ac:
13675           configure: Add Check for JPEG encoding API
13676
13677 2015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13678
13679         * AUTHORS:
13680           AUTHORS: Updates
13681
13682 2015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13683
13684         * configure.ac:
13685           Bump version for development.
13686
13687 === release 0.5.10 ===
13688
13689 2015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13690
13691         * configure.ac:
13692           0.5.10
13693
13694 2015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13695
13696         * NEWS:
13697           NEWS: Updates
13698
13699 2015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13700
13701         * gst/vaapi/gstvaapivideometa_texture.c:
13702           Fix compilation error if there is no GL/gl.h header file installed
13703
13704 2015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13705
13706         * gst/vaapi/gstvaapivideomemory.h:
13707           plugins: drop leftover declaration.
13708           GstVaapiVideoMemory quark is not needed any more, and the actual
13709           implementation was already removed bfore the merge. i.e. this is
13710           an oversight for a hunk that was not meant to be pushed.
13711
13712 2015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13713
13714         * gst/vaapi/gstvaapipluginbase.c:
13715         * gst/vaapi/gstvaapivideobufferpool.c:
13716         * gst/vaapi/gstvaapivideobufferpool.h:
13717         * gst/vaapi/gstvaapivideomemory.c:
13718         * gst/vaapi/gstvaapivideomemory.h:
13719           plugins: add support for dma_buf exports (v4l2src).
13720           Allow v4l2src element to connected to vaapipostproc or vaapisink when
13721           "io-mode" is set to "dmabuf-import". In practice, this is a more likely
13722           operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
13723           to "dmabuf" could work, but with more demanding driver or kernel reqs.
13724           Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
13725           with --without-libv4l2.
13726           https://bugzilla.gnome.org/show_bug.cgi?id=743635
13727
13728 2014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
13729
13730         * configure.ac:
13731         * gst/vaapi/Makefile.am:
13732         * gst/vaapi/gstvaapipluginbase.c:
13733           plugins: add support for dma_buf imports.
13734           Allow imports of v4l2 buffers into VA surfaces for further operation
13735           with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
13736           https://bugzilla.gnome.org/show_bug.cgi?id=735362
13737           [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
13738           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13739
13740 2014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13741
13742         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13743         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13744           surface: add support for GEM buffer imports.
13745           Add support for GEM buffer imports. This is useful for VA/EGL interop
13746           with legacy Mesa implementations, or when it is desired or required to
13747           support outbound textures for instance.
13748           https://bugzilla.gnome.org/show_bug.cgi?id=736718
13749
13750 2014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13751
13752         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13753         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13754           surface: add support for dma_buf imports.
13755           Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
13756           to allow for creating VA surfaces from a foreign DRM PRIME fd. The
13757           resulting VA surface owns the supplied buffer handle.
13758           https://bugzilla.gnome.org/show_bug.cgi?id=735362
13759
13760 2015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13761
13762         * gst-libs/gst/vaapi/gstvaapisurface.c:
13763         * gst-libs/gst/vaapi/gstvaapisurface.h:
13764         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
13765           surface: add initial support for foreign buffer imports.
13766           Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
13767           create a VA surface from an external buffer provided throug the
13768           new GstVaapiBufferProxy object.
13769
13770 2014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13771
13772         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13773         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
13774         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13775         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13776           surface: add support for GEM buffer exports.
13777           Add support for GEM buffer exports. This will only work with VA drivers
13778           based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
13779           to support interop with EGL and the "Desktop" GL specification. Indeed,
13780           the EXT_image_dma_buf_import extension is not going to be supported in
13781           Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
13782           there.
13783           This is useful for implementing VA/EGL interop with legacy Mesa stacks,
13784           in Desktop OpenGL context.
13785           https://bugzilla.gnome.org/show_bug.cgi?id=736717
13786
13787 2014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13788
13789         * gst-libs/gst/vaapi/Makefile.am:
13790         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13791         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
13792         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
13793         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
13794           surface: add support for dma_buf exports.
13795           Use the new VA buffer export APIs to allow for a VA surface to be
13796           exposed as a plain PRIME fd. This is in view to simplifying interop
13797           with EGL or OpenCL for instance.
13798           https://bugzilla.gnome.org/show_bug.cgi?id=735364
13799
13800 2014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13801
13802         * gst-libs/gst/vaapi/Makefile.am:
13803         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13804         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
13805         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
13806           Add abstraction for exported VA buffers.
13807           The VA buffer export APIs work for a particular lifetime starting from
13808           vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
13809           it could be much more convenient to support implicit releases by simply
13810           having a refcount reaching zero.
13811           https://bugzilla.gnome.org/show_bug.cgi?id=736721
13812
13813 2015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13814
13815         * gst-libs/gst/vaapi/Makefile.am:
13816           Add missing header file to Makefile
13817           Add gstvaapitexture_glx.h to Makefile.am
13818
13819 2015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13820
13821         * gst-libs/gst/vaapi/gstvaapicontext.c:
13822         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
13823         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
13824         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
13825         * gst/vaapi/gstvaapipostproc.c:
13826         * gst/vaapi/gstvaapiuploader.c:
13827         * gst/vaapi/gstvaapivideobufferpool.c:
13828         * gst/vaapi/gstvaapivideomemory.c:
13829         * gst/vaapi/gstvaapivideomemory.h:
13830         * tests/test-surfaces.c:
13831           videopool: add optional flags for surface pool allocation.
13832           Reword surface pool allocation helpers so that to allow for a simple
13833           form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
13834           somewhat more elaborated/flexible form with optional allocation flags
13835           and precise GstVideoInfo specification.
13836           This is an API/ABI change, and SONAME version needs to be bumped.
13837
13838 2015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13839
13840         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
13841         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
13842         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
13843         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
13844         * gst-libs/gst/vaapi/gstvaapivideopool.c:
13845         * gst-libs/gst/vaapi/gstvaapivideopool.h:
13846         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
13847           videopool: re-indent all GstVaapiVideoPool related source code.
13848
13849 2014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13850
13851         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13852         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13853           window: add toplevel display indirection for visualid and colormap.
13854           Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
13855           the best suitable window visual id and colormap. This is an indirection in
13856           view to supporting EGL and custom/generic replacements.
13857
13858 2014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13859
13860         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
13861         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
13862         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13863         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
13864           window: add toplevel API to determine the colormap.
13865           Add GstVaapiWindowClass::get_colormap() hook to help determine the
13866           currently active colormap bound to the supplied window, or actually
13867           create it if it does not already exist yet.
13868
13869 2014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13870
13871         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
13872         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
13873         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
13874         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
13875         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13876         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
13877           window: add toplevel API to determine a visual id.
13878           Add GstVaapiWindowClass::get_visual_id() function hook to help find
13879           the best suitable visual id for the supplied window. While doing so,
13880           also simplify the process by which an X11 window is created with a
13881           desired Visual, i.e. now use a visual id instead of a Visual object.
13882
13883 2014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13884
13885         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
13886         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
13887         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13888         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
13889         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
13890         * gst-libs/gst/vaapi/gstvaapiwindow.c:
13891         * gst-libs/gst/vaapi/gstvaapiwindow.h:
13892         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
13893         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
13894         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
13895         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
13896         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13897           window: add generic helper to create windows.
13898           Add a new generic helper function gst_vaapi_window_new() to create
13899           a window without having the caller to check for the display type
13900           himself. i.e. internally, there is now a GstVaapiDisplayClass hook
13901           to create windows, and the actual backend implementation fills it in.
13902           Add new generic helper functions gst_vaapi_texture_new_wrapped()
13903           This is a simplification in view to supporting EGL.
13904
13905 2014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13906
13907         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13908         * gst-libs/gst/vaapi/gstvaapidisplay.h:
13909         * gst-libs/gst/vaapi/gstvaapitexture.c:
13910         * gst/vaapi/gstvaapivideometa_texture.c:
13911           display: add utility function to check for OpenGL rendering.
13912           Add gst_vaapi_display_has_opengl() helper function to help determining
13913           whether the display can support OpenGL context to be bound to it, i.e.
13914           if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
13915
13916 2014-12-10 18:02:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13917
13918         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13919         * gst-libs/gst/vaapi/gstvaapidisplay.h:
13920         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
13921         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
13922         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
13923         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
13924         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13925         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
13926         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
13927         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
13928         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
13929         * gst/vaapi/gstvaapipluginutil.c:
13930         * gst/vaapi/gstvaapivideobuffer.c:
13931         * gst/vaapi/gstvaapivideometa_texture.c:
13932           display: refine the meaning of display type.
13933           Make gst_vaapi_display_get_display_type() return the actual VA display
13934           type. Conversely, add a gst_vaapi_display_get_class_type() function to
13935           return the type of the GstVaapiDisplay instance. The former is used to
13936           identify the display server onto which the application is running, and
13937           the latter to identify the original object class.
13938
13939 2014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13940
13941         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13942         * gst-libs/gst/vaapi/gstvaapidisplay.h:
13943         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
13944         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13945         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
13946         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
13947           display: cosmetics (helper macros, new internal API names).
13948           Add more helper macros to the top-level GstVaapiDisplay interfaces.
13949           Rename a few others used internally for improved consistency.
13950
13951 2014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13952
13953         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13954         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13955         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
13956         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
13957         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13958         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
13959         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
13960         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13961           display: record native display object.
13962           Record the underlying native display instance into the toplevel
13963           GstVaapiDisplay object. This is useful for fast lookups to the
13964           underlying native display, e.g. for creating an EGL display.
13965
13966 2014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13967
13968         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13969         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
13970         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
13971           display: use a recursive mutex for the display cache.
13972           Use a recursive mutex for the display cache so that a 3rdparty display
13973           object could be initialized during the initialization of the parent
13974           display.
13975
13976 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13977
13978         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
13979         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13980         * gst-libs/gst/vaapi/gstvaapitexture.c:
13981         * gst-libs/gst/vaapi/gstvaapitexture.h:
13982         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13983         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
13984           texture: add generic helper to create textures.
13985           Add new generic helper functions gst_vaapi_texture_new_wrapped()
13986           and gst_vaapi_texture_new() to create a texture without having
13987           the caller to uselessly check for the display type himself. i.e.
13988           internally, there is now a GstVaapiDisplayClass hook to create
13989           textures, and the actual backend implementation fills it in.
13990           This is a simplification in view to supporting EGL.
13991
13992 2014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13993
13994         * gst-libs/gst/vaapi/Makefile.am:
13995         * gst-libs/gst/vaapi/gstvaapitexture.c:
13996         * gst-libs/gst/vaapi/gstvaapitexture.h:
13997         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13998         * gst-libs/gst/vaapi/gstvaapitexture_glx.h:
13999         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
14000         * gst/vaapi/gstvaapivideoconverter_glx.c:
14001         * gst/vaapi/gstvaapivideometa_texture.c:
14002         * tests/test-textures.c:
14003           texture: move to core libgstvaapi base library.
14004           GstVaapiTexture is a generic abstraction that could be moved to the
14005           core libgstvaapi library. While doing this, no extra dependency needs
14006           to be added. This means that a GstVaapitextureClass is now available
14007           for any specific code that needs to be added, e.g. creation of the
14008           underlying GL texture objects, or backend dependent ways to upload
14009           a surface to the texture object.
14010           Generic OpenGL data types (GLuint, GLenum) are also replaced with a
14011           plain guint.
14012           https://bugzilla.gnome.org/show_bug.cgi?id=736715
14013
14014 2014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14015
14016         * configure.ac:
14017         * gst-libs/gst/vaapi/Makefile.am:
14018         * gst-libs/gst/vaapi/gstvaapicompat.h:
14019         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
14020         * gst-libs/gst/vaapi/gstvaapitexture.c:
14021           texture: drop support for VA/GLX interfaces.
14022           The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
14023           ease of use, but they had other caveats to deal with. It's now better
14024           to move on to legacy mode, whereby VA/GLX interop is two be provided
14025           through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
14026           https://bugzilla.gnome.org/show_bug.cgi?id=736711
14027
14028 2014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14029
14030         * gst-libs/gst/vaapi/gstvaapitexture.c:
14031         * gst-libs/gst/vaapi/gstvaapitexture.h:
14032         * gst/vaapi/gstvaapivideoconverter_glx.c:
14033         * gst/vaapi/gstvaapivideometa_texture.c:
14034         * tests/test-textures.c:
14035           texture: add support for cropping rectangle during transfer.
14036           The gst_vaapi_texture_put_surface() function is missing a crop_rect
14037           argument that would be used during transfer for cropping the source
14038           surface to the desired dimensions.
14039           Note: from a user point-of-view, he should create the GstVaapiTexture
14040           object with the cropped size. That's the default behaviour in software
14041           decoding pipelines that we need to cope with.
14042           This is an API/ABI change, and SONAME version needs to be bumped.
14043           https://bugzilla.gnome.org/show_bug.cgi?id=736712
14044
14045 2014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14046
14047         * gst-libs/gst/vaapi/gstvaapitexture.c:
14048         * gst-libs/gst/vaapi/gstvaapitexture.h:
14049           texture: re-indent all GstVaapiTexture related source code.
14050
14051 2015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14052
14053         * gst-libs/gst/vaapi/gstvaapisurface.c:
14054         * gst-libs/gst/vaapi/gstvaapisurface.h:
14055           surface: add more fine-grained allocation helper.
14056           Add new gst_vaapi_surface_new_full() helper function that allocates
14057           VA surface from a GstVideoInfo template in argument. Additional flags
14058           may include ways to
14059           - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
14060           - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
14061           - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
14062
14063 2014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14064
14065         * gst-libs/gst/vaapi/gstvaapisurface.c:
14066         * gst-libs/gst/vaapi/gstvaapisurface.h:
14067         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
14068           surface: re-indent all GstVaapiSurface related source code.
14069
14070 2015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14071
14072         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
14073         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
14074           surfaceproxy: add helper to create a wrapped surface object.
14075           Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
14076           a proxy. The main use case for that is to convey additional information
14077           at the proxy level that would not be suitable to the plain surface.
14078
14079 2015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14080
14081         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
14082         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
14083         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
14084           surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
14085
14086 2015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14087
14088         * configure.ac:
14089           libs: bump library major version.
14090
14091 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14092
14093         * gst-libs/gst/vaapi/gstvaapitypes.h:
14094           libs: re-introduce a GST_VAAPI_ID_INVALID value.
14095           Re-introduce a GST_VAAPI_ID_INVALID value that represents
14096           a non-zero and invalid id. This is useful to have a value
14097           that is still invalid for cases where zero could actually
14098           be a valid value.
14099
14100 2014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14101
14102         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
14103         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
14104           libs: expose GstVaapiMiniObject APIs to all backends.
14105           Make it possible to have all libgstvaapi backends (libs) access to a
14106           common GstVaapiMiniObject API and implementation. This is a minor step
14107           towards full exposure when needed, but restrict it to libgstvaapi at
14108           this time.
14109
14110 2014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14111
14112         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
14113         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
14114         * gst-libs/gst/vaapi/gstvaapiobject.c:
14115         * gst-libs/gst/vaapi/gstvaapiobject.h:
14116         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
14117           libs: re-indent all GstVaapiObject related source code.
14118           Re-indent and provide additional minor cosmetical changes to the
14119           GstVaapiMiniObject and GstVaapiObject source files.
14120
14121 2015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14122
14123         * gst/vaapi/gstvaapipluginutil.c:
14124           pluginutil: Fix clearing of subtitle overlay
14125           dvbsuboverlay signals no subtitles present by not setting
14126           GstVideoOverlayCompositionMeta on a buffer.
14127           Detect this, and remove subtitles whenever we have no overlay composition to
14128           hand.
14129           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14130
14131 2015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
14132
14133         * gst/vaapi/gstvaapipostproc.c:
14134           vaapipostproc: clear state on stop
14135           Otherwise restarting may fail because the state of vaapipluginbase and
14136           vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
14137           initailization and not call gst_vaapi_plugin_base_set_caps()
14138
14139 2015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
14140
14141         * gst/vaapi/gstvaapidecode.c:
14142           vaapidecode: don't print an error message for GST_FLOW_FLUSHING
14143
14144 2015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14145
14146         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14147           gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
14148           Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
14149           since the vaaapi context creation (gstvaapicontext.c) can still use the
14150           default chroma type which is YUV420.
14151           https://bugzilla.gnome.org/show_bug.cgi?id=743567
14152           https://bugzilla.gnome.org/show_bug.cgi?id=743035
14153
14154 2015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14155
14156         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
14157         * patches/videoparsers/series.frag:
14158           h264parse: drop patches merged upstream.
14159           0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
14160
14161 2015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14162
14163         * ext/codecparsers:
14164           codecparsers: update to gst-vaapi-branch commit d3b5c1b
14165           8194cac: h264parse: parse SPS subset
14166           64b7f52: h264parse: expose stereo-high profile
14167           774360a: h264parse: add initial support for MVC NAL units
14168           258478f: h264parser: fix stack smashing
14169
14170 2015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14171
14172         * gst/vaapi/gstvaapivideometa_texture.c:
14173           Fix compilation error if there is no GL/gl.h header file installed
14174
14175 2015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14176
14177         * gst/vaapi/gstvaapidecode.c:
14178           vaapidecode: commit updated srcpad caps to base plugin.
14179           Make sure that the GstVaapiPluginBase instance receives the new src
14180           pad caps whenever they get updated from within the GstVaapiDecoder
14181           decode routines.
14182           This also ensures that downstream elements receive correctly sized
14183           SW decoded buffers if needed.
14184           https://bugs.tizen.org/jira/browse/TC-114
14185
14186 2015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14187
14188         * gst/vaapi/gstvaapidecode.c:
14189           vaapidecode: always reset decoder on ::set_format().
14190           Split GstVideoDecoder::set_format() handler to first update the sink
14191           pad caps and reset the active VA decoder instance based on those, and
14192           then update the src pad caps whenever possible, e.g. when the caps
14193           specify a valid video resolution.
14194
14195 2015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14196
14197         * gst/vaapi/gstvaapivideomemory.c:
14198           vaapivideomemory: don't crash when trying to allocate 0x0 images.
14199           In some occasions, a buffer pool is created for pre-initialization
14200           purposes regardless of whether a valid image size is available or
14201           not. However, during actual decode stage, the vaapidecode element
14202           is expected to update the srcpad caps with the new dimensions, thus
14203           also triggering a reset of the underlying bufferpool.
14204
14205 2015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14206
14207         * ext/codecparsers:
14208           codecparsers: update to gst-vaapi-branch commit 191cb2f
14209           347605a: h264parse: expose compatible profiles to downstream
14210           d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
14211           24a3126: Revert "h264parse: expose compatible profiles to downstream"
14212           8661740: h264parse: expose compatible profiles to downstream
14213           8b7ef3f: codecparsers: fix some compiler warnings
14214
14215 2014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14216
14217         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14218           encoder: h264: Fix the period between I/P frames
14219           If the key-frame period is set as one, then ip_period shuld be zero
14220           https://bugzilla.gnome.org/show_bug.cgi?id=734992
14221
14222 2014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14223
14224         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14225           encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
14226           https://bugzilla.gnome.org/show_bug.cgi?id=734993
14227
14228 2014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14229
14230         * gst/vaapi/gstvaapisink.c:
14231           vaapisink: Protect the X11 API invokations with proper locking
14232           https://bugzilla.gnome.org/show_bug.cgi?id=739808
14233
14234 2014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14235
14236         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14237           encoder: h264: fix pixel-aspect-ratio in encoded stream.
14238           Really report sample aspect ratio (SAR) as present, and make it match
14239           what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
14240           really make sure VUI parameter aspect_ratio_info_present_flag is set
14241           to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
14242           This is a leftover from git commit a12662f.
14243           https://bugzilla.gnome.org/show_bug.cgi?id=740360
14244
14245 2014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14246
14247         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14248           decoder: mpeg4: fix uninitialized variables.
14249           Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
14250           GST_MPEG4_USER_DATA so that a parse error would result in skipping
14251           that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
14252           initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
14253
14254 2014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14255
14256         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14257           encoder: h264: fix profile limits.
14258           Fix ensure_profile_limits() to lower profile to the desired limits,
14259           only if the latter are actually known and the profile needed to be
14260           changed to fit.
14261
14262 2014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14263
14264         * gst/vaapi/gstvaapipostproc.c:
14265           vaapipostproc: fix out caps for GLMemory.
14266           If the best downstream capsfeature turns out to be GLMemory, then make
14267           sure to propagate RGBA video format in caps to that element. This fixes
14268           the following pipeline: ... ! vaapipostproc ! glimagesink.
14269
14270 2014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14271
14272         * gst/vaapi/gstvaapipostproc.c:
14273           vaapipostproc: fix check for compatible src pad capsfilters.
14274           When an explicit output video format is selected, from an src pad
14275           capsfilter, make sure that the downstream element actually supports
14276           that format. In particular, fix crash with the following pipelines:
14277           ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
14278           XXX is a format not supported by xvimagesink.
14279           While doing so, also reduce the set of src pad filter caps to the
14280           actual set of allowed src pad caps.
14281
14282 2014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14283
14284         * gst/vaapi/gstvaapipostproc.c:
14285         * gst/vaapi/gstvaapipostproc.h:
14286         * gst/vaapi/gstvaapiuploader.c:
14287         * gst/vaapi/gstvaapiuploader.h:
14288           plugins: re-indent all video processing related source code.
14289
14290 2014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14291
14292         * gst/vaapi/gstvaapivideomemory.c:
14293           plugins: further fixes to the new "current" storage tracker.
14294           The ensure_surface() and ensure_image() functions shall only relate
14295           to the underlying backing store. The actual current flags are to be
14296           updated only through ensure_{surface,image}_is_current() or very other
14297           particular cases in GstMemory hooks.
14298
14299 2014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14300
14301         * gst/vaapi/gstvaapivideomemory.c:
14302           plugins: fix "current" video memory flags.
14303           If the surface proxy is updated into the GstVaapiVideoMemory, then
14304           it is assumed it is the most current representation of the current
14305           video frame. Likewise, make a few more arrangements to have the
14306           "current " flags set more consistently.
14307
14308 2014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14309
14310         * gst/vaapi/gstvaapivideomemory.c:
14311         * gst/vaapi/gstvaapivideomemory.h:
14312         * gst/vaapi/gstvaapivideometa.c:
14313           plugins: ensure VA surface is current prior to using it.
14314           When interacting with SW elements, the buffers and underlying video
14315           memory could be mapped as read/write. However, we need to use those
14316           buffers again as plain VA surfaces, we have to make sure the VA image
14317           is thus committed back to VA surface memory.
14318           This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
14319
14320 2013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
14321
14322         * gst/vaapi/gstvaapivideomemory.c:
14323           plugins: enable memory maps for read & write.
14324           Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
14325           buffers can be further processed in-place, e.g. with a textoverlay.
14326           https://bugzilla.gnome.org/show_bug.cgi?id=704078
14327           [ported to current git master branch, amended commit message]
14328           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14329
14330 2014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14331
14332         * gst/vaapi/gstvaapidecode.c:
14333         * gst/vaapi/gstvaapipluginutil.c:
14334         * gst/vaapi/gstvaapipluginutil.h:
14335         * gst/vaapi/gstvaapipostproc.c:
14336           plugins: preserve framerate when updating src caps video format.
14337           In the current implementation, gst_video_info_set_format() would reset
14338           the whole GstVideoInfo structure first, prior to setting video format
14339           and size. So, coleteral information like framerate or pixel-aspect-
14340           ratio are lost.
14341           Provide and use a unique gst_video_info_change_format() for overcome
14342           this issue, i.e. only have it change the format and video size, and
14343           copy over the rest of the fields.
14344           https://bugzilla.gnome.org/show_bug.cgi?id=734665
14345
14346 2014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14347
14348         * gst/vaapi/gstvaapi.c:
14349           vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
14350           This is for helping decodebin to autoplug the vaapidecode element.
14351           Decodebin is selecting decoder elements only based on rank and caps.
14352           Without overriding the autoplug-* signals there is no way to autoplug
14353           HW decoders inside decodebin. An easier soulution is to raise the
14354           rank of vaapidecode, so that it gets selected first.
14355           https://bugzilla.gnome.org/show_bug.cgi?id=739332
14356
14357 2014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14358
14359         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14360         * gst/vaapi/gstvaapidecode.c:
14361           vaapidecode: only expose supported profiles when needed.
14362           JPEG and VP8 codecs do not really support the concept of "profile". So,
14363           don't try to expose any set that wouldn't be supported by jpegparse, or
14364           ivfparse for instance.
14365           https://bugzilla.gnome.org/show_bug.cgi?id=739713
14366           https://bugzilla.gnome.org/show_bug.cgi?id=739714
14367
14368 2014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14369
14370         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14371         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14372         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14373         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
14374           decoder: h264: add initial support for repeat-first-field (RFF) flag.
14375           Use the SEI pic_timing() message to track and propagate down the repeat
14376           first field (RFF) flag. This is only initial support as there is one
14377           other condition that could induce the RFF flag, which is not handled
14378           yet.
14379
14380 2014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14381
14382         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14383           decoder: h264: fix picture ordering count type 0 with previous MMCO5.
14384           Fix the decoding process for picture order count type 0 when the previous
14385           picture had a memory_management_control_operation = 5. In particular, fix
14386           the actual variable type for prev_pic_structure to hold the full bits of
14387           the picture structure.
14388           In practice, this used to work though, due to the underlying type used to
14389           express a gboolean.
14390
14391 2014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14392
14393         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14394           decoder: h264: fix detection of top-field-first (TFF) flag.
14395           Use the SEI pic_timing() message to track the pic_struct variable when
14396           present, or infer it from the regular slice header flags field_pic_flag
14397           and bottom_field_flag. This fixes temporal sequence ordering when the
14398           output pictures are to be displayed.
14399           https://bugzilla.gnome.org/show_bug.cgi?id=739291
14400
14401 2014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14402
14403         * ext/codecparsers:
14404           codecparsers: update to gst-vaapi-branch commit 3d05d9f.
14405           1241840 h264: fix derivation of MaxPicNum variable
14406           3bd718e h264: fix GstH264ParserResult documentation typo
14407           b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
14408           b08e4be h264parse: don't unnecesarily set src_caps
14409
14410 2014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14411
14412         * gst/vaapi/gstvaapipostproc.c:
14413           vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
14414           Added the same Klass specifications used in other upstream
14415           video postprocessing elements like videoconvert, videoscale,
14416           videobalance and deinterlace.
14417           An example use case is for this is to help the playsink
14418           to autoplug the hardware accelerated deinterlacer.
14419
14420 2014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14421
14422         * gst/vaapi/gstvaapipostproc.c:
14423           vaapipostproc: Tweak the output video format setting to enable the autoplugging
14424           This is a workaround until auto-plugging is fixed when
14425           format=ENCODED + memory:VASurface caps feature are provided.
14426           Use the downstream negotiated video format as the output video format
14427           if the user didn't ask for the colorspace conversion explicitly.
14428           Usecase: This will help to connect elements like videoscale, videorate etc
14429           to vaapipostproc.
14430           https://bugzilla.gnome.org/show_bug.cgi?id=739443
14431
14432 2014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14433
14434         * gst/vaapi/gstvaapipostproc.c:
14435         * gst/vaapi/gstvaapipostproc.h:
14436           vaapipostproc: allow user defined scaling mode.
14437           Add new "scale-method" property to expose the scaling mode to use during
14438           video processing. Note that this is only a hint, and the actual behaviour
14439           may differ from implementation (VA driver) to implementation.
14440
14441 2014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14442
14443         * gst-libs/gst/vaapi/gstvaapifilter.c:
14444         * gst-libs/gst/vaapi/gstvaapifilter.h:
14445         * gst-libs/gst/vaapi/gstvaapiutils.c:
14446         * gst-libs/gst/vaapi/gstvaapiutils.h:
14447           filter: add initial support for high quality scaling.
14448           Add support for video scaling options in VPP pipelines. Only the
14449           DEFAULT mode is bound to exist. Others might be folded into that
14450           mode.
14451
14452 2014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14453
14454         * gst-libs/gst/vaapi/gstvaapifilter.c:
14455         * gst-libs/gst/vaapi/gstvaapifilter.h:
14456           filter: re-indent all GstVaapiFilter related source code.
14457
14458 2014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14459
14460         * ext/codecparsers:
14461           codecparsers: update to gst-vaapi-branch commit f9d3bde.
14462           2218b02 h264parse: expose parsed profile and level to downstream
14463           3dbfab4 h264parse: return flushing if we get chained while being set to READY
14464           d40fa8b h264: fix frame packing SEI parsing
14465           32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
14466           b3e022e h264: initialize some fields of pic_timing structure
14467           a70661d vc1: fix expected level in sequence-layer parsing unit test
14468           6cee88d vc1: fix level values for simple/main profile
14469           356c189 vc1: add unit test for sequence-layer parsing
14470           ab9f641 vc1: take care of endianness when parsing sequence-layer
14471           8dc8e35 mpeg4: fix vlc table used for sprite trajectory
14472
14473 2014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14474
14475         * gst/vaapi/gstvaapidecode.c:
14476           vaapidecode: Expose the supported profiles as caps to upstream
14477           This will allows the playbin to fallback to Software Decoder
14478           if the Hardware Decoder does not support a particular profile.
14479           https://bugzilla.gnome.org/show_bug.cgi?id=730997
14480
14481 2014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14482
14483         * gst/vaapi/gstvaapiencode.c:
14484         * gst/vaapi/gstvaapiencode.h:
14485         * gst/vaapi/gstvaapiencode_h264.c:
14486           encode: Attach the codec-data to out caps only based on negotiated caps
14487           Attach the codec_data to out_caps only if downstream needed.
14488           For eg: h264 encoder doesn't need to stuff codec_data to the
14489           src caps if the negotiated caps has a stream format of byte-stream.
14490           https://bugzilla.gnome.org/show_bug.cgi?id=734902
14491
14492 2014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14493
14494         * configure.ac:
14495           configure: echoing installation prefix path
14496
14497 2014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14498
14499         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
14500           display: add support for DRM Render-Nodes.
14501           Add support for DRM Render-Nodes. This is a new feature that appeared
14502           in kernel 3.12 for experimentation purposes, but was later declared
14503           stable enough in kernel 3.15 for getting enabled by default.
14504           This allows headless usages without authentication at all, i.e. usages
14505           through plain ssh connections is possible.
14506
14507 2014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14508
14509         * gst/vaapi/gstvaapisink.c:
14510           vaapisink: clean-ups (indentation, drop unused variables).
14511
14512 2014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14513
14514         * configure.ac:
14515         * gst/vaapi/gstvaapisink.c:
14516           vaapisink: fix GstNavigation "key-press" / "key-release" events.
14517           Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
14518           to a KeySym. In particular, there is no such Window argument. Also
14519           make sure to check for, and use, the correct <X11/XKBlib.h> header
14520           where that new function is defined. Otherwise, default to the older
14521           XKeycodeToKeysym() function.
14522
14523 2014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14524
14525         * gst/vaapi/gstvaapisink.c:
14526           vaapisink: fix GstNavigation "mouse-move" event.
14527           Really use the motion event coordinates to propagate the "mouse-move"
14528           event to upper layer, instead of those from a button event. Those are
14529           technically the same though.
14530
14531 2014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14532
14533         * gst/vaapi/gstvaapisink.c:
14534           vaapisink: implement the GstNavigation interface
14535           This is useful for things like DVD menus, where key/mouse events
14536           would need to be forwarded from the upstream sink element.
14537           https://bugzilla.gnome.org/show_bug.cgi?id=711479
14538
14539 2014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14540
14541         * gst/vaapi/gstvaapipluginbase.c:
14542           vaapipostproc: fix deinterlacing from non VA memory buffers.
14543           When we copy a buffer because we're moving it into VA-API memory, we
14544           need to copy flags. Otherwise, interlaced YUV buffers from a capture
14545           source (e.g. V4L2) don't get flagged as interlaced.
14546           https://bugzilla.gnome.org/show_bug.cgi?id=726270
14547           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14548           [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
14549           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14550
14551 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14552
14553         * gst/vaapi/gstvaapipostproc.c:
14554           vaapipostproc: add support for GLTextureUploadMeta output.
14555           This allows for vaapipostproc to be chained to the glimagesink element
14556           for instance.
14557           https://bugzilla.gnome.org/show_bug.cgi?id=735231
14558
14559 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14560
14561         * gst/vaapi/gstvaapipluginutil.c:
14562         * gst/vaapi/gstvaapipluginutil.h:
14563         * gst/vaapi/gstvaapipostproc.c:
14564           vaapipostproc: add support for "download" capability.
14565           Allow implicit conversions to raw video formats, while still keeping
14566           VA surfaces underneath. This allows for chaining the vaapipostproc
14567           element to a software-only element that takes care of maps/unmaps.
14568           e.g. xvimagesink.
14569           https://bugzilla.gnome.org/show_bug.cgi?id=720174
14570
14571 2014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14572
14573         * gst/vaapi/gstvaapipostproc.c:
14574         * gst/vaapi/gstvaapipostproc.h:
14575           vaapipostproc: use pooled vaapi video meta.
14576           Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
14577           video buffer allocation. Also optimize copy of additional metadata info
14578           into the resulting video buffer: only copy the video cropping info and
14579           the source surface proxy.
14580           https://bugzilla.gnome.org/show_bug.cgi?id=720311
14581           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14582           [fixed proxy leak, fixed double free on error, optimized meta copy]
14583           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14584
14585 2014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14586
14587         * gst/vaapi/gstvaapipostproc.c:
14588           vaapipostproc: fix passthrough mode.
14589           If no explicit output surface format is supplied try to keep the one
14590           supplied through the sink pad caps. This avoids a useless copy, even
14591           if things are kept in GPU memory.
14592           This is a performance regression from git commit dfa70b9.
14593
14594 2014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14595
14596         * gst/vaapi/gstvaapipostproc.c:
14597         * gst/vaapi/gstvaapipostproc.h:
14598           vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
14599           https://bugzilla.gnome.org/show_bug.cgi?id=720311
14600           [used new infrastructure through base decide_allocation() impl]
14601           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14602
14603 2014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14604
14605         * gst/vaapi/gstvaapipostproc.c:
14606           vaapipostproc: enable advanced deinterlacing with same format.
14607           If only advanced deinterlacing is requested, i.e. deinterlacing is
14608           the only active algorithm to apply with source and output surface
14609           formats being the same, then make sure to enable VPP processing.
14610           Otherwise, allow fallback to bob-deinterlacing with simple rendering
14611           flags alteration.
14612
14613 2014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14614
14615         * gst/vaapi/gstvaapivideomemory.c:
14616           vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
14617           https://bugzilla.gnome.org/show_bug.cgi?id=735156
14618
14619 2014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14620
14621         * gst/vaapi/gstvaapipluginbase.c:
14622         * gst/vaapi/gstvaapipluginutil.c:
14623           plugins: fix memory leaks.
14624
14625 2014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14626
14627         * gst/vaapi/gstvaapidecode.c:
14628         * gst/vaapi/gstvaapipluginbase.c:
14629         * gst/vaapi/gstvaapipluginbase.h:
14630           plugins: factor out decide_allocation() hook.
14631           Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
14632           feature argument can be used to force a bufferpool with a specific kind
14633           of memory.
14634
14635 2014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14636
14637         * gst/vaapi/gstvaapivideobufferpool.c:
14638         * gst/vaapi/gstvaapivideobufferpool.h:
14639         * gst/vaapi/gstvaapivideomemory.c:
14640           plugins: allow bufferpool to not allocate vaapi video meta.
14641           Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
14642           can be used to disable early allocations of vaapi video metas on buffers,
14643           thus delagating that to the bufferpool user.
14644
14645 2014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14646
14647         * gst/vaapi/gstvaapivideobuffer.c:
14648         * gst/vaapi/gstvaapivideobuffer.h:
14649         * gst/vaapi/gstvaapivideobufferpool.c:
14650         * gst/vaapi/gstvaapivideobufferpool.h:
14651         * gst/vaapi/gstvaapivideocontext.c:
14652         * gst/vaapi/gstvaapivideocontext.h:
14653         * gst/vaapi/gstvaapivideoconverter_glx.c:
14654         * gst/vaapi/gstvaapivideoconverter_glx.h:
14655         * gst/vaapi/gstvaapivideoconverter_x11.c:
14656         * gst/vaapi/gstvaapivideoconverter_x11.h:
14657         * gst/vaapi/gstvaapivideomemory.c:
14658         * gst/vaapi/gstvaapivideomemory.h:
14659         * gst/vaapi/gstvaapivideometa.c:
14660         * gst/vaapi/gstvaapivideometa.h:
14661         * gst/vaapi/gstvaapivideometa_texture.c:
14662         * gst/vaapi/gstvaapivideometa_texture.h:
14663           plugins: re-indent all GstVaapiVideo* related source code.
14664
14665 2014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14666
14667         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
14668           surfaceproxy: fix copy to propagate view_id.
14669           Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
14670           fixing random frames skipped when vaapipostproc element is used in
14671           passthrough mode. In that mode, GstMemory is copied, thus including
14672           the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
14673
14674 2014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14675
14676         * gst/vaapi/gstvaapipostproc.c:
14677           vaapipostproc: fix detection of output surface format changes.
14678           Default to I420 format for output surfaces so that to match the usual
14679           GStreamer pipelines. Though, internally, we could still opt for NV12
14680           surface formats, i.e. default format=ENCODED is a hint for that, thus
14681           delegating the decision to the VA driver.
14682
14683 2014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14684
14685         * gst/vaapi/gstvaapipostproc.c:
14686           vaapipostproc: fix construction of allowed sink pad caps.
14687           Fix construction of the set of caps allowed on the sink pad to filter
14688           out unsupported raw video caps with GStreamer >= 1.2.
14689
14690 2014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14691
14692         * gst/vaapi/gstvaapipostproc.c:
14693         * gst/vaapi/gstvaapipostproc.h:
14694           vaapipostproc: improve heuristics for detecting native VA surfaces.
14695           Use the new gst_caps_has_vaapi_surface() helper function to detect
14696           whether the sink pad caps contain native VA surfaces, or not, i.e.
14697           no raw video caps.
14698           Also rename is_raw_yuv to get_va_surfaces to make the variable more
14699           explicit as we just want a way to differentiate raw video caps from
14700           VA surfaces actually.
14701
14702 2014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14703
14704         * gst/vaapi/gstvaapipostproc.c:
14705           vaapipostproc: disable discontinuity detection code.
14706           The "discontinuity" tracking code, whereby lost frames are tentatively
14707           detected, is inoperant if the sink pad buffer timestamps are not right
14708           to begin with.
14709           This is a temporary workaround until the following bug is fixed:
14710           https://bugzilla.gnome.org/show_bug.cgi?id=734386
14711
14712 2014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14713
14714         * gst/vaapi/gstvaapipostproc.c:
14715           vaapipostproc: fix heuristic for detecting discontinuity.
14716           In order to make the discontinuity detection code useful, we need to
14717           detect the lost frames in the history as early as the previous frame.
14718           This is because some VA implementations only support one reference
14719           frame for advanced deinterlacing.
14720           In practice, turn the condition for detecting new frame that is beyond
14721           the previous frame from field_duration*2 to field_duration*3, i.e.
14722           nothing received for the past frame and a half because of possible
14723           rounding errors when calculating the field-duration either in this
14724           element (vaapipostproc), or from the upstream element (parser element).
14725           This is a regression introduced with commit faefd62.
14726           https://bugzilla.gnome.org/show_bug.cgi?id=734135
14727
14728 2014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14729
14730         * gst/vaapi/gstvaapipluginbase.c:
14731         * gst/vaapi/gstvaapipluginbase.h:
14732           plugins: fix detection of raw video caps.
14733           Use the new gst_caps_has_vaapi_surface() helper function to better
14734           detect raw video caps, and in particular those from RGB colorspace.
14735           https://bugzilla.gnome.org/show_bug.cgi?id=734665
14736
14737 2014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14738
14739         * gst/vaapi/gstvaapipluginutil.c:
14740         * gst/vaapi/gstvaapipluginutil.h:
14741           plugins: add helper for detecting VA surfaces in caps.
14742           Introduce new gst_caps_has_vaapi_surface() helper function to detect
14743           whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
14744           implies a check for memory:VASurface caps features, and format=ENCODED
14745           for earlier versions of GStreamer.
14746
14747 2014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
14748
14749         * gst/vaapi/gstvaapidecode.c:
14750           vaapidecode: start the decoder task again after finishing
14751           This allows the element to accept data again after draining without
14752           a hard reset or caps change happening in between.
14753           https://bugzilla.gnome.org/show_bug.cgi?id=734616
14754
14755 2014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
14756
14757         * gst/vaapi/gstvaapidecode.c:
14758           vaapidecode: unlock condition variables before shutting down the element
14759           Otherwise threads might wait for them, causing the shutdown of the element
14760           to deadlock on the streaming thread.
14761           https://bugzilla.gnome.org/show_bug.cgi?id=734616
14762
14763 2014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
14764
14765         * gst/vaapi/gstvaapidecode.c:
14766           vaapidecode: reset decoder_finish variable after stopping the decoder thread
14767           Otherwise the element is not usable again after draining/EOS.
14768           https://bugzilla.gnome.org/show_bug.cgi?id=734616
14769
14770 2014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
14771
14772         * gst/vaapi/gstvaapidecode.c:
14773           vaapidecode: don't try flushing the decoder instance if we didn't create one yet
14774           This otherwise results in unnecessary error messages.
14775           https://bugzilla.gnome.org/show_bug.cgi?id=734616
14776
14777 2014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14778
14779         * gst-libs/gst/vaapi/Makefile.am:
14780         * gst/vaapi/Makefile.am:
14781           build: fix with --no-undefined linker flags.
14782           https://bugzilla.gnome.org/show_bug.cgi?id=729352
14783
14784 2014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
14785
14786         * gst/vaapi/gstvaapisink.c:
14787         * gst/vaapi/gstvaapisink.h:
14788           vaapisink: add support for GstColorBalance interface.
14789           https://bugzilla.gnome.org/show_bug.cgi?id=722390
14790           [fixed channel names, simplified range factor, fixed memory leak]
14791           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14792
14793 2014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
14794
14795         * gst/vaapi/gstvaapisink.c:
14796         * gst/vaapi/gstvaapisink.h:
14797           vaapisink: add support for colorbalance adjustment.
14798           https://bugzilla.gnome.org/show_bug.cgi?id=722390
14799           [fixed and simplified tracking of colorbalance value changes]
14800           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14801
14802 2014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14803
14804         * gst/vaapi/gstvaapisink.c:
14805           vaapisink: improve installation of properties.
14806           Simplify the creation and installation process of properties, by first
14807           accumulating them into a g_properties[] array, and next calling into
14808           g_object_class_install_properties().
14809           Also add missing docs and flags to some properties.
14810
14811 2014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14812
14813         * gst/vaapi/gstvaapisink.c:
14814         * gst/vaapi/gstvaapisink.h:
14815           vaapisink: code clean-ups.
14816           Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
14817           helper macro and use it wherever we know the object is a GstBaseSink or
14818           any base class. Drop explicit initializers for values that have defaults
14819           set to zero.
14820
14821 2014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14822
14823         * gst/vaapi/gstvaapisink.c:
14824         * gst/vaapi/gstvaapisink.h:
14825           vaapisink: re-indent all GstVaapiSink related source code.
14826
14827 2014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14828
14829         * gst/vaapi/gstvaapisink.c:
14830         * gst/vaapi/gstvaapisink.h:
14831           vaapisink: introduce separate backends.
14832           Introduce new backends vtable so that to have clean separation between
14833           display dependent code and common base code. That's a "soft" separation,
14834           we don't really need dedicated objects.
14835           https://bugzilla.gnome.org/show_bug.cgi?id=722248
14836
14837 2014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14838
14839         * gst/vaapi/gstvaapisink.c:
14840         * gst/vaapi/gstvaapisink.h:
14841           vaapisink: drop unused "synchronous" mode.
14842           Support for X11 "synchronous" mode was never implemented, and was only
14843           to be useful for debugging. Drop that altogether, that's not going to
14844           be useful in practice.
14845           https://bugzilla.gnome.org/show_bug.cgi?id=733985
14846
14847 2014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14848
14849         * gst/vaapi/gstvaapisink.c:
14850         * gst/vaapi/gstvaapisink.h:
14851           vaapisink: drop unused variables.
14852           Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
14853           variables. They got merged into the GstVaapiPluginBase object.
14854
14855 2014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14856
14857         * gst/vaapi/gstvaapisink.c:
14858         * gst/vaapi/gstvaapisink.h:
14859           vaapisink: drop GLX rendering and fancy effects.
14860           Rendering with GLX in vaapisink is kind of useless nowadays, including
14861           OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
14862           deprecated in favor of EGL, or more direct buffer sharing with actual
14863           GL textures.
14864           Should testing of interop with GLX be needed, one could still be using
14865           the modern cluttersink or glimagesink elements.
14866           https://bugzilla.gnome.org/show_bug.cgi?id=733984
14867
14868 2013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
14869
14870         * gst/vaapi/gstvaapisink.c:
14871         * gst/vaapi/gstvaapisink.h:
14872           vaapisink: listen to window size changes on X11.
14873           Allow dynamic changes to the window, e.g. performed by the user, and
14874           make sure to refresh its contents, while preserving aspect ratio.
14875           In practice, Expose and ConfigureNotify events are tracked in X11
14876           display mode by default. This occurs in a separte event thread, and
14877           this is similar to what xvimagesink does. Any of those events will
14878           trigger a reconfiguration of the window "soft" size, subsequently
14879           the render-rect when necessary, and finally _expose() the result.
14880           The default of handle_events=true can be changed programatically via
14881           gst_x_overlay_handle_events().
14882           Thanks to Fabrice Bellet for rebasing the patch.
14883           https://bugzilla.gnome.org/show_bug.cgi?id=711478
14884           [dropped XInitThreads(), cleaned up the code a little]
14885           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14886
14887 2014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14888
14889         * gst/vaapi/gstvaapidecode.c:
14890           vaapidecode: decode and output all pending frames on normal EOS.
14891           The gst_vaapidecode_decode_loop() function is called within a separate
14892           task to fetch and output all frames that were decoded so far. So, if
14893           the decoder_loop_status is forcibly set to EOS when _finish() is called,
14894           then we are bound to exist the task without submitting the pending
14895           frames.
14896           If the downstream element error'ed out, then the gst_pad_push() would
14897           propagate up an error and so we will get it right for cutting off
14898           _finish() early in that case.
14899           This is a regression from 6003596.
14900           https://bugzilla.gnome.org/show_bug.cgi?id=733897
14901
14902 2014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14903
14904         * configure.ac:
14905           Bump version for development.
14906
14907 === release 0.5.9 ===
14908
14909 2014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14910
14911         * AUTHORS:
14912           AUTHORS: updates.
14913
14914 2014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14915
14916         * NEWS:
14917           NEWS: updates.
14918
14919 2014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
14920
14921         * gst/vaapi/gstvaapidecode.c:
14922           vaapidecode: properly return from decode loop on downstream errors.
14923           Fixes a hang/race on shutdown where _decode_loop() had already completed
14924           its execution and _finish() was waiting on a GCond for decode_loop()
14925           to complete.  Also fixes the possible race where _finish() is called
14926           but _decode_loop() endlessly returns before signalling completion
14927           iff the decoder instance returns GST_FLOW_OK.
14928           Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
14929           https://bugzilla.gnome.org/show_bug.cgi?id=733897
14930           [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
14931           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14932
14933 2014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14934
14935         * NEWS:
14936         * configure.ac:
14937           0.5.9.
14938
14939 2014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14940
14941         * gst/vaapi/gstvaapisink.c:
14942           vaapisink: fix GstVideoOverlay::expose() implementation.
14943           Now that we always track the currently active video buffer, it is
14944           not necessary to automatically increase its reference since this is
14945           implicitly performed in ::show_frame() through the get_input_buffer()
14946           helper from GstVaapiPluginBase class.
14947           This is a regression from a26df80.
14948
14949 2014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14950
14951         * gst/vaapi/gstvaapidecode.c:
14952         * gst/vaapi/gstvaapipluginutil.c:
14953           vaapidecode: simplify bufferpool configuration.
14954           Rework the logics behind the configuration of an adequate bufferpool,
14955           especially when OpenGL meta or additional capsfeatures are needed.
14956           Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
14957           and that is not system memory, is now selected by default.
14958
14959 2014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14960
14961         * gst/vaapi/gstvaapidecode.c:
14962           vaapidecode: fix auto-plugging of vaapisink element.
14963           Make sure to propagate memory:VASurface capsfeature to srcpad caps
14964           only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
14965           core currently miss additional patches available in 1.5-git (1.6).
14966           This is a temporary workaround.
14967
14968 2014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14969
14970         * configure.ac:
14971           configure: allow builds against GStreamer git (1.5.x).
14972           https://bugzilla.gnome.org/show_bug.cgi?id=733688
14973
14974 2014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14975
14976         * configure.ac:
14977           configure: fix build with GStreamer 1.4.0 release.
14978
14979 2014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14980
14981         * configure.ac:
14982         * debian.upstream/Makefile.am:
14983         * debian.upstream/control.in:
14984           debian: fix packaging for new naming scheme.
14985
14986 2014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14987
14988         * NEWS:
14989           NEWS: updates.
14990
14991 2014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14992
14993         * configure.ac:
14994           configure: mark support for GStreamer < 1.2 as deprecated.
14995           Supporting anything thing below GStreamer 1.2 is asking for trouble
14996           for keeping up with the required facilities to make efficient pipelines.
14997           Users are invited to upgrade to the very latest GStreamer 1.2.x release,
14998           at the minimum.
14999
15000 2014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15001
15002         * configure.ac:
15003           configure: mark support for GStreamer 0.10 as obsolete.
15004           Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
15005           and may actually be removed altogether for a future release. There is
15006           no real point to maintain a build for such an ancient GStreamer version
15007           that is not even supported upstream.
15008
15009 2014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15010
15011         * gst/vaapi/gstvaapisink.c:
15012         * gst/vaapi/gstvaapisink.h:
15013           vaapisink: allow a specific view component to be displayed.
15014           If a multiview stream is decoded, multiple view components are submitted
15015           as is downstream. It is the responsibility of the sink element to display
15016           the required view components. By default, always select the frame buffer
15017           that matches the view-id of the very first frame to be displayed.
15018           However, introduce a "view-id" property to allow the selection of a
15019           specific view component of interest to display.
15020
15021 2014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15022
15023         * gst/vaapi/gstvaapisink.c:
15024           vaapisink: always keep the last displayed buffer around.
15025           Always record the VA surface that is currently being rendered, no matter
15026           the fact we are using texturedblit or overlay. That's because in some
15027           occasions, we need to refresh or resize the displayed contents based on
15028           new events. e.g. user-resized window.
15029           Besides, it's simpler to track the last video buffer in GstVaapiSink than
15030           through the base sink "last-sample".
15031
15032 2014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15033
15034         * gst/vaapi/gstvaapipluginbase.c:
15035         * gst/vaapi/gstvaapipluginbase.h:
15036         * gst/vaapi/gstvaapipluginutil.c:
15037         * gst/vaapi/gstvaapisink.c:
15038           vaapisink: add support for "display-name" property.
15039           Add a "display-name" property to vaapisink so that the end user could
15040           select the desired output. Keep "display-name" in-line with the existing
15041           "display" (GstVaapiDisplayXXX type).
15042           So, for X11 or GLX, the "display-name" is the usual display name as we
15043           know for XOpenDisplay(); for Wayland, the "display-name" is the name used
15044           for wl_display_connect(); and for DRM, the "display-name" is actually the
15045           DRI device name.
15046           https://bugzilla.gnome.org/show_bug.cgi?id=722247
15047
15048 2014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15049
15050         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
15051           window: make gst_vaapi_window_reconfigure() thread-safe.
15052           Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
15053           thread-safe by default, so that upper layer users don't need to handle
15054           that explicitly.
15055
15056 2013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
15057
15058         * gst-libs/gst/vaapi/gstvaapiwindow.c:
15059         * gst-libs/gst/vaapi/gstvaapiwindow.h:
15060           window: allow for updating size from current geometry.
15061           Add gst_vaapi_window_reconfigure() interface to force an update of
15062           the GstVaapiWindow "soft" size, based on the current geometry of the
15063           underlying native window.
15064           This can be useful for instance to synchronize the window size when
15065           the user changed it.
15066           Thanks to Fabrice Bellet for rebasing the patch.
15067           [changed interface to gst_vaapi_window_reconfigure()]
15068           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15069
15070 2014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15071
15072         * gst-libs/gst/vaapi/gstvaapiwindow.c:
15073         * gst-libs/gst/vaapi/gstvaapiwindow.h:
15074         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
15075         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
15076         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
15077         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
15078         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
15079         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15080         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
15081         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
15082         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
15083         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
15084           window: re-indent all GstVaapiWindow related source code.
15085
15086 2014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15087
15088         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15089         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15090         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
15091           display: add interface to retrieve the display name.
15092           Add gst_vaapi_display_get_display_name() helper function to determine
15093           the name associated with the underlying native display. Note that for
15094           raw DRM backends, the display name is actually the device path.
15095
15096 2014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15097
15098         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
15099           display: fix comparison of X11 display names.
15100           Make sure to not only compare display host names, but also the actual
15101           display number. The screen number does not need to be checked at this
15102           time.
15103
15104 2014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15105
15106         * gst/vaapi/gstvaapidecode.c:
15107         * gst/vaapi/gstvaapivideobufferpool.c:
15108           vaapidecode: add support for VideoAlignment bufferpool option.
15109           Always add VideoAlignment bufferpool option if the downstream element
15110           expects its own pool to be used but does not offer it through a proper
15111           propose_allocation() implementation for instance, and that the ALLOCATION
15112           query does not expose the availability of the Video Meta API.
15113           This fixes propagation of video buffer stride information to Firefox.
15114
15115 2014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15116
15117         * gst/vaapi/gstvaapivideomemory.c:
15118           vaapivideomemory: always prefer native VA surface formats.
15119           Make sure to always prefer native internal formats for the VA surfaces
15120           that get allocated. Also disable "direct-rendering" mode in this case.
15121           This is needed so that to make sure that anything that gets out of the
15122           decoder, or anything that gets into the encoder, is in native format
15123           for the hardware, and thus the driver doesn't need to perform implicit
15124           conversions in there. Interop with SW elements is still available with
15125           fast implementations of VA imaging APIs.
15126
15127 2014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15128
15129         * gst/vaapi/gstvaapivideomemory.c:
15130           vaapivideomemory: disallow memory shares across buffers, use a copy.
15131           Forbid shares of GstMemory instances, and rather make copy of it. This
15132           effectively copies the GstMemory structure and enclosed metadata, but
15133           this does not copy the VA surface contents itself. It should though.
15134           This fixes preroll and makes sure to not download garbage for the first
15135           frame when a SW rendering sink is used.
15136
15137 2014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15138
15139         * gst/vaapi/gstvaapivideomemory.c:
15140         * gst/vaapi/gstvaapivideomemory.h:
15141           vaapivideomemory: use an image pool to cache objects.
15142           Use an image pool to hold VA images to be used for downloads/uploads
15143           of contents for the associated surface.
15144           This is an optmization for size. So, instead of creating as many VA
15145           images as there are buffers (then VA surfaces) allocated, we only
15146           maintain a minimal set of live VA images, thus preserving memory
15147           resources.
15148
15149 2014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15150
15151         * gst/vaapi/gstvaapivideomemory.c:
15152           vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
15153           Disable read-write mappings if "direct-rendering" is not supported.
15154           Since the ordering of read and write operations is not specified,
15155           this would require to always download the VA surface on _map(), then
15156           commit the temporary VA image back to the VA surface on _unmap().
15157           Some SW decoding plug-in elements still use R/W mappings though.
15158           https://bugzilla.gnome.org/show_bug.cgi?id=733242
15159
15160 2014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15161
15162         * gst/vaapi/gstvaapivideomemory.c:
15163           vaapivideomemory: minor code clean-ups.
15164           Fix error messages introduced in the previous commit for the _map()
15165           imaplementation. Also use the new get_image_data() helper function
15166           to determine the base pixels data buffer from a GstVaapiImage when
15167           updating the video info structure from it.
15168
15169 2014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15170
15171         * gst/vaapi/gstvaapivideomemory.c:
15172         * gst/vaapi/gstvaapivideomemory.h:
15173           vaapivideomemory: add support for raw pixels mappings.
15174           Allow raw pixels of the whole frame to be mapped read-only. i.e. in
15175           cases where the buffer pool is allocated without VideoMeta API, thus
15176           individual planes cannot be mapped.
15177           This is initial support for Firefox >= 30.
15178           https://bugzilla.gnome.org/show_bug.cgi?id=731886
15179
15180 2014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15181
15182         * gst/vaapi/gstvaapivideomemory.c:
15183           vaapivideomemory: fix determination of the surface pool format.
15184           While creating the vaapi video allocator, make sure the associated
15185           surface pool has correct format instead of defaulting to NV12 video
15186           format even though there is no direct rendering support.
15187           https://bugzilla.gnome.org/show_bug.cgi?id=732691
15188
15189 2014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15190
15191         * gst/vaapi/gstvaapivideomemory.c:
15192           vaapivideomemory: fix association of surface to proxy.
15193           Make sure to always update the VA surface pointer whenever the proxy
15194           changes. This used to only work when the VA surface is written to, in
15195           interop with SW element ("upload" feature), and this now fixes cases
15196           when the VA surface is needed for reading, in interop with SW element
15197           ("download" feature).
15198
15199 2014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15200
15201         * gst/vaapi/gstvaapidecode.c:
15202         * gst/vaapi/gstvaapipluginutil.c:
15203         * gst/vaapi/gstvaapivideomemory.c:
15204           plugins: expose I420 format for interop with SW elements.
15205           Always expose I420 format by default when the VA surface could be
15206           mapped for interoperability with non harware accelerated elements.
15207           However, the default behaviour remains the auto-plugging of vaapi
15208           elements, down to the sink.
15209           Side effect: "direct-rendering" mode is also disabled most of the
15210           times as plain memcpy() from uncached speculative write combining
15211           memory is not going to be efficient enough.
15212
15213 2014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15214
15215         * gst/vaapi/gstvaapidecode.c:
15216         * gst/vaapi/gstvaapivideomemory.c:
15217           plugins: allow download capability to vaapidecode element.
15218           Fix support for VA surface download capability in vaapidecode element
15219           for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
15220           but also the libva-intel-driver while performing hardware accelerated
15221           conversions from the native VA surface format (NV12) to the desired
15222           output VA image format.
15223           For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
15224           https://bugzilla.gnome.org/show_bug.cgi?id=733243
15225
15226 2014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
15227
15228         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
15229           decoder: mpeg4: fix picture decoder return value for skipped frames.
15230           The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
15231           when a frame should be skipped, so the stream processing is not stalled.
15232           https://bugzilla.gnome.org/show_bug.cgi?id=733324
15233
15234 2014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
15235
15236         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
15237           decoder: mpeg2: respect any input PTS provided for a frame.
15238           The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
15239           frame timestamps within a GOP, even when it's been fed input PTS for
15240           every frame.
15241           That leads to incorrect output timestamps in some situations - for example
15242           live playback where input timestamps have been scaled based on arrival time
15243           from the network and don't exactly match the framerate.
15244           https://bugzilla.gnome.org/show_bug.cgi?id=732719
15245
15246 2014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15247
15248         * gst-libs/gst/vaapi/gstvaapiobject.c:
15249           GstVaapiObject: make gst_vaapi_object_new() more robust.
15250           Forbid GstVaapiObject to be created without an associated klass spec.
15251           It is mandatory that the subclass implements an adequate .finalize()
15252           hook, so it shall provide a valid GstVaapiObjectClass.
15253           https://bugzilla.gnome.org/show_bug.cgi?id=722757
15254           [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
15255           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15256
15257 2014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15258
15259         * gst-libs/gst/vaapi/gstvaapiobject.c:
15260           GstVaapiObject: initialize the derived object data with init() hook.
15261           Call the subclass .init() function in gst_vaapi_object_new(), if
15262           needed. The default behaviour is to zero initialize the subclass
15263           object data, then the .init() function can be used to initialize
15264           fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
15265           Also fix the gst_vaapi_object_new() description, which was merely
15266           copied from GstVaapiMiniObject.
15267           https://bugzilla.gnome.org/show_bug.cgi?id=722757
15268           [changed to always zero initialize the subclass]
15269           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15270
15271 2014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
15272
15273         * gst/vaapi/gstvaapidecode.c:
15274           vaapidecode: make decoder work with playbin
15275           When playbin/decodebin builds the pipeline, it puts decoders and sinks
15276           into different bins and forwards the queries from bins to bins. So in
15277           the initials steps the pipeline is built iteratively by playbin and
15278           looks like this :
15279           [filesrc]
15280           [filesrc] -> [typefind]
15281           [filesrc] -> [typefind] -> [demuxer]
15282           [filesrc] -> [typefind] -> [demuxer] -> [decoder]
15283           At this point the decoder is asked for its SRC caps and it will make a
15284           choice based on what gst_pad_peer_query_caps() returns. The problem is
15285           that the caps returns at that point includes caps features like ANY,
15286           essentially because playbin can plug in additional elements like
15287           videoscale, videoconv or deinterlace.
15288           This patch adds a another call to
15289           gst_vaapi_find_preferred_caps_feature() when the decoder decides its
15290           allocation, to make sure we asks the downstream elements when the
15291           entire pipeline has been built.
15292           https://bugzilla.gnome.org/show_bug.cgi?id=731645
15293
15294 2014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15295
15296         * gst/vaapi/gstvaapipostproc.c:
15297           vaapipostproc: don't let tmp_rect go out of scope.
15298           A compiler change showed me that tmp_rect went out of scope before
15299           it was used. Move it to the beginning of the function instead.
15300           https://bugzilla.gnome.org/show_bug.cgi?id=726363
15301           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15302           [added guards for GStreamer 0.10 builds]
15303           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15304
15305 2014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15306
15307         * AUTHORS:
15308           AUTHORS: updates.
15309
15310 2014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15311
15312         * README:
15313           README: updates.
15314           Drop references to deprecated plugins (vaapiupload, vaapidownload),
15315           mention that support for GStreamer 0.10 is deprecated, make overview
15316           more descriptive in certain aspects.
15317
15318 2014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15319
15320         * NEWS:
15321           NEWS: updates.
15322
15323 2014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15324
15325         * README:
15326         * configure.ac:
15327           build: mention that support for GStreamer 0.10 is deprecated.
15328
15329 2014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15330
15331         * configure.ac:
15332         * gst/vaapi/gstvaapidecode.c:
15333           build: fix for GStreamer 0.10.
15334
15335 2014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15336
15337         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
15338         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15339         * patches/videoparsers/series.frag:
15340           build: fix for GStreamer 1.0.x.
15341
15342 2014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15343
15344         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15345           decoder: h264: detect incorrectly paired fields in frames.
15346           When a DPB flush is required, e.g. at a natural and of stream or issued
15347           explicitly through an IDR, try to detect any frame left in the DPB that
15348           is interlaced but does not contain two decoded fields. In that case, mark
15349           the picture as having a single field only.
15350           This avoids a hang while decoding tv_cut.mkv.
15351
15352 2014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15353
15354         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15355           decoder: h264: simplify the DPB output process.
15356           Simplify the dpb_output() function to exclusively rely on the frame store
15357           buffer to output, since this is now always provided. Besides, also fix
15358           cases where split fields would not be displayed.
15359           This is a regression from f48b1e0.
15360
15361 2014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15362
15363         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
15364         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
15365         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
15366         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
15367         * patches/videoparsers/series.frag:
15368           h264parse: drop patches merged upstream.
15369           0003-h264parse-fix-and-optimize-NAL-collection-function.patch
15370           0005-h264parse-introduce-new-state-tracking-variables.patch
15371           0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
15372           0007-h264parse-fix-collection-of-access-units-to-preserve.patch
15373
15374 2014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15375
15376         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15377           decoder: h264: fix memory leak in PPS.
15378           Cope with latest changes from codecparsers/h264. It is now required
15379           to explicitly clear the GstH264PPS structure as it could contain
15380           additional allocations (slice_group_ids).
15381
15382 2014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15383
15384         * ext/codecparsers:
15385           codecparsers: update to gst-vaapi-branch commit 2d53b69.
15386           c4ace00 h264parse: fix collection of access units to preserve config headers
15387           0f9f7c9 h264parse: improve conditions for skipping NAL units
15388           9ffb25c h264parse: introduce new state tracking variables
15389           64955d3 h264parse: fix and optimize NAL collection function
15390           13cd2a3 h264: clarifications and documentation fixes
15391           53e7dd1 h264: fix identification of EOSEQ and EOS NALs
15392           18f0de0 h264: fix memory leak in GstH264PPS
15393           fdcb54c h264: fix typo in GstH264VUIParams description
15394           fd4dae9 vp8: move up built-in range decoder private data
15395
15396 2014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15397
15398         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15399         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
15400         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
15401         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
15402           decoder: propagate MVC metadata ("view-id", head of multiview set).
15403           Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
15404           bundle", and really expresses the first view component of a multi
15405           view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
15406           set if VOIdx = 0.
15407           Likewise, new API is exposed to retrieve the associated "view-id".
15408
15409 2014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15410
15411         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15412         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15413           decoder: propagate "one-field" flags.
15414           Allow decoders to set the "one-field" attribute when the decoded frame
15415           genuinely has a single field, or if the second field was mis-decoded but
15416           we still want to display the first field.
15417
15418 2014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15419
15420         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15421           decoder: output decoded frames only once.
15422           Make sure to output the decoded picture, and push the associated
15423           GstVideoCodecFrame, only once. The frame fully represents what needs
15424           to be output, included for interlaced streams. Otherwise, the base
15425           GstVideoDecoder class would release the frame twice.
15426           Anyway, the general process is to output decoded frames only when
15427           they are complete. By complete, we mean a full frame was decoded or
15428           both fields of a frame were decoded.
15429
15430 2014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15431
15432         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15433           decoder: h264: decode current picture earlier.
15434           Slightly optimize decoding process by submitting the current VA surface
15435           for decoding earlier to the hardware, and perform the reference picture
15436           marking process and DPB update process afterwards.
15437           This is a minor optimization to let the video decode engine kick in work
15438           earlier, thus improving parallel resources utilization.
15439
15440 2014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15441
15442         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15443           decoder: h264: fix output of second field when first field is not in DPB.
15444           Fix decoding of interlaced streams where a first field (e.g. B-slice)
15445           was immediately output and the current decoded field is to be paired
15446           with that former frame, which is no longer in DPB.
15447           https://bugzilla.gnome.org/show_bug.cgi?id=701340
15448
15449 2014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15450
15451         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15452           decoder: h264: slightly optimize the process to detect new pictures.
15453           Optimize the process to detect new pictures or start of new access
15454           units by checking if the previous NAL unit was the end of a picture,
15455           or the end of the previous access unit.
15456
15457 2014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15458
15459         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15460           decoder: h264: handle access unit ("au") optimization.
15461           Optimize parsing when buffers are supplied with access unit alignment.
15462           This helps determining faster when the end of an access unit is reached.
15463
15464 2014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15465
15466         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15467           decoder: h264: fix tracking of DPB size changes.
15468           Add support for MVC streams with multiple SPS and subset SPS headers
15469           emitted regularly, e.g. at around every I-frame. Track the maximum
15470           number of views in ensure_context() and really reset the DPB size to
15471           the expected value, always. i.e. even if it decreased. dpb_reset()
15472           only cares of ensuring the DPB allocation.
15473
15474 2014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15475
15476         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15477           decoder: h264: fix the DPB compaction process.
15478           Fix the compaction process when the DPB is cleared for a specific
15479           view, i.e. fix the process of filling in the holes resulting from
15480           removing frame buffers matching the current picture.
15481
15482 2014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15483
15484         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15485           encoder: h264: generate new SPS only when codec config changed.
15486           It is not necessary to periodically send SPS or subset SPS headers.
15487           This is up to the upper layer (e.g. transport layer) to decide on
15488           if/how to periodically submit those. For now, only generate new SPS
15489           or subset SPS headers when the codec config changed.
15490           Note: the upper layer could readily determine the config headers
15491           (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
15492           https://bugzilla.gnome.org/show_bug.cgi?id=732083
15493           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15494
15495 2014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15496
15497         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15498           encoder: h264: track encoder config changes.
15499           Track and report when encoder configuration changed. For now, this covers
15500           resolution, profile/level and bitrate changes.
15501
15502 2014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15503
15504         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15505           encoder: h264: add pixel-aspect-ratio to VUI parameters.
15506           Report sample aspect ratio (SAR) as present, and make it match what
15507           we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
15508           VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
15509
15510 2014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15511
15512         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15513           encoder: h264: fix number of anchor and non-anchor reference pictures.
15514           Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
15515           and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
15516           supported.
15517
15518 2014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15519
15520         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15521           encoder: h264: fix timing_info_present_flag value in subset SPS.
15522           When the seq_parameter_set_data() syntax structure is present in a subset
15523           sequence parameter set and vui_parameters_present_flag is equal to 1, then
15524           timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
15525
15526 2014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15527
15528         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15529           encoder: h264: add cpbBrNalFactor values for MVC profiles.
15530
15531 2014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15532
15533         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
15534           h264parse: fix detection of access unit boundaries for MVC.
15535           The gst_h264_parse_collect_nal() function is a misnomer. In reality,
15536           this function is used to determine access unit boundaries, i.e. that
15537           is the key function for alignment=au output format generation.
15538
15539 2014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15540
15541         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
15542         * patches/videoparsers/series.frag:
15543           h264parse: fix collection of access units to preserve config headers.
15544           Always use a GstAdapter when collecting access units (alignment="au")
15545           in either byte-stream or avcC format. This is required to properly
15546           preserve config headers like SPS and PPS when invalid or broken NAL
15547           units are subsequently parsed.
15548           More precisely, this fixes scenario like:
15549           <SPS> <PPS> <invalid-NAL> <slice>
15550           where we used to reset the output frame buffer when an invalid or
15551           broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
15552           preventing the next slice unit to be decoded, should this also
15553           represent any valid data.
15554           https://bugzilla.gnome.org/show_bug.cgi?id=732203
15555
15556 2014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15557
15558         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
15559         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
15560         * patches/videoparsers/series.frag:
15561           h264parse: improve conditions for skipping NAL units.
15562           Carefully track cases when skipping broken or invalid NAL units is
15563           necessary. In particular, always allow NAL units to be processed
15564           and let that gst_h264_parse_process_nal() function decide on whether
15565           the current NAL needs to be dropped or not.
15566           This fixes parsing of streams with SEI NAL buffering_period() message
15567           inserted between SPS and PPS, or SPS-Ext NAL following a traditional
15568           SPS NAL unit, among other cases too.
15569           Practical examples from the H.264 AVC conformance suite include
15570           alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
15571           when parsing in stream-format=byte-stream,alignment=au mode.
15572           https://bugzilla.gnome.org/show_bug.cgi?id=732203
15573
15574 2014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15575
15576         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
15577         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
15578         * patches/videoparsers/series.frag:
15579           h264parse: introduce new state tracking variables.
15580           Improve parser state tracking by introducing new flags reflecting
15581           it: "got-sps", "got-pps" and "got-slice". This is an addition for
15582           robustness purposes.
15583           Older have_sps and have_pps variables are kept because they have
15584           a different meaning. i.e. they are used for deciding on when to
15585           submit updated caps or not, and rather mean "have new SPS/PPS to
15586           be submitted?"
15587
15588 2014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15589
15590         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
15591         * patches/videoparsers/series.frag:
15592           h264parse: default to byte-stream/nalu format (Annex B).
15593           Always default to stream-format=byte-stream,alignment=nalu if avcC
15594           format was not detected. This is the natural stream format specified
15595           in the standard (Annex.B): a series of NAL units prefixed with the
15596           usual start code.
15597           https://bugzilla.gnome.org/show_bug.cgi?id=732167
15598
15599 2014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15600
15601         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
15602         * patches/videoparsers/series.frag:
15603           h264parse: fix and optimize NAL collection function.
15604           Use gst_h264_parser_identify_nalu_unchecked() to identify the next
15605           NAL unit. We don't want to parse the full NAL unit, but only the
15606           header bytes and possibly the first RBSP byte for identifying the
15607           first_mb_in_slice syntax element.
15608           Also fix check for failure when returning from that function. The
15609           only success condition for that is GST_H264_PARSER_OK, so use it.
15610           https://bugzilla.gnome.org/show_bug.cgi?id=732154
15611
15612 2014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15613
15614         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15615           encoder: h264: fix NAL unit types in packed headers.
15616           Submit Prefix NAL headers (nal_unit_type = 14) before every packed
15617           slice header (nal_unit_type = 1 or 5) only for the base view. In non
15618           base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
15619           is required, with an appropriate nal_unit_header_mvc_extension() in
15620           the NAL header bytes.
15621           https://bugzilla.gnome.org/show_bug.cgi?id=732083
15622
15623 2014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15624
15625         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15626           encoder: h264: add missing field in packed Subset SPS header.
15627           Write the missing num_level_values_signalled_minus1 syntax element
15628           into the packed header for subset sequence parameter set.
15629           https://bugzilla.gnome.org/show_bug.cgi?id=732083
15630
15631 2014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15632
15633         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15634           decoder: h264: fix marking of non-reference picture into DPB.
15635           Fix search for a picture in the DPB that has a lower POC value than
15636           the current picture. The dpb_find_lowest_poc() function will return
15637           a picture with the lowest POC in DPB and that is marked as "needed
15638           for output", but an additional check against the actual POC value
15639           of the current picture is needed.
15640           This is a regression from 1c46990.
15641           https://bugzilla.gnome.org/show_bug.cgi?id=732130
15642
15643 2014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15644
15645         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15646           decoder: h264: fix DPB clear when no decoding actually started.
15647           Fix dpb_clear() to clear previous frame buffers only if they actually
15648           exist to begin with. If the decoder bailed out early, e.g. when it
15649           does not support a specific profile, that array of previous frames
15650           might not be allocated beforehand.
15651
15652 2014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15653
15654         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15655         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
15656         * gst/vaapi/gstvaapidecode.c:
15657           decoder: h264: add support for NALU "alignment" optimization.
15658           We can avoid scanning for start codes again if the bitstream is fed
15659           in NALU chunks. Currently, we always scan for start codes, and keep
15660           track of remaining bits in a GstAdapter, even if, in practice, we
15661           are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
15662           "nal" alignment.
15663           https://bugzilla.gnome.org/show_bug.cgi?id=723284
15664           [use gst_adapter_available_fast() to determine the top buffer size]
15665           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15666
15667 2014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15668
15669         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15670           decoder: h264: fix caps to report interlace-mode accordingly.
15671           The `vaapipostproc' element could never determine if the H.264 stream
15672           was interlaced, and thus always assumed it to be progressive. Fix the
15673           H.264 decoder to report interlace-mode accordingly, thus allowing the
15674           vaapipostproc element to automatically enable deinterlacing.
15675
15676 2014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15677
15678         * gst/vaapi/gstvaapipostproc.c:
15679           vaapipostproc: don't crash with dynamic framerate (0/1).
15680           Avoid reaching an assert if dynamic framerates (0/1) are used. One
15681           way to solve this problem is to just stick field_duration to zero.
15682           However, this means that, in presence of interlaced streams, the
15683           very first field will never be displayed if precise presentation
15684           timestamps are honoured.
15685           https://bugzilla.gnome.org/show_bug.cgi?id=729604
15686
15687 2014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15688
15689         * gst/vaapi/gstvaapipostproc.c:
15690           vaapipostproc: create filter surface pool if it does not exist yet.
15691           ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
15692           recreating filter_pool. Unfortunately, this also meant it didn't create
15693           it if it did not exist.
15694           Fix it to always create the buffer pool if it does not exist.
15695           https://bugzilla.gnome.org/show_bug.cgi?id=723834
15696           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15697
15698 2013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
15699
15700         * gst/vaapi/gstvaapipostproc.c:
15701           vaapipostproc: reset deinterlacer state when there is a discontinuity.
15702           Reset deinterlacer state, i.e. past reference frames used for advanced
15703           deinterlacing, when there is some discontinuity detected in the course
15704           of processing source buffers.
15705           This fixes support for advanced deinterlacing when a seek occurred.
15706           https://bugzilla.gnome.org/show_bug.cgi?id=720375
15707           [fixed type of pts_diff variable, fetch previous buffer PTS from the
15708           history buffer, reduce heuristic for detecting discontinuity]
15709           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15710
15711 2014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15712
15713         * gst/vaapi/gstvaapipostproc.c:
15714           vaapipostproc: add support for crop regions in VPP mode.
15715           Apply video cropping regions stored in GstVideoCropMeta, or in older
15716           GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
15717           the crop meta are already propagated to the output buffers.
15718           https://bugzilla.gnome.org/show_bug.cgi?id=720730
15719
15720 2014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15721
15722         * gst/vaapi/gstvaapipostproc.c:
15723           vaapipostproc: make deinterlace-mode behave as expected.
15724           deinterlace-mode didn't behave in the way you'd expect if you have
15725           past experience of the deinterlace element. There were two bugs:
15726           1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
15727           2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
15728           Fix these up, and add assertions and error messages to detect cases that
15729           aren't handled.
15730           https://bugzilla.gnome.org/show_bug.cgi?id=726361
15731           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15732           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15733
15734 2014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15735
15736         * gst/vaapi/gstvaapidecode.c:
15737           vaapidecode: do not discard video info props when the format changed.
15738           gst_video_info_set_format() does not preserve video info properties. In
15739           order to keep important information in the caps such as interlace mode,
15740           framerate, pixel aspect ratio, ... we need to manually copy back those
15741           properties after setting the new video format.
15742           https://bugzilla.gnome.org/show_bug.cgi?id=722276
15743
15744 2014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
15745
15746         * gst/vaapi/gstvaapidecode.c:
15747           vaapidecode: plug a memory leak.
15748           It can happen that there is a pool provided that does not advertise
15749           the vappivideometa. We should unref that pool before using our own.
15750           Discovered with vaapidecode ! {glimagesink,cluttersink}
15751           https://bugzilla.gnome.org/show_bug.cgi?id=724957
15752           [fixed compilation by adding the missing semi-colon]
15753           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15754
15755 2014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15756
15757         * gst/vaapi/gstvaapidecode.c:
15758           vaapidecode: parse source data until a frame is obtained.
15759           Parse any pending data until a complete frame is obtained. This is a
15760           memory optimization to avoid expansion of video packets stuffed into
15761           the GstAdapter, and a fix to EOS condition to detect there is actually
15762           pending data that needs to be decoded, and subsequently output.
15763           https://bugzilla.gnome.org/show_bug.cgi?id=731831
15764
15765 2014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15766
15767         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15768           encoder: h264: fix multiple slices support in packed headers mode.
15769           Handle packedi slice headers and packed raw data on a per-slice basis,
15770           which is necessary for multi slice encoding.
15771
15772 2014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15773
15774         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15775         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
15776           encoder: add infrastructure for per-slice handling of packed headers.
15777           The packed slice header and packed raw data need to be paired with
15778           the submission of VAEncSliceHeaderParameterBuffer. So handle them
15779           on a per-slice basis insted of a per-picture basis.
15780           [removed useless initializer]
15781           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15782
15783 2014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15784
15785         * gst/vaapi/gstvaapisink.c:
15786           vaapisink: fix initialization with "drm" display type.
15787           Force early initializatin of the GstVaapiDisplay so that to make sure
15788           that the sink element display object is presented first to upstream
15789           elements, as it will be correctly featuring the requested display type
15790           by the user.
15791           Otherwise, we might end up in situations where a VA/X11 display is
15792           initialized in vaapidecode, then we try VA/DRM display in vaapisink
15793           (as requested by the "display" property), but this would cause a failure
15794           because we cannot acquire a DRM display that was previously acquired
15795           through another backend (e.g. VA/X11).
15796
15797 2014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15798
15799         * gst/vaapi/gstvaapipluginbase.c:
15800           plugins: fix initialization with foreign context.
15801           When a new display is settled through GstElement::set_context() (>= 1.2),
15802           or GstVideoContext::set_context() (<= 1.0), then we shall also update the
15803           associated display type.
15804
15805 2014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15806
15807         * Makefile.am:
15808         * configure.ac:
15809         * ext/Makefile.am:
15810         * gst/vaapi/Makefile.am:
15811         * gst/vaapi/gstvaapiparse.c:
15812         * gst/vaapi/gstvaapiparse.h:
15813         * patches/Makefile.am:
15814         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
15815         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
15816         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
15817         * patches/videoparsers/Makefile.am:
15818         * patches/videoparsers/series.frag:
15819           plugins: add built-in video parsers as "vaapiparse" element.
15820           The built-in video parsers elements are built into a single DSO named
15821           libgstvaapi_parse.so. The various video parsers could be accessed as
15822           vaapiparse_CODEC.
15823           For now, this only includes a modified version of h264parse so that to
15824           support H.264 MVC encoded streams.
15825
15826 2014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15827
15828         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15829           decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
15830           New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
15831           from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
15832
15833 2014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15834
15835         * ext/codecparsers:
15836           codecparsers: update to gst-vaapi-branch commit d6325ac.
15837           7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
15838           d2f965a h264parse: set field_pic_flag when parsing a slice header
15839           24c15b8 Import h264parse
15840           a9283e5 bytereader: Use concistant derefence method
15841           a8252c6 bytereader: Use pointer instead of index access
15842           b1bebfc Import GstBitReader and GstByteReader
15843           2f58788 h264: recognize SVC NAL units
15844           4335da5 h264: fix SPS copy code for MVC
15845           cf9b6dc h264: fix quantization matrix conversion routine names
15846           b11ce2a h264: add gst_h264_video_calculate_framerate()
15847           126dc6f add C++ guards for MPEG-4 and VP8 parsers
15848
15849 2014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15850
15851         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15852           decoder: h264: factor out DPB pruning for MVC.
15853           Factor out the removal process of unused inter-view only reference
15854           pictures from the DPB, prior to the possible insertion of the current
15855           picture.
15856           Ideally, the compiler could still opt for generating two loops. But
15857           at least, the code is now clearer for maintenance.
15858
15859 2014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15860
15861         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15862           decoder: h264: clean-ups.
15863           Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
15864           the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
15865
15866 2014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15867
15868         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15869           decoder: h264: improve pruning of unused MVC inter-view frames.
15870           Improve process for the removal of pictures from DPB before possible
15871           insertion of the current picture (C.4.4) for H.264 MVC inter-view only
15872           reference components. In particular, handle cases where picture to be
15873           inserted is not the last one of the access unit and if it was already
15874           output and is no longer marked as used for reference, including for
15875           decoding next view components within the same access unit.
15876
15877 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15878
15879         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15880           decoder: h264: improve DPB bumping process for MVC.
15881           While invoking the DPB bumping process in presence of many views,
15882           it could be necessary to output previous pictures that are ready,
15883           in a whole. i.e. emitting all view components from the very first
15884           view order index zero to the very last one in its original access
15885           unit; and not starting from the view order index of the picture
15886           that caused the DPB bumping process to be invoked.
15887           As a reminder, the maximum number of frames in DPB for MultiView
15888           High profile with more than 2 views is not necessarily a multiple
15889           of the number of views.
15890           This fixes decoding of MVCNV-4.264.
15891
15892 2014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15893
15894         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15895           decoder: h264: fix inter-view references array growth.
15896           Let the utility layer handle dynamic growth of the inter-view pictures
15897           array. By definition, setting a new size to the array will effectively
15898           grow the array, but would also fill in the newly created elements with
15899           empty entries (NULL), thus also increasing the reported length, which
15900           is not correct.
15901
15902 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15903
15904         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15905           decoder: h264: reduce ReferenceFrames entries to the essential set.
15906           When decoding Multiview High profile streams with a large number of
15907           views, it is not possible to make the VAPictureParameterBufferH264.
15908           ReferenceFrames[] array hold the complete DPB, with all possibly
15909           active pictures to be used for inter-view prediction in the current
15910           access unit.
15911           So reduce the scope of the ReferenceFrames[] array to only include
15912           the set of reference pictures that are going to be used for decoding
15913           the current picture. Basically, this is a union of all RefPicListX[]
15914           array, for all slices constituting the decoded picture.
15915
15916 2014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15917
15918         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15919           decoder: h264: fix MVC inter-view prediction process.
15920           The inter-view reference components and inter-view only reference
15921           components that are included in the reference picture lists shall
15922           be considered as not being marked as "used for short-term reference"
15923           or "used for long-term reference". This means that reference flags
15924           should all be removed from VAPictureH264.flags.
15925           This fixes decoding of MVCNV-2.264.
15926
15927 2014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15928
15929         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15930           decoder: h264: fix detection of profile changes for MVC.
15931           If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
15932           be careful to detect profiles changes and not reset the underlying
15933           VA context erroneously. In MVC situations, we could indeed get a
15934           profile_idc change for every SPS that gets activated, alternatively
15935           (base-view -> non-base view -> base-view, etc.).
15936           An improved fix would be to characterize the exact profile to use
15937           once and for all when SPS NAL units are parsed. This would also
15938           allow for fallbacks to a base-view decoding only mode.
15939
15940 2014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15941
15942         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15943           encoder: h264: drop extraneous definitions.
15944           Re-use definitions from the codecparser headers instead of duplicating
15945           them here again. That covers NALU definitions and slice types.
15946
15947 2014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15948
15949         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15950           encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
15951           https://bugzilla.gnome.org/show_bug.cgi?id=727418
15952
15953 2014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15954
15955         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15956           encoder: h264: don't allow CABAC with Extended profile.
15957           The H.264 specification does not support CABAC entropy coding for the
15958           Extended profile.
15959           https://bugzilla.gnome.org/show_bug.cgi?id=727418
15960
15961 2014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15962
15963         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15964           encoder: h264: use packed headers mode for MVC encoding.
15965           Exclusively use VA drivers that support raw packed headers for encoding.
15966           i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
15967           provides for better compatibility accross the various VA drivers and HW
15968           generations since no particular API is needed beyond what readily exists.
15969
15970 2014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15971
15972         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15973           encoder: h264: add support for packed slice headers.
15974           https://bugzilla.gnome.org/show_bug.cgi?id=722905
15975
15976 2014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15977
15978         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15979           encoder: h264: store subset sps to generate the codec-data
15980           Store the SubsetSPS nal unit which we need for MVC specific
15981           codec_data generation.
15982
15983 2014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15984
15985         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15986           encoder: h264: fix MVC pipeline hang while encoding with B-frames.
15987           Since we are encoding each view independently from each other, we
15988           need a higher number of pre-allocated surfaces to be used as the
15989           reconstructed frames. For Stereo High profile encoding, this means
15990           to effectively double the number of frames to be stored in the DPB.
15991
15992 2014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
15993
15994         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15995         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15996         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15997         * gst/vaapi/gstvaapiencode_h264.c:
15998           encoder: h264: add initial support for H.264 Stereo High profile.
15999           Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
16000           for non-base-view streams encoding, and the usual SPS, PPS and Slice
16001           NALs for base-view encoding.
16002           The H.264 Stereo High profile encoding mode will be turned on when the
16003           "num-views" parameter is set to 2. The source (raw) YUV frames will be
16004           considered as Left/Right view, alternatively.
16005           Each of the two views has its own frames reordering pool and reference
16006           frames list management system. Inter-view references are not supported
16007           yet, so the views are encoded independently from each other.
16008           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16009           [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
16010           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16011
16012 2014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16013
16014         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16015           encoder: h264: wrap pools for refs and frames reordering.
16016           Create structures to maintain the reference frames list (RefPool) and
16017           frames reordering (ReorderPool) logic.
16018           This is a prerequisite for H.264 MVC support.
16019           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16020
16021 2014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16022
16023         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16024           encoder: h264: add provisional support for subset SPS headers.
16025           Add provisions to write subset SPS headers to the bitstream in view
16026           to supporting the H.264 MVC specification.
16027           This assumes the libva "staging" branch is in use.
16028           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16029
16030 2013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16031
16032         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16033         * gst-libs/gst/vaapi/gstvaapiutils.c:
16034           utils: add H.264 MVC profiles.
16035           Add "MultiView High" and "Stereo High" definitions.
16036           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16037           [require VA-API >= 0.35.2 for MVC profiles]
16038           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16039
16040 2014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16041
16042         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16043         * gst-libs/gst/vaapi/gstvaapiutils.c:
16044           utils: only enable VP8 profiles for newer VA-API versions.
16045           VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
16046           involving VP8 codec on earlier versions of the API.
16047
16048 2014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16049
16050         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16051           decoder: h264: compute view ids only once per slice.
16052           Optimize lookups of view ids / view order indices by caching the result
16053           of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
16054           terribly simplifies is_new_access_unit() and find_first_field() functions.
16055
16056 2014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16057
16058         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16059           decoder: h264: add support for MVC interlaced streams.
16060           Fix support for MVC Stereo High profile streams with interlaced frames.
16061           Also improve the detection logic of the first field.
16062
16063 2014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16064
16065         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16066           decoder: h264: add MVC profiles compatibility logic.
16067           Add safe fallbacks for MVC profiles:
16068           - all MultiView High profile streams with 2 views at most can be decoded
16069           with a Stereo High profile compliant decoder ;
16070           - all Stereo High profile streams with only progressive views can be
16071           decoded with a MultiView High profile compliant decoder ;
16072           - all drivers that support slice-level decoding could normally support
16073           MVC profiles when the DPB holds at most 16 frames.
16074
16075 2014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16076
16077         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16078         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16079         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16080           decoder: h264: add initial support for MVC.
16081           https://bugzilla.gnome.org/show_bug.cgi?id=721772
16082
16083 2014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16084
16085         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16086           decoder: h264: dynamically allocate the DPB.
16087           Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
16088           for supporting the MVC allocation requirements.
16089
16090 2014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16091
16092         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16093           decoder: h264: fix detection of access unit boundaries.
16094           In order to have a stricter conforming implementation, we need to carefully
16095           detect access unit boundaries. Additional operations could be necessary to
16096           perform at those boundaries.
16097
16098 2013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16099
16100         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16101           decoder: h264: detect the first VCL NAL unit of a picture for MVC.
16102           Detect the first VCL NAL unit of a picture for MVC, based on the
16103           view_id as per H.7.4.1.2.4. Note that we only need to detect new
16104           view components.
16105           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16106
16107 2013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16108
16109         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16110           decoder: h264: properly handle Prefix NAL units.
16111           Always cache the previous NAL unit so that we could check whether
16112           there is a Prefix NAL unit immediately preceding the current slice
16113           or IDR NAL unit. In that case, the NAL unit metadata is copied into
16114           the current NAL unit. Otherwise, some default values are inferred,
16115           tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
16116           [infer default values for slice if previous NAL was not a Prefix]
16117           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16118
16119 2013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
16120
16121         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16122           decoder: h264: add support for MVC base views.
16123           Allow decoding for base views of MVC encoded streams. For now, just skip
16124           the slice extension and prefix NAL units, and skip non-base view frames.
16125           Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
16126           [fixed memory leak, improved check for MVC NAL units]
16127           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16128
16129 2014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16130
16131         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16132           decoder: h264: simplify storage of decoded picture into DPB.
16133           Factor out process by which the decoded picture with the lowest POC
16134           is found, and possibly output. Likewise, the storage and marking of
16135           a reference decoded, or non-reference decoded picture, into the DPB
16136           could also be simplified as they mostly share the same operations.
16137
16138 2014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16139
16140         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16141           decoder: h264: minor clean-ups.
16142           Make init_picture_ref_lists() more consistent with other functions
16143           related to the reference marking process by supplying the current
16144           picture as argument.
16145
16146 2014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16147
16148         * gst-libs/gst/vaapi/gstvaapidisplay.c:
16149         * gst-libs/gst/vaapi/gstvaapidisplay.h:
16150         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16151           display: add utility function to query VA driver name.
16152           Add gst_vaapi_display_get_vendor_string() helper function to query
16153           the underlying VA driver name. The display object owns the resulting
16154           string, so it shall not be deallocated.
16155           That function is thread-safe. It could be used for debugging purposes,
16156           for instance.
16157
16158 2014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16159
16160         * gst-libs/gst/vaapi/gstvaapidisplay.c:
16161         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
16162         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16163         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
16164         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
16165         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
16166         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16167           display: make cache maintenance really MT-safe.
16168           Make sure to initialize one GstVaapiDisplay at a time, even in threaded
16169           environments. This makes sure the display cache is also consistent
16170           during the whole display creation process. In the former implementation,
16171           there were risks that display cache got updated in another thread.
16172
16173 2014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16174
16175         * gst-libs/gst/vaapi/gstvaapicontext.c:
16176           context: allow dynamic growth of VA surfaces pool.
16177           Add support for dynamic growth of the VA surfaces pool. For decoding,
16178           this implies the recreation of the underlying VA context, as per the
16179           requirement from VA-API. Besides, only increases are supported, not
16180           shrinks.
16181
16182 2014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16183
16184         * gst-libs/gst/vaapi/gstvaapicontext.c:
16185           context: reset VA context if VA surfaces set changed.
16186           It is a requirement from VA-API specification that the VA context got
16187           from vaCreateContext(), for decoding purposes, binds the supplied set
16188           of VA surfaces. This means that if the set of VA surfaces is to be
16189           changed for the current decode session, then the VA context needs to
16190           be recreated with the new set of VA surfaces.
16191
16192 2014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16193
16194         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16195           decoder: h264: fix assignment of LongTermFrameIdx.
16196           Complement fix committed as e95a42e.
16197           The H.264 AVC standard has to say: if the field is part of a reference
16198           frame or a complementary reference field pair, and the other field of
16199           the same reference frame or complementary reference field pair is also
16200           marked as "used for long-term reference", the reference frame or
16201           complementary reference field pair is also marked as "used for long-term
16202           reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
16203           This fixes decoding of MR9_BT_B in strict mode.
16204           https://bugs.freedesktop.org/show_bug.cgi?id=64624
16205           https://bugzilla.gnome.org/show_bug.cgi?id=724518
16206
16207 2014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16208
16209         * gst-libs/gst/vaapi/gstvaapicontext.c:
16210         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16211         * gst-libs/gst/vaapi/gstvaapiutils.c:
16212         * gst-libs/gst/vaapi/gstvaapiutils.h:
16213           decoder: h264: properly support grayscale formats.
16214           Request the correct chroma format for decoding grayscale streams.
16215           i.e. make lookups of the VA chroma format more generic, thus possibly
16216           supporting more formats in the future.
16217           This means that, if a VA driver doesn't support grayscale formats,
16218           it is now going to fail. We cannot safely assume that maybe grayscale
16219           was implemented on top of some YUV 4:2:0 with the chroma components
16220           all set to 0x80.
16221
16222 2014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
16223
16224         * gst-libs/gst/vaapi/gstvaapifilter.c:
16225         * gst-libs/gst/vaapi/gstvaapifilter.h:
16226         * tests/test-filter.c:
16227           build: fix source file modes.
16228           A few source files are marked executable in error - fix them
16229           https://bugzilla.gnome.org/show_bug.cgi?id=723748
16230           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
16231
16232 2014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16233
16234         * configure.ac:
16235         * gst-libs/gst/vaapi/Makefile.am:
16236         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16237         * gst/vaapi/gstvaapidecode.c:
16238           build: fix conditional compilation of VP8 decoder.
16239           https://bugzilla.gnome.org/show_bug.cgi?id=729170
16240           [added check for VASliceParameterBufferBase fields]
16241           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16242
16243 2014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16244
16245         * gst-libs/gst/codecparsers/Makefile.am:
16246           build: fix make dist for codecparsers.
16247
16248 2014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16249
16250         * ext/codecparsers:
16251           codecparsers: update to gst-vaapi-branch commit eaa3f7e.
16252           h264: fix parsing of slice groups for map type = 2
16253
16254 2014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16255
16256         * ext/codecparsers:
16257           codecparsers: update to gst-vaapi branch commit f44edfc.
16258           h264: fix derivation of default scaling lists
16259
16260 2013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
16261
16262         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16263           decoder: h264: fix long-term reference picture marking process.
16264           Fix reference picture marking process with memory_management_control_op
16265           set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
16266           picture, or the current picture.
16267           This fixes decoding of FRExt_MMCO4_Sony_B.
16268           https://bugs.freedesktop.org/show_bug.cgi?id=64624
16269           https://bugzilla.gnome.org/show_bug.cgi?id=724518
16270           [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
16271           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16272
16273 2014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16274
16275         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16276           decoder: h264: fix initialization of RefPicLists for multiple slices.
16277           The initialization of reference picture lists (8.2.4.2) applies to all
16278           slices. So, the RefPicList0/1 lists need to be constructed prior to
16279           each slice submission to the HW decoder.
16280           This fixes decoding of video sequences where frames are encoded with
16281           multiple slices of different types, e.g. 4 slices in this order I, P,
16282           I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
16283           https://bugzilla.gnome.org/show_bug.cgi?id=724518
16284
16285 2013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
16286
16287         * ext/codecparsers:
16288         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16289           decoder: h264: skip SPS extension and auxiliary slice NALs.
16290           When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
16291           are present in a video, decoders shall perform the (optional) decoding
16292           process specified for these NAL units or shall ignore them (7.4.1).
16293           Implement option 2 (skip) for now, as alpha composition is not
16294           supported yet during the decoding process.
16295           This fixes decoding of the primary coded video in alphaconformanceG.
16296           https://bugzilla.gnome.org/show_bug.cgi?id=703928
16297           https://bugzilla.gnome.org/show_bug.cgi?id=728869
16298           https://bugzilla.gnome.org/show_bug.cgi?id=724518
16299           [skip NAL units earlier, i.e. at parsing time]
16300           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16301
16302 2013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
16303
16304         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16305           decoder: h264: fix slice data bit offset with MVC NAL units.
16306           When MVC slice NAL units (coded slice extension and prefix NAL) are
16307           present, the number of NAL header bytes is 3, not 1 as usual.
16308           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
16309           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16310
16311 2014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16312
16313         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16314           decoder: h264: fix activation of picture and sequence parameters.
16315           At the time the first VCL NAL unit of a primary coded picture is found,
16316           and if that NAL unit was parsed to be an SPS or PPS, then the entries
16317           in the parser may have been overriden. This means that, when the picture
16318           is to be decoded, slice_hdr->pps could point to an invalid (the next)
16319           PPS entry.
16320           So, one way to solve this problem is to not use the parser PPS and
16321           SPS info but rather maintain our own activation chain in the decoder.
16322           https://bugzilla.gnome.org/show_bug.cgi?id=724519
16323           https://bugzilla.gnome.org/show_bug.cgi?id=724518
16324
16325 2014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16326
16327         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16328           decoder: h264: retain SEI messages until the end of frame.
16329           Retain the SEI messages that were parsed from the access unit until we
16330           have completely decoded the current frame. This is done so that we can
16331           peek at that data whenever necessary during decoding. e.g. for exposing
16332           3D stereoscopic information at a later stage.
16333
16334 2014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16335
16336         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16337           decoder: h264: add support for grayscale encoded clips.
16338           Fix support for grayscale encoded video clips, and possibly others if
16339           the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
16340           the decision that a surface with the desired chroma format is not
16341           supported to the actual VA driver implementation.
16342           https://bugzilla.gnome.org/show_bug.cgi?id=728144
16343
16344 2014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16345
16346         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16347         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
16348         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
16349         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
16350         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
16351         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16352           decoder: default to YUV 4:2:0 VA surfaces.
16353           Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
16354           make sure all codecs use YUV 4:2:0 output format for now, by default.
16355
16356 2014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16357
16358         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16359         * gst-libs/gst/vaapi/gstvaapidecoder.h:
16360         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16361           decoder: re-indent GstVaapiDecoder base object.
16362
16363 2014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16364
16365         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16366           encoder: derive chroma type from video format.
16367           Cope with previous VA context change to derive the correct surface chroma
16368           type from the input video format.
16369
16370 2014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16371
16372         * gst-libs/gst/vaapi/gstvaapicontext.c:
16373         * gst-libs/gst/vaapi/gstvaapicontext.h:
16374           context: add support for non-YUV 4:2:0 formats.
16375           Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
16376           for the upper layer to specify the desired chroma type. If the chroma
16377           type field is not set (or yields zero), then YUV 4:2:0 format is used
16378           by default.
16379
16380 2014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16381
16382         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16383           vp8: fix per-segment deblocking filter level in relative mode.
16384           Fix possible bug when a per-segment deblocking filter level value
16385           needs to be set in non-absolute mode, i.e. when the loop filter update
16386           value is negative in delta mode.
16387           Also clamp the resulting filter level value to 0..63 range.
16388
16389 2014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16390
16391         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16392           vp8: fix check for disabling the loop filter (again).
16393           Improve condition to disable the loop filter. The previous heuristic
16394           used to check all filter levels, for all segments. It turns out that
16395           only the base filter_level value defined in the frame header needs
16396           to be checked.
16397           This fixes 00-comprehensive-013.
16398
16399 2014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16400
16401         * gst-libs/gst/codecparsers/Makefile.am:
16402         * gst/vaapi/Makefile.am:
16403           build: fix make dist with certain conditionals not met.
16404           Fix generation of source tarballs when certain conditionals are not
16405           met. e.g. always include all buildable codecparsers sources in the
16406           distribution tarball, fix plug-in element sources set to include X11
16407           and encoder bits.
16408
16409 2014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16410
16411         * ext/Makefile.am:
16412           build: add missing files for GStreamer 0.10.
16413           Add missing GstVideoEncoder implementation files to fix build with ancient
16414           GStreamer 0.10 stack.
16415           https://bugzilla.gnome.org/show_bug.cgi?id=723964
16416
16417 2014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16418
16419         * ext/Makefile.am:
16420           build: add missing files for VP8 bitstream parser.
16421           Fix make dist for building the VP8 bitstream parser.
16422
16423 2014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16424
16425         * configure.ac:
16426         * ext/libvpx/Makefile.am:
16427         * gst-libs/gst/codecparsers/Makefile.am:
16428           vp8: allow compilation without the built-in libvpx.
16429           The built-in libvpx serves multiple purposes, among which the most
16430           important ones could be: track the most up-to-date, and optimized,
16431           range decoder; allow for future hybrid implementations (non-VLD);
16432           and have a completely independent range decoder implementation.
16433
16434 2014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16435
16436         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16437           vp8: propagate PTS from demux frame.
16438           gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
16439           or parser would already have determined the PTS from a previous stage.
16440
16441 2014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16442
16443         * Makefile.am:
16444         * debian.upstream/libgstvaapi.install.in:
16445         * ext/libvpx/Makefile.am:
16446         * ext/libvpx/sources.frag:
16447         * gst-libs/gst/codecparsers/Makefile.am:
16448           vp8: fix compilation with built-in libvpx.
16449           Apply correct patch from fd.o #722760 to fix several issues: update the
16450           license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
16451           make dist.
16452
16453 2014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16454
16455         * .gitmodules:
16456         * autogen.sh:
16457         * configure.ac:
16458         * ext/Makefile.am:
16459         * ext/libvpx/Makefile.am:
16460         * ext/libvpx/gstlibvpx.c:
16461         * ext/libvpx/gstlibvpx.h:
16462         * ext/libvpx/libgstcodecparsers_vpx.vers:
16463         * ext/libvpx/sources.frag:
16464         * ext/libvpx/upstream:
16465         * gst-libs/gst/codecparsers/Makefile.am:
16466         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
16467           vp8: use range decoder from libvpx.
16468           Add libvpx submodule that tracks the upstream version 1.3.0. This is
16469           needed to build a libgstcodecparsers_vpx.so library with all symbols
16470           placed into the GSTREAMER namespace.
16471
16472 2014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16473
16474         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16475           vp8: fix check for disabling the loop filter.
16476
16477 2013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
16478
16479         * configure.ac:
16480         * ext/Makefile.am:
16481         * gst-libs/gst/codecparsers/Makefile.am:
16482         * gst-libs/gst/vaapi/Makefile.am:
16483         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
16484         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
16485         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16486         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16487         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
16488         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
16489         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16490         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16491         * gst/vaapi/gstvaapidecode.c:
16492           Add initial VP8 decoder.
16493           https://bugzilla.gnome.org/show_bug.cgi?id=722761
16494           [complete overhaul, fixed support for resolution changes]
16495           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16496
16497 2014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16498
16499         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16500           decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
16501           The gst_h264_parse_parse_sei() function now returns an array of SEI
16502           messages, instead of a single SEI message. Reason: it is allowed to
16503           have several SEI messages packed into a single SEI NAL unit, instead
16504           of multiple NAL units.
16505
16506 2014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16507
16508         * ext/codecparsers:
16509           codecparsers: update to gst-vaapi-branch commit a454f86.
16510           b2eb5f6 vp8: rename dboolhuff symbols
16511           b74a881 vp8: add GStreamer native utilities
16512           2940ac6 add VP8 bitstream parser
16513
16514 2014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16515
16516         * ext/codecparsers:
16517           codecparsers: update to gst-vaapi-branch commit d459bc5.
16518           d459bc5 h264: set framerate even for interlaced videos
16519           c78b82c h264: add support for Recovery Point SEI message
16520           7693bac h264: add support for Frame Packing Arrangement SEI message
16521           31fafa7 h264: add support for Stereo Video Information SEI message
16522           8b113a6 h264: parse seq_parameter_set_mvc_extension()
16523           040f9b8 h264: parse MVC syntax elements
16524           cc18ef3 h264: add nal_reader_skip_long() helper
16525           7e76a48 h264: fix slice_header() parsing for MVC
16526           caf46d8 h264: add gst_h264_parse_nalu_header() helper
16527           f75074e h264: add gst_h264_parse_sps_data() helper
16528           798c397 h264: clean-up gst_h264_parser_parse_sei_message()
16529           4e36737 h264: fix skipping of unsupported SEI messages
16530           5300766 h264: fix SEI buffering_period() parsing
16531
16532 2014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16533
16534         * ext/codecparsers:
16535         * gst-libs/gst/codecparsers/Makefile.am:
16536           codecparsers: update to gst-vaapi-branch commit 8fadf40.
16537           8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
16538           644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
16539           95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
16540           766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
16541           8ec5816 h265: Fix segfault when parsing HRD parameter
16542           5b1730f h265: Fix segfault when parsing VPS
16543           983b7f7 h265: prevent to overrun chroma_weight_l0_flag
16544           7ba641d h265: Fix debug output
16545           d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
16546
16547 2014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16548
16549         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16550           decoder: h264: fix robustness patch for bytestream format.
16551           Fix parser and decoder state to sync at the right locations. This is
16552           because we could reset the parser state, while the decoder state was
16553           not copied yet, e.g. when parsing several NAL units from multiple frames
16554           whereas the current frame was not decoded yet.
16555           This is a regression brought in by commit 6fe5496.
16556
16557 2014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16558
16559         * configure.ac:
16560         * pkgconfig/Makefile.am:
16561         * pkgconfig/gstreamer-vaapi-drm.pc.in:
16562         * pkgconfig/gstreamer-vaapi-glx.pc.in:
16563         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
16564         * pkgconfig/gstreamer-vaapi-x11.pc.in:
16565           build: fix pkgconfig file names (again).
16566           It turns out it is more convenient to have only pkgconfig files named
16567           after the installed GStreamer API version (1.0) instead of using all
16568           possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
16569           altogether anyway, so align pkgconfig file names to that.
16570
16571 2014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16572
16573         * debian.upstream/libgstvaapi-dev.install.in:
16574         * gst-libs/gst/vaapi/Makefile.am:
16575         * pkgconfig/gstreamer-vaapi.pc.in:
16576           build: fix packaging for GStreamer 1.2.
16577           Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
16578           the pkgconfig version (1.0) instead of the intended API version (1.2).
16579           libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
16580           as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
16581
16582 2014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16583
16584         * configure.ac:
16585           Bump version for development.
16586
16587 === release 0.5.8 ===
16588
16589 2014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16590
16591         * debian.upstream/control.in:
16592           debian: fix trailing whitespace in description.
16593
16594 2014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16595
16596         * debian.upstream/control.in:
16597         * debian.upstream/copyright:
16598           debian: fix package description.
16599           Try to improve package description for the compiled plug-in elements
16600           available in there. e.g. only display vaapidownload and vaapiupload
16601           for GStreamer 0.10 builds, display vaapiencode_* elements when VA
16602           encoding is enabled, etc.
16603           Also increase the copyright notice date.
16604
16605 2014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16606
16607         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16608           build: fix warnings on 64-bit platforms.
16609
16610 2014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16611
16612         * gst-libs/gst/vaapi/gstvaapicontext.c:
16613         * gst-libs/gst/vaapi/gstvaapiutils.c:
16614           build: fix for older versions of VA-API (< 0.34.0).
16615           Fix build with older versions of VA-API (< 0.34.0), or versions without
16616           good enough headers for encoding support for instance.
16617
16618 2014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16619
16620         * NEWS:
16621         * configure.ac:
16622           0.5.8.
16623
16624 2014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16625
16626         * README:
16627           README: updates.
16628           VA-API up to 0.34.0 is actually supported. Mention new video encoding
16629           support. Update copyright years, list of supported Intel HD Graphics
16630           hardware.
16631
16632 2014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16633
16634         * NEWS:
16635           NEWS: updates.
16636
16637 2014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16638
16639         * tests/test-filter.c:
16640           tests: test-filter: fix "deinterlace" option parse.
16641           Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
16642           string was provided, i.e. if it remained set to NULL.
16643
16644 2014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16645
16646         * gst-libs/gst/vaapi/Makefile.am:
16647         * gst-libs/gst/vaapi/gstvaapicontext.c:
16648         * gst-libs/gst/vaapi/gstvaapicontext.h:
16649         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16650         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
16651         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
16652           libs: factor out usages of vaGetConfigAttributes().
16653           Add gst_vaapi_get_config_attribute() helper function that takes a
16654           GstVaapiDisplay and the rest of the arguments with VA types. The aim
16655           is to have thread-safe VA helpers by default.
16656
16657 2014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16658
16659         * gst-libs/gst/vaapi/gstvaapiutils.c:
16660         * gst-libs/gst/vaapi/gstvaapiutils.h:
16661         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
16662         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
16663         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16664         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
16665         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
16666         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
16667         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
16668         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
16669         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
16670           libs: re-indent all source code related to VA utilities.
16671
16672 2014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16673
16674         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
16675           libs: add missing file (libgstvaapi_priv_check.h).
16676
16677 2014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16678
16679         * gst-libs/gst/vaapi/gstvaapicontext.c:
16680         * gst-libs/gst/vaapi/gstvaapicontext.h:
16681         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16682         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16683         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16684         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16685           encoder: notify the encoder of the submitted packed headers.
16686           Make sure to configure the encoder with the set of packed headers we
16687           intend to generate and submit. i.e. make selection of packed headers
16688           to submit more robust.
16689
16690 2014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16691
16692         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16693         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16694         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16695         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16696           encoder: fix and factor out check for supported rate-control modes.
16697           Cache the first compatible GstVaapiProfile found if the encoder is not
16698           configured yet. Next, factor out the code to check for the supported
16699           rate-control modes by moving out vaGetConfigAttributes() to a separate
16700           function, while also making sure that the attribute type is actually
16701           supported by the encoder.
16702           Also fix the default set of supported rate control modes to not the
16703           "none" variant. It's totally useless to expose it at this point.
16704
16705 2014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16706
16707         * gst-libs/gst/vaapi/gstvaapicontext.c:
16708         * gst-libs/gst/vaapi/gstvaapicontext.h:
16709         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16710           context: move rate-control mode to encoder specific config.
16711           Move usage-specific config out of the common GstVaapiContextInfo.
16712           Create a specialized config for encoding and move rate-control mode
16713           to there.
16714
16715 2014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16716
16717         * gst-libs/gst/vaapi/gstvaapicontext.c:
16718         * gst-libs/gst/vaapi/gstvaapicontext.h:
16719         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16720         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16721           context: introduce concept of usage.
16722           Introduce GstVaapiContextUsage so that to explicitly determine the
16723           usage of a VA context. This is useful in view to simplifying the
16724           creation of VA context for VPP too.
16725
16726 2014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16727
16728         * gst-libs/gst/vaapi/gstvaapicontext.c:
16729           context: fix get_attribute() value result.
16730           Unknown attributes, or attributes that are not supported for the given
16731           profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
16732           So, return failure in this case.
16733
16734 2014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16735
16736         * gst-libs/gst/vaapi/Makefile.am:
16737         * gst-libs/gst/vaapi/gstvaapicontext.c:
16738         * gst-libs/gst/vaapi/gstvaapicontext.h:
16739         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
16740         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
16741         * gst-libs/gst/vaapi/gstvaapisurface.c:
16742           context: move overlay composition to separate files.
16743           Move GstVideoOverlayComposition handling to separate source files.
16744           This helps keeing GstVaapiContext core implementation to the bare
16745           minimal, i.e. simpy helpers to create a VA context and handle pool
16746           of associated VA surfaces.
16747
16748 2014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16749
16750         * gst-libs/gst/vaapi/gstvaapicontext.c:
16751         * gst-libs/gst/vaapi/gstvaapicontext.h:
16752         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16753         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16754           context: clean-ups. Strip down APIs.
16755           Improve documentation and debug messages. Clean-up APIs, i.e. strip
16756           them down to the minimal set of interfaces. They are private, so no
16757           need expose getters for instance.
16758
16759 2014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16760
16761         * gst-libs/gst/vaapi/gstvaapicontext.c:
16762         * gst-libs/gst/vaapi/gstvaapicontext.h:
16763           context: re-indent all GstVaapiContext related source code.
16764
16765 2014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16766
16767         * gst-libs/gst/vaapi/Makefile.am:
16768         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
16769         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16770         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16771         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
16772         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16773         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
16774         * gst-libs/gst/vaapi/gstvaapiutils.h:
16775         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
16776         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
16777         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
16778         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
16779         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
16780           libs: check that private headers remain private.
16781           Make sure that libgstvaapi private headers remain internally used to
16782           build libgstvaapi libraries only. All header dependencies were reviewed
16783           and checks for IN_LIBGSTVAAPI definition were added accordingly.
16784           Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
16785           consistency.
16786
16787 2014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16788
16789         * configure.ac:
16790           Bump library major version.
16791           Bump the library major version due to API/ABI changes that occurred in
16792           the imaging API. In particular, GstVaapiDisplay interfaces no longer
16793           expose any GstCaps but provide GArray based ones e.g. to determine the
16794           set of supported decode/encode profiles.
16795
16796 2014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16797
16798         * gst-libs/gst/vaapi/glibcompat.h:
16799         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
16800         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
16801         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
16802         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
16803         * gst-libs/gst/vaapi/gstvaapicontext.c:
16804         * gst-libs/gst/vaapi/gstvaapicontext.h:
16805         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16806         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16807         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16808         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16809         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16810         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16811         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16812         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16813         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
16814         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16815         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
16816         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
16817         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
16818         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
16819         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16820         * gst-libs/gst/vaapi/gstvaapifilter.c:
16821         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
16822         * gst-libs/gst/vaapi/gstvaapisurface.c:
16823         * gst-libs/gst/vaapi/gstvaapisurface.h:
16824         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
16825         * gst-libs/gst/vaapi/gstvaapitypes.h:
16826         * gst-libs/gst/vaapi/gstvaapiutils.c:
16827         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16828         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
16829         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
16830         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
16831         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
16832         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
16833         * gst-libs/gst/vaapi/gstvaapivalue.c:
16834         * gst-libs/gst/vaapi/gstvaapivalue.h:
16835         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
16836         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
16837         * gst/vaapi/gstvaapidecode.c:
16838         * gst/vaapi/gstvaapiencode.c:
16839         * gst/vaapi/gstvaapiencode.h:
16840         * gst/vaapi/gstvaapiencode_h264.c:
16841         * gst/vaapi/gstvaapiencode_h264.h:
16842         * gst/vaapi/gstvaapiencode_mpeg2.c:
16843         * gst/vaapi/gstvaapiencode_mpeg2.h:
16844         * gst/vaapi/gstvaapipluginbase.c:
16845         * gst/vaapi/gstvaapipluginutil.c:
16846         * gst/vaapi/gstvaapipluginutil.h:
16847         * gst/vaapi/gstvaapipostproc.c:
16848         * gst/vaapi/gstvaapipostproc.h:
16849         * gst/vaapi/gstvaapisink.c:
16850         * gst/vaapi/gstvaapisink.h:
16851         * gst/vaapi/gstvaapivideometa_texture.c:
16852         * tests/simple-decoder.c:
16853           legal: update copyright notice dates.
16854
16855 2014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16856
16857         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16858         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16859         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16860         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
16861         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16862         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
16863         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
16864         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
16865         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
16866         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16867         * gst/vaapi/gstvaapiencode.c:
16868         * gst/vaapi/gstvaapiencode.h:
16869         * gst/vaapi/gstvaapiencode_h264.c:
16870         * gst/vaapi/gstvaapiencode_h264.h:
16871         * gst/vaapi/gstvaapiencode_mpeg2.c:
16872         * gst/vaapi/gstvaapiencode_mpeg2.h:
16873           legal: add per-file authorship information.
16874
16875 2014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16876
16877         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16878         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16879           decoder: fix video codec frame number in standalone mode.
16880           Set a valid GstVideoCodecFrame.system_frame_number when decoding a
16881           stream in standalone mode. While we are at it, improve the debugging
16882           messages to also include that frame number.
16883
16884 2014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
16885
16886         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16887         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
16888           decoder: fix crash on invalid pointer for GST_DEBUG().
16889           When decoding failed, or that the frame was dropped, the associated
16890           surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
16891           message needs to check whether the proxy is actually present or not.
16892           https://bugzilla.gnome.org/show_bug.cgi?id=722403
16893           [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
16894           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16895
16896 2014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16897
16898         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16899           encoder: h264: disable NAL HRD parameters for now.
16900           Don't emit NAL HRD parameters for now in the SPS headers because the
16901           SEI buffering_period() and picture_timing() messages are not handled
16902           yet. Some additional changes are necessary to get it right.
16903           https://bugzilla.gnome.org/show_bug.cgi?id=722734
16904
16905 2014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16906
16907         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16908         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
16909         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16910         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
16911           encoder: h264: fix default CPB buffer size.
16912           Fix default CPB buffer size to something more reasonable (1500 ms)
16913           and that still fits the level limits. This is a non configurable
16914           property for now. The initial CPB removal delay is also fixed to
16915           750 ms.
16916           https://bugzilla.gnome.org/show_bug.cgi?id=722087
16917
16918 2014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16919
16920         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16921           encoder: h264: fix bitrate encoding for HRD conformance.
16922           Round down the calculated, or supplied, bitrate (kbps) into a multiple
16923           of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
16924           that to have less losses in precision. Likewise, don't round up because
16925           that could be a strict constraint imposed by the user.
16926
16927 2014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16928
16929         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16930           encoder: h264: fix level lookup constraints wrt. bitrate.
16931           Fix the level calculation involving bitrate limits. Since we are
16932           targetting NAL HRD conformance, the check against MaxBR from the
16933           Table A-1 limits shall involve cpbBrNalFactor depending on the
16934           active profile.
16935
16936 2014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16937
16938         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16939           encoder: h264: submit sequence parameter only once.
16940           Submit sequence parameter buffers only once, or when the bitstream
16941           was reconfigured in a way that requires such. Always submit packed
16942           sequence parameter buffers at I-frame period, if the VA driver needs
16943           those.
16944           https://bugzilla.gnome.org/show_bug.cgi?id=722737
16945
16946 2014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16947
16948         * gst-libs/gst/vaapi/gstvaapicontext.c:
16949         * gst-libs/gst/vaapi/gstvaapicontext.h:
16950         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16951         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16952         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16953           encoder: h264: only submit packed headers when required.
16954           Make sure to submit the packed headers only if the underlying VA driver
16955           requires those. Currently, only handle packed sequence and picture
16956           headers.
16957           https://bugzilla.gnome.org/show_bug.cgi?id=722737
16958
16959 2014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16960
16961         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16962           encoder: h264: fix ip_period value in sequence parameter.
16963           The VAEncSequenceParameterBuffer.ip_period value reprents the distance
16964           between the I-frame and the next P-frame. So, this also accounts for
16965           any additional B-frame in the middle of it.
16966           This fixes rate control heuristics for certain VA drivers.
16967           https://bugzilla.gnome.org/show_bug.cgi?id=722735
16968
16969 2014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16970
16971         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16972           encoder: h264: fix level when bitrate is automatically computed.
16973           Fix level characterisation when the bitrate is automatically computed
16974           from the active coding tools. i.e. ensure the bitrate once the profile
16975           is completely characterized but before the level calculation process.
16976
16977 2014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16978
16979         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16980           encoder: h264: clean-ups.
16981           Document and rename a few functions here and there. Drop code that
16982           caps num_bframes variable in reset_properties() since they shall
16983           have been checked beforehand, during properties initialization.
16984
16985 2014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16986
16987         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16988           encoder: h264: clean-up bitwriter related utilities.
16989           Clean-up GstBitWriter related utility functions and simplify notations.
16990           While we are at it, also make bitstream writing more robust should an
16991           overflow occur. We could later optimize for writing headers capped to
16992           their maximum possible size by using the _unchecked() helper variants.
16993
16994 2014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16995
16996         * gst-libs/gst/vaapi/Makefile.am:
16997         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16998         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
16999           encoder: h264: completely remove private headers.
17000           Drop private header since it was originally used to expose internals
17001           to the plugin element. The proper interface is now the properties API,
17002           thus rendering private headers totally obsolete.
17003
17004 2014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17005
17006         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17007           encoder: h264: fix PPS header packing with profile < high.
17008           Fix PPS header packing when profile is below High since 8x8 transform
17009           mode and scaling lists are High Profile features.
17010
17011 2014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17012
17013         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17014           encoder: h264: always emit VUI parameters for framerate.
17015           Always emit VUI parameters for timing_info, which includes framerate
17016           information.
17017
17018 2014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17019
17020         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17021           encoder: h264: really fix frame cropping rectangle calculation.
17022           Make frame cropping rectangle calculation future proof, i.e. exactly
17023           follow the specification (7-18) to (7-21), and subsampling definitions
17024           from Table 6-1.
17025           https://bugzilla.gnome.org/show_bug.cgi?id=722089
17026           https://bugzilla.gnome.org/show_bug.cgi?id=722238
17027
17028 2014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
17029
17030         * gst/vaapi/gstvaapisink.c:
17031         * gst/vaapi/gstvaapisink.h:
17032           vaapisink: set csc render flags from sinkpad caps.
17033           This maps GstVideoColorimetry information in vaapisink's sinkpad caps
17034           to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
17035           available.
17036           https://bugzilla.gnome.org/show_bug.cgi?id=722255
17037           [factored out code, added SMPTE240M, handle per-buffer flags]
17038           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17039
17040 2012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17041
17042         * gst-libs/gst/vaapi/gstvaapisurface.h:
17043         * gst-libs/gst/vaapi/gstvaapiutils.c:
17044         * gst/vaapi/gstvaapipostproc.c:
17045           surface: rework render flags.
17046           Pack render flags per category and provide more flags into the color
17047           standard category. In particular, cover for SMPTE-240M.
17048
17049 2013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
17050
17051         * gst-libs/gst/vaapi/gstvaapifilter.c:
17052         * gst/vaapi/gstvaapipostproc.c:
17053         * gst/vaapi/gstvaapipostproc.h:
17054           vaapipostproc: add support for colorbalance filters.
17055           Add support for hue, saturation, brightness and constrat adjustments.
17056           Also fix cap info local copy to match the really expected cap subtype
17057           of interest.
17058           https://bugzilla.gnome.org/show_bug.cgi?id=720376
17059           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17060
17061 2013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
17062
17063         * gst/vaapi/gstvaapipostproc.c:
17064           vaapipostproc: fix support for "sharpen" filter.
17065           Fix copy/paste error when submitting the "sharpen" value to the
17066           GstVaapiFilter instance.
17067           https://bugzilla.gnome.org/show_bug.cgi?id=720375
17068           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17069
17070 2013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
17071
17072         * configure.ac:
17073         * pkgconfig/gstreamer-vaapi-drm.pc.in:
17074         * pkgconfig/gstreamer-vaapi-glx.pc.in:
17075         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
17076         * pkgconfig/gstreamer-vaapi-x11.pc.in:
17077         * pkgconfig/gstreamer-vaapi.pc.in:
17078           pkgconfig: plugin dir should use PKG version not API version.
17079           Fix the pluginsdir and includedir variables in the generated pkgconfig
17080           (.pc) files. The location needs to be built with the PKG version in
17081           mind instead of the API version.
17082           While we are at it, also fix the PKG version for GStreamer >= 1.3.
17083           https://bugzilla.gnome.org/show_bug.cgi?id=720820
17084           [additional fixes for includedir and pkg requirements]
17085           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17086
17087 2014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
17088
17089         * gst/vaapi/gstvaapisink.c:
17090           vaapisink: fix display initialization in GstVideoOverlay implementation.
17091           When gst_vaapisink_video_overlay_set_window_handle() is called early,
17092           before the pipeline has been set to PLAYING, the display has not yet
17093           been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
17094           up-to-date. For this reason the foreign XID is not attached.
17095           Now _ensure_display() is called earlier.
17096           https://bugzilla.gnome.org/show_bug.cgi?id=722244
17097           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17098
17099 2013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17100
17101         * gst/vaapi/gstvaapisink.c:
17102           vaapisink: expose the raw video formats in static caps template.
17103           Expose all raw video formats in the static caps template since the
17104           vaapisink is supporting raw data. We will get the exact set of formats
17105           supported by the driver dynamically through the _get_caps() routine.
17106           https://bugzilla.gnome.org/show_bug.cgi?id=703271
17107           https://bugzilla.gnome.org/show_bug.cgi?id=720737
17108           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17109
17110 2013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17111
17112         * gst/vaapi/gstvaapidecode.c:
17113           vaapidecode: query downstream caps features like GLTextureUploadMeta.
17114           Fix vaapidecode to correctly report caps features downstream, when
17115           a custom pipeline is built manually.
17116           https://bugzilla.gnome.org/show_bug.cgi?id=719372
17117           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17118
17119 2013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17120
17121         * gst/vaapi/gstvaapidecode.c:
17122           vaapidecode: add system memory caps to template caps.
17123           Since vaapidecode provides buffer that can be mapped as regular memory,
17124           those caps should be added to the template caps. That only applies to
17125           GStreamer >= 1.2.
17126           https://bugzilla.gnome.org/show_bug.cgi?id=720608
17127           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17128
17129 2013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
17130
17131         * gst/vaapi/gstvaapidecode.c:
17132           vaapidecode: fix hang on SIGINT.
17133           vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
17134           <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
17135           locked. This fixes a deadlock on state change from PAUSED to READY.
17136           https://bugzilla.gnome.org/show_bug.cgi?id=720584
17137           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17138
17139 2013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
17140
17141         * gst/vaapi/gstvaapiencode.c:
17142           vaapiencode: fix possible hang on SIGINT.
17143           vaapiencode might hang when the pipeline is stopped without any EOS,
17144           e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
17145           running and locked. This fixes a possible deadlock on state change
17146           from PAUSED to READY.
17147           https://bugzilla.gnome.org/show_bug.cgi?id=720584
17148           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17149
17150 2014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17151
17152         * gst/vaapi/gstvaapiencode.c:
17153           vaapiencode: fix typo in error message.
17154           Fix incomplete error message in gst_vaapiencode_push_frame().
17155
17156 2014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17157
17158         * gst/vaapi/gstvaapipluginutil.c:
17159         * gst/vaapi/gstvaapipluginutil.h:
17160           plugins: add helpers to create video caps with features.
17161           Add gst_vaapi_video_format_new_template_caps_with_features() helper
17162           function to add the supplied caps feature string on GStreamer >= 1.2.
17163           Add gst_vaapi_find_preferred_caps_feature() helper function to discover
17164           the "best" caps feature to use for the supplied pad. In practice, we
17165           will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
17166           and finally the system memory caps.
17167           https://bugzilla.gnome.org/show_bug.cgi?id=719372
17168
17169 2014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17170
17171         * gst/vaapi/gstvaapivideometa_texture.c:
17172           plugins: don't apply overlay composition in GLTextureUpload function.
17173           The GLTextureUpload function is not in charge of doing the overlay
17174           composition if any.
17175           https://bugzilla.gnome.org/show_bug.cgi?id=721859
17176           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17177
17178 2014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17179
17180         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17181           encoder: re-order submission of VA objects.
17182           Change the submission order of VA objects so that to make that process
17183           more logical. i.e. submit sequence parameter first, if any; next the
17184           packed headers associated to sequece, picture or slices; and finally
17185           the actual picture and associated slices.
17186
17187 2014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17188
17189         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17190         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17191         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17192         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17193         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
17194           encoder: clean-up objects.
17195           Various clean-ups to improve consistency and readability: rename some
17196           variables, drop unused macro definitions, drop initialization of vars
17197           that are zero-initialized from the base class, drop un-necessary casts,
17198           allocate GPtrArrays with a destroy function.
17199
17200 2014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17201
17202         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17203           encoder: h264: fix frame cropping rectangle calculation.
17204           Fix frame cropping rectangle calculation to handle horizontal resolutions
17205           that don't match a multiple of 16 pixels, but also the vertical resolution
17206           that was incorrectly computed for progressive sequences too.
17207           https://bugzilla.gnome.org/show_bug.cgi?id=722089
17208
17209 2014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17210
17211         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17212           encoder: h264: improve automatic bitrate calculation.
17213           For non "Constant-QP" modes, we could provide more reasonable heuristics
17214           for the target bitrate. In general, 48 bits per macroblock with all the
17215           useful coding tools enable looks safe enough. Then, this rate is raised
17216           by +10% to +15% for each coding tool that is disabled.
17217           https://bugzilla.gnome.org/show_bug.cgi?id=719699
17218
17219 2014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17220
17221         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17222           encoder: h264: support "high-compression" tuning option.
17223           Add support for "high-compression" tuning option. First, determine the
17224           largest supported profile by the hardware. Next, check any target limit
17225           set by the user. Then, enable each individual coding tool based on the
17226           resulting profile_idc value to use.
17227           https://bugzilla.gnome.org/show_bug.cgi?id=719696
17228
17229 2014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17230
17231         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17232         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17233         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17234         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17235         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
17236         * gst/vaapi/gstvaapiencode_h264.c:
17237           encoder: h264: allow target decoder constraints.
17238           Allow user to precise the largest profile to use for encoding due
17239           to target decoder constraints. For instance, if CABAC entropy coding
17240           mode is requested by "constrained-baseline" profile only is desired,
17241           then an error is returned during codec configuration.
17242           Also make sure that the suitable profile we derived actually matches
17243           what the HW can cope with.
17244           https://bugzilla.gnome.org/show_bug.cgi?id=719694
17245
17246 2014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17247
17248         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17249           encoder: h264: refine size of coded buffer.
17250           Refine the heuristic to determine the maximum size of a coded buffer
17251           to account for the exact number of slices. set_context_info() is the
17252           last step during codec reconfiguration, no additional change is done
17253           afterwards, so re-using the num_slices field here is fine.
17254           https://bugzilla.gnome.org/show_bug.cgi?id=719953
17255
17256 2013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
17257
17258         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17259         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17260         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17261           encoder: h264: expose more coding tools.
17262           Add new H.264 coding tools to improve compression:
17263           - "cabac": enable CABAC entropy coding (default: FALSE);
17264           - "dct8x8": enable spatial transform 8x8 (default: FALSE).
17265           https://bugzilla.gnome.org/show_bug.cgi?id=719693
17266           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17267
17268 2014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17269
17270         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17271         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17272         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17273           encoder: h264: derive profile and level from active coding tools.
17274           Automatically derive the minimum profile and level to be used for
17275           encoding, based on the activated coding tools. The encoder will
17276           be trying to generate a bitstream that has the best chances to be
17277           decoded on most platforms by default.
17278           Also change the default profile to "constrained-baseline" so that
17279           to ensure maximum compatibility when the stream is decoded.
17280           https://bugzilla.gnome.org/show_bug.cgi?id=719691
17281
17282 2014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17283
17284         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17285         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17286         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17287           encoder: h264: fix hardware profile lookup.
17288           Fix lookup for a suitable HW profile, as to be used by the underlying
17289           hardware, based on heuristics that lead to characterize the SW profile,
17290           i.e. the one used by the SW level encoding logic.
17291           Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
17292           as they should respectively match the baseline and main profile.
17293           https://bugzilla.gnome.org/show_bug.cgi?id=719827
17294
17295 2014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17296
17297         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17298         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17299         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17300           encoder: h264: support only the byte-stream format.
17301           The libgstvaapi core encoders are meant to support raw bitstreams only.
17302           Henceforth, we are always producing a stream in "byte-stream" format.
17303           However, the "codec-data" buffer which holds SPS and PPS headers is
17304           always available. The "lengthSizeMinusOne" field is always set to 3
17305           so that in-place "byte-stream" format to "avc" format conversion could
17306           be performed.
17307
17308 2014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17309
17310         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17311         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17312         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17313         * gst/vaapi/gstvaapiencode_h264.c:
17314           encoder: h264: clean-ups.
17315           Various clean-ups to improve consistency and readability: rename some
17316           variables, drop unused macro definitions, drop initialization of vars
17317           that are zero-initialized from the base class, drop un-necessary casts.
17318
17319 2014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17320
17321         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17322           encoder: mpeg2: fix hardware profile lookup.
17323           Fix lookup for a suitable HW profile, as to be used by the underlying
17324           hardware, based on heuristics that lead to characterize the SW profile,
17325           i.e. the one used by the SW level encoding logic.
17326
17327 2014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17328
17329         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17330         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17331           encoder: mpeg2: derive profile and level from active coding tools.
17332           Automatically derive the minimum profile and level to be used for
17333           encoding, based on the activated coding tools. Improve lookup for
17334           the best suitable level with the new MPEG-2 helper functions.
17335           Also change the default profile to "simple" so that to ensure maximum
17336           compatibility when the stream is decoded.
17337           https://bugzilla.gnome.org/show_bug.cgi?id=719703
17338
17339 2014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17340
17341         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17342         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17343         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17344           encoder: mpeg2: clean-ups.
17345           Various clean-ups to improve consistency and readability: drop unused
17346           macro definitions, drop initialization of vars that are zero-initialized
17347           from the base class, drop un-necessary casts.
17348
17349 2014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17350
17351         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17352         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17353         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17354         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17355         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17356           encoder: add tuning options API.
17357           Add encoder "tune" option to override the default behaviour that is to
17358           favor maximum decoder compatibility at the expense of lower compression
17359           ratios.
17360           Expected tuning options to be developed are:
17361           - "high-compression": improve compression, target best-in-class decoders;
17362           - "low-latency": tune for low-latency decoding;
17363           - "low-power": tune for encoding in low power / resources conditions.
17364
17365 2014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17366
17367         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17368         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17369           encoder: fix bitrate units to match kbps.
17370           Bitrate is expressed in kilobits per second (kbps). So, this exactly
17371           means in multiple of 1000 bits, not 1024 bits.
17372           https://bugzilla.gnome.org/show_bug.cgi?id=722086
17373
17374 2014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17375
17376         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17377         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17378         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17379           encoder: clean-ups.
17380           Drop obsolete and unused macros. Add a few doc comments. Slightly
17381           improve indentation of a few leftovers.
17382
17383 2014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17384
17385         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17386         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17387         * gst-libs/gst/vaapi/gstvaapivalue.c:
17388         * gst-libs/gst/vaapi/gstvaapivalue.h:
17389           encoder: filter out the supported set of rate-control properties.
17390           Only expose the exact static set of supported rate-control properties
17391           to the upper layer. For instance, if the GstVaapiEncoderXXX class does
17392           only support CQP rate control, then only add it the the exposed enum
17393           type.
17394           Add helper macros and functions to build a GType for an enum subset.
17395
17396 2014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17397
17398         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17399         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17400         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17401         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17402         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17403         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17404         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17405         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17406         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17407           encoder: add keyframe period API.
17408           Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
17409           user control the maximum distance between two keyframes. This new
17410           property can only be set prior to gst_vaapi_encoder_set_codec_state().
17411           A value of zero for "keyframe-period" gets it re-evaluated to the
17412           actual framerate during encoder reconfiguration.
17413
17414 2014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17415
17416         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17417         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17418         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17419         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17420           encoder: improve codec reconfiguration.
17421           Improve codec reconfiguration to be performed only through a single
17422           function. That is, remove the _set_context_info() hook as subclass
17423           should not alter the parent GstVaapiContextInfo itself. Besides, the
17424           VA context is constructed only at the final stages of reconfigure().
17425
17426 2014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17427
17428         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
17429         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
17430         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17431           encoder: fix possible memory leak of coded buffer pools.
17432           Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
17433           buffer pool only if the coded buffer size actually changed.
17434
17435 2014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17436
17437         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17438         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17439         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17440         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17441         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17442         * gst/vaapi/gstvaapiencode.c:
17443         * gst/vaapi/gstvaapiencode.h:
17444           encoder: add video codec-state API.
17445           Add interface to communicate the encoder resolution and related info
17446           like framerate, interlaced vs. progressive, etc. This new interface
17447           supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
17448           but rather use GstVideoCodecState.
17449           Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
17450           point for codec config. This means that the encoder is reconfigured
17451           there to match the latest properties.
17452
17453 2014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17454
17455         * gst/vaapi/gstvaapiencode.c:
17456           vaapiencode: don't crash on NULL encoder on _finish().
17457           Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
17458           if it was not created in the first place. Return "not-negotiated" error
17459           since this means we did not even reach GstVideoEncoder::set_format(),
17460           where the encoder could have been created.
17461           This fixes a crash when the vaapiencode_* plug-in elements get deallocated
17462           and that we failed to negotiate either pad.
17463           https://bugzilla.gnome.org/show_bug.cgi?id=719704
17464
17465 2014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17466
17467         * gst/vaapi/gstvaapiencode.c:
17468         * gst/vaapi/gstvaapiencode.h:
17469         * gst/vaapi/gstvaapiencode_h264.c:
17470           vaapiencode: use more GstVaapiPluginBase facilities.
17471           Avoid duplication of pad references or query functions since they are
17472           provided through the GstVaapiPluginBase object.
17473
17474 2014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17475
17476         * gst/vaapi/gstvaapiencode.c:
17477         * gst/vaapi/gstvaapiencode.h:
17478         * gst/vaapi/gstvaapiencode_h264.c:
17479         * gst/vaapi/gstvaapiencode_h264.h:
17480         * gst/vaapi/gstvaapiencode_mpeg2.c:
17481           vaapiencode: fix negotiation process of output caps.
17482           The specified caps in gst_video_encoder_set_output_state() function
17483           arguments should not contain any resolution, pixel-aspect-ratio,
17484           framerate, codec-data et al. Those rather should be set through the
17485           returned GstVideoCodecState. This means that output caps creation
17486           could be delayed until before gst_video_encoder_finish_frame() is
17487           called.
17488           This greatly simplifies the GstVideoEncoder::set_format() callback
17489           by the way.
17490
17491 2014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17492
17493         * gst/vaapi/gstvaapiencode.c:
17494           vaapiencode: make GstVaapiEncode an abstract type.
17495           Make base GstVaapiEncode class an abstract type so that we cannot
17496           create an instance from it without going through any of the codec
17497           specific derived class.
17498
17499 2014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17500
17501         * gst/vaapi/gstvaapiencode.c:
17502         * gst/vaapi/gstvaapiencode.h:
17503         * gst/vaapi/gstvaapiencode_h264.c:
17504         * gst/vaapi/gstvaapiencode_mpeg2.c:
17505           vaapiencode: rename a few member functions.
17506           Rename a few member functions to make them more consistent:
17507           - alloc_encoder(): now reduced to allocate the encoder object only;
17508           - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
17509
17510 2014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17511
17512         * gst/vaapi/gstvaapiencode.c:
17513         * gst/vaapi/gstvaapiencode.h:
17514         * gst/vaapi/gstvaapiencode_h264.c:
17515         * gst/vaapi/gstvaapiencode_h264.h:
17516         * gst/vaapi/gstvaapiencode_mpeg2.c:
17517           vaapiencode: update for new properties API.
17518           Update MPEG-2 and H.264 encode elements to cope with the new core
17519           libgstvaapi properties API. i.e. all configurable properties are now
17520           directly handled at the GstVaapiEncoder level.
17521           Besides, this also makes sure to not use or modify the GstVaapiEncoder
17522           private definitions directly. Private data need to remain private.
17523           https://bugzilla.gnome.org/show_bug.cgi?id=719529
17524
17525 2014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17526
17527         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17528         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17529         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17530         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17531         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17532         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
17533         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17534           encoder: add properties API.
17535           Add interface to communicate configurable properties to the encoder.
17536           This covers both the common ones (rate-control, bitrate), and the
17537           codec specific properties.
17538           https://bugzilla.gnome.org/show_bug.cgi?id=719529
17539
17540 2014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17541
17542         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17543         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17544         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17545         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17546         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17547         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17548         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17549         * gst/vaapi/gstvaapiencode.c:
17550         * gst/vaapi/gstvaapiencode_h264.c:
17551         * gst/vaapi/gstvaapiencode_mpeg2.c:
17552           encoder: add bitrate API.
17553           Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
17554           the bitrate for encoding. Currently, changing this parameter is only
17555           valid before the first frame is encoded. Should the value be modified
17556           afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
17557           returned.
17558           https://bugzilla.gnome.org/show_bug.cgi?id=719529
17559
17560 2014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17561
17562         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17563         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17564         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17565         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17566         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
17567         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17568         * gst-libs/gst/vaapi/gstvaapitypes.h:
17569         * gst/vaapi/gstvaapiencode.c:
17570         * gst/vaapi/gstvaapiencode.h:
17571         * gst/vaapi/gstvaapiencode_h264.c:
17572         * gst/vaapi/gstvaapiencode_mpeg2.c:
17573           encoder: add rate control API.
17574           Add gst_vaapi_encoder_set_rate_control() interface to request a new
17575           rate control mode for encoding. Changing the rate control mode is
17576           only valid prior to encoding the very first frame. Afterwards, an
17577           error ("operation-failed") is issued.
17578           https://bugzilla.gnome.org/show_bug.cgi?id=719529
17579
17580 2014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17581
17582         * gst/vaapi/gstvaapiencode.c:
17583         * gst/vaapi/gstvaapiencode_h264.c:
17584         * gst/vaapi/gstvaapiencode_mpeg2.c:
17585           vaapiencode: fix indentation.
17586
17587 2014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17588
17589         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17590         * gst-libs/gst/vaapi/gstvaapiencoder.h:
17591         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17592         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17593         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
17594         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
17595         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17596         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
17597         * gst/vaapi/gstvaapiencode.h:
17598           encoder: fix indentation.
17599
17600 2014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17601
17602         * gst-libs/gst/vaapi/Makefile.am:
17603         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
17604         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
17605         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
17606           utils: add new MPEG-2 helper functions.
17607           Add various helper functions to convert profile, level, chroma formats
17608           from gstreamer-vaapi world and the MPEG-2 specification world.
17609
17610 2014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17611
17612         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17613           utils: h264: don't use fatal asserts.
17614           Replace g_assert() with a g_debug() so that to not make the program
17615           abort when an unsupported value is supplied.
17616
17617 2014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17618
17619         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17620         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
17621           utils: h264: add helpers for profile and level string mappings.
17622           Add profile and level helper functions to convert to/from strings.
17623
17624 2014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17625
17626         * gst-libs/gst/vaapi/Makefile.am:
17627         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17628         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
17629         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
17630         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
17631           utils: h264: expose levels in public header.
17632           Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
17633           H.264 levels in there. The additional helper functions are meant
17634           to be private for now.
17635
17636 2014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17637
17638         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
17639         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
17640         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17641         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17642           codec: add helper macros to maintain object refcount.
17643           Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
17644           to avoid explicit casts to GstVaapiMiniObject in all caller sites.
17645
17646 2014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17647
17648         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17649         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17650           codec: re-indent decoder objects.
17651
17652 2014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17653
17654         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
17655         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
17656           codec: re-indent base codec objects.
17657
17658 2014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17659
17660         * gst/vaapi/gstvaapipluginbase.c:
17661           plugins: do not free debug category in finalize method.
17662           Fixes a crash when multiple vaapidecode elements are finalized since
17663           the debug category is created once in the class init method.
17664           This is a regression from git commit 7e58d60.
17665           https://bugzilla.gnome.org/show_bug.cgi?id=721390
17666           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17667
17668 2014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17669
17670         * gst-libs/gst/vaapi/glibcompat.h:
17671         * tests/simple-decoder.c:
17672           tests: simple-decoder: don't use deprecated g_thread_create().
17673           Use g_thread_try_new() instead of the deprecated g_thread_create()
17674           function. Provide compatibility glue for any GLib version < 2.31.2.
17675
17676 2014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17677
17678         * gst-libs/gst/vaapi/gstvaapidecoder.c:
17679         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
17680         * gst-libs/gst/vaapi/gstvaapisurface.c:
17681         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17682         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17683         * gst/vaapi/gstvaapiencode.c:
17684           Fix printf()-like formats.
17685           Fix formts for various GST_DEBUG et al. invocations. More precisely,
17686           make size_t arguments use the %zu format specifier accordingly; force
17687           XID formats to be a 32-bit unsigned integer; and fix the format used
17688           for gst_vaapi_create_surface_with_format() error cases since we have
17689           been using strings nowadays.
17690
17691 2013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17692
17693         * gst-libs/gst/vaapi/video-format.c:
17694         * gst-libs/gst/vaapi/video-format.h:
17695           utils: format: drop unused helper functions.
17696           The following helper functions are no longer used, thus are removed:
17697           - gst_vaapi_video_format_from_structure()
17698           - gst_vaapi_video_format_from_caps()
17699           - gst_vaapi_video_format_to_caps()
17700
17701 2013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17702
17703         * gst-libs/gst/vaapi/video-format.c:
17704         * gst-libs/gst/vaapi/video-format.h:
17705           utils: re-indent GstVideoFormat related helpers.
17706
17707 2013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17708
17709         * gst/vaapi/gstvaapidownload.c:
17710           download: use GstVideoInfo facilities to build output caps.
17711           Use standard GstVideoInfo related functions to build the output caps,
17712           thus directly preserving additional fields as needed, instead of
17713           manually copying them over through gst_vaapi_append_surface_caps().
17714           Also ensure that the input caps are fixated first.
17715
17716 2013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17717
17718         * gst/vaapi/gstvaapidownload.c:
17719         * gst/vaapi/gstvaapipluginutil.c:
17720         * gst/vaapi/gstvaapipluginutil.h:
17721         * gst/vaapi/gstvaapiuploader.c:
17722           plugins: factor out construction of template caps.
17723           Add new helper functions to build video template caps.
17724           - gst_vaapi_video_format_new_template_caps():
17725           create GstCaps with size, frame rate and PAR to full range
17726           - gst_vaapi_video_format_new_template_caps_from_list():
17727           try to create a "simplified" list from the supplied formats
17728
17729 2013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17730
17731         * gst/vaapi/gstvaapipluginutil.c:
17732         * gst/vaapi/gstvaapipluginutil.h:
17733         * gst/vaapi/gstvaapipostproc.c:
17734           plugins: factor out construction of GValue from GstVideoFormat.
17735           Add new helper functions to build GValues from GstVideoFormat:
17736           - gst_vaapi_value_set_format():
17737           build a GValue from the supplied video format
17738           - gst_vaapi_value_set_format_list():
17739           build a GValue list from the supplied array of video formats
17740
17741 2013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17742
17743         * gst/vaapi/gstvaapipluginutil.c:
17744         * gst/vaapi/gstvaapipluginutil.h:
17745         * gst/vaapi/gstvaapivideocontext.c:
17746         * gst/vaapi/gstvaapivideocontext.h:
17747           plugins: re-indent common and video context creation utils.
17748
17749 2013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17750
17751         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17752         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17753         * gst/vaapi/gstvaapidecode.c:
17754         * tests/test-display.c:
17755           display: don't use GstCaps for decode or encode profiles list.
17756           Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
17757           more convenient APIs that return an array of GstVaapiProfile instead
17758           of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
17759
17760 2013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17761
17762         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17763         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17764         * gst/vaapi/gstvaapidownload.c:
17765         * gst/vaapi/gstvaapiuploader.c:
17766         * tests/test-display.c:
17767           display: don't use GstCaps for image or subpicture formats list.
17768           Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
17769           returned GstCaps, with more convenient APIs that return an array of
17770           GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
17771
17772 2013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17773
17774         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17775         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17776         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17777           display: allocate queried resources on-demand.
17778           Allocate the set of decoders or encoders on-demand, when they are
17779           queried. Likewise for VA display attributes, image and subpicture
17780           formats.
17781
17782 2013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17783
17784         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17785         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17786         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
17787         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
17788         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
17789         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
17790         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
17791         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
17792         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17793         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
17794         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
17795         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
17796         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
17797         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
17798         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
17799         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
17800         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
17801           display: re-indent all GstVaapiDisplay related source code.
17802
17803 2013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17804
17805         * gst-libs/gst/vaapi/gstvaapiprofile.c:
17806         * gst-libs/gst/vaapi/gstvaapiprofile.h:
17807           utils: add helper functions to get codec or profile name.
17808
17809 2013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17810
17811         * gst/vaapi/gstvaapipostproc.c:
17812         * gst/vaapi/gstvaapipostproc.h:
17813         * gst/vaapi/gstvaapiuploader.c:
17814           plugins: fix permissions for certain files.
17815           Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
17816           files.
17817
17818 2013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17819
17820         * gst/vaapi/gstvaapivideometa_texture.c:
17821           plugins: implement GLTextureUploadMeta user data copy.
17822           Makes the copies of a buffer reference their own GLTextureUploadMeta
17823           user data and prevent the original buffer accessing already freed
17824           memory if its copies has been released and freed.
17825           https://bugzilla.gnome.org/show_bug.cgi?id=720336
17826           [Propagate the original meta texture to the copy too]
17827           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17828
17829 2013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17830
17831         * gst/vaapi/gstvaapiencode.c:
17832         * gst/vaapi/gstvaapiencode.h:
17833         * gst/vaapi/gstvaapipluginbase.c:
17834         * gst/vaapi/gstvaapipluginbase.h:
17835         * gst/vaapi/gstvaapipostproc.c:
17836         * gst/vaapi/gstvaapipostproc.h:
17837         * gst/vaapi/gstvaapisink.c:
17838         * gst/vaapi/gstvaapisink.h:
17839           plugins: factor out support for raw YUV buffers on sink pads.
17840           Factor out propose_allocation() hooks, creation of video buffer pool
17841           for the sink pad, conversion from raw YUV buffers to VA surface backed
17842           buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
17843           with the new GstVaapiPluginBase abilities.
17844
17845 2013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17846
17847         * gst-libs/gst/vaapi/gstcompat.h:
17848         * gst/vaapi/gstvaapidecode.c:
17849         * gst/vaapi/gstvaapidecode.h:
17850         * gst/vaapi/gstvaapidownload.c:
17851         * gst/vaapi/gstvaapipluginbase.c:
17852         * gst/vaapi/gstvaapipluginbase.h:
17853         * gst/vaapi/gstvaapipostproc.c:
17854         * gst/vaapi/gstvaapipostproc.h:
17855         * gst/vaapi/gstvaapisink.c:
17856         * gst/vaapi/gstvaapiupload.c:
17857           plugins: factor out pad caps.
17858
17859 2013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17860
17861         * gst/vaapi/gstvaapidecode.c:
17862         * gst/vaapi/gstvaapidownload.c:
17863         * gst/vaapi/gstvaapiencode.c:
17864         * gst/vaapi/gstvaapipluginbase.c:
17865         * gst/vaapi/gstvaapipostproc.c:
17866         * gst/vaapi/gstvaapisink.c:
17867         * gst/vaapi/gstvaapiupload.c:
17868           plugins: factor out video context sharing code.
17869
17870 2013-12-13 13:24:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17871
17872         * gst/vaapi/gstvaapidecode.c:
17873         * gst/vaapi/gstvaapidownload.c:
17874         * gst/vaapi/gstvaapiencode.c:
17875         * gst/vaapi/gstvaapipluginbase.c:
17876         * gst/vaapi/gstvaapipluginbase.h:
17877         * gst/vaapi/gstvaapipostproc.c:
17878         * gst/vaapi/gstvaapisink.c:
17879         * gst/vaapi/gstvaapiupload.c:
17880           plugins: factor out GstImplementsInterface.
17881
17882 2013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17883
17884         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17885         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17886         * gst/vaapi/gstvaapipluginbase.c:
17887         * gst/vaapi/gstvaapipluginutil.c:
17888           plugins: check type of display obtained from neighbours.
17889           Fix display creation code to check that any display obtained from a
17890           neighbour actually has the type we expect. Note: if display type is
17891           set to "any", we can then accept any VA display type.
17892
17893 2013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17894
17895         * gst/vaapi/gstvaapidecode.c:
17896         * gst/vaapi/gstvaapidownload.c:
17897         * gst/vaapi/gstvaapiencode.c:
17898         * gst/vaapi/gstvaapipluginbase.c:
17899         * gst/vaapi/gstvaapipluginbase.h:
17900         * gst/vaapi/gstvaapipluginutil.c:
17901         * gst/vaapi/gstvaapipluginutil.h:
17902         * gst/vaapi/gstvaapipostproc.c:
17903         * gst/vaapi/gstvaapisink.c:
17904         * gst/vaapi/gstvaapisink.h:
17905         * gst/vaapi/gstvaapiupload.c:
17906           plugins: factor out display creation process.
17907           Move common VA display creation code to GstVaapiPluginBase, with the
17908           default display type remaining "any". Also add a "display-changed"
17909           hook so that subclasses could perform additional tasks when/if the
17910           VA display changed, due to a new display type request for instance.
17911           All plug-ins are updated to cope with the new internal APIs.
17912
17913 2013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17914
17915         * gst/vaapi/Makefile.am:
17916         * gst/vaapi/gstvaapidecode.c:
17917         * gst/vaapi/gstvaapidecode.h:
17918         * gst/vaapi/gstvaapidownload.c:
17919         * gst/vaapi/gstvaapidownload.h:
17920         * gst/vaapi/gstvaapiencode.c:
17921         * gst/vaapi/gstvaapiencode.h:
17922         * gst/vaapi/gstvaapipluginbase.c:
17923         * gst/vaapi/gstvaapipluginbase.h:
17924         * gst/vaapi/gstvaapipostproc.c:
17925         * gst/vaapi/gstvaapipostproc.h:
17926         * gst/vaapi/gstvaapisink.c:
17927         * gst/vaapi/gstvaapisink.h:
17928         * gst/vaapi/gstvaapiupload.c:
17929         * gst/vaapi/gstvaapiupload.h:
17930           plugins: add new base object, store display in there.
17931           Introduce a new GstVaapiPluginBase object that will contain all common
17932           data structures and perform all common tasks. First step is to have a
17933           single place to hold VA displays.
17934           While we are at it, also make sure to store and subsequently release
17935           the appropriate debug category for the subclasses.
17936
17937 2013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17938
17939         * gst-libs/gst/vaapi/gstvaapiobject.h:
17940         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
17941         * gst/vaapi/gstvaapivideometa_texture.c:
17942         * gst/vaapi/gstvaapivideometa_texture.h:
17943           plugins: fix GLTextureUploadMeta to work with different texture ids.
17944           The GLTextureUploadMeta implementation assumed that for each upload()
17945           sequence, the supplied texture id is always the same as the one that
17946           was previously cached into the underlying GstVaapiTexture. Cope with
17947           any texture id change the expense to recreate the underlying VA/GLX
17948           resources.
17949           https://bugzilla.gnome.org/show_bug.cgi?id=719643
17950
17951 2013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17952
17953         * gst/vaapi/gstvaapidecode.c:
17954         * gst/vaapi/gstvaapivideobufferpool.c:
17955         * gst/vaapi/gstvaapivideometa_texture.c:
17956           plugins: allow builds without GLX enabled for GStreamer 1.2.
17957           Don't try to build GLTextureUploadMeta related code if GLX is not
17958           enabled during GStreamer >= 1.2 builds.
17959
17960 2013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
17961
17962         * gst/vaapi/gstvaapidecode.c:
17963         * gst/vaapi/gstvaapivideobufferpool.c:
17964         * gst/vaapi/gstvaapivideobufferpool.h:
17965         * gst/vaapi/gstvaapivideometa_texture.c:
17966         * gst/vaapi/gstvaapivideometa_texture.h:
17967           plugins: request GLTextureUpload meta on buffers in the buffer pool.
17968           Requesting the GLTextureUpload meta on buffers in the bufferpool
17969           prevents such metas from being de-allocated when buffers are released
17970           in the sink.
17971           This is particulary useful in terms of performance when using the
17972           GLTextureUploadMeta API since the GstVaapiTexture associated with
17973           the target texture is stored in the meta.
17974           https://bugzilla.gnome.org/show_bug.cgi?id=712558
17975           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17976
17977 2013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17978
17979         * gst/vaapi/gstvaapivideometa_texture.c:
17980           plugins: robustify GstVideoGLTextureUploadMeta implementation.
17981           Make GstVideoGLTextureUploadMeta::upload() implementation more robust
17982           when the GstVaapiTexture associated with the supplied texture id could
17983           not be created.
17984
17985 2013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17986
17987         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17988           h264: improve robustness when packets are missing.
17989           Improve robustness when some expected packets where not received yet
17990           or that were not correctly decoded. For example, don't try to decode
17991           a picture if there was no valid frame headers parsed so far.
17992           https://bugs.freedesktop.org/show_bug.cgi?id=57902
17993
17994 2013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17995
17996         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17997           decoder: h264: fix decoding of BA3_SVA_C.264.
17998           Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
17999           extended profile specifications. However, the SPS header has the
18000           constraint_set1_flag syntax element set to 1. This means that, if
18001           a Main profile compliant decoder is available, then it should be
18002           able to decode this stream.
18003           This changes makes it possible to fall-back from Extended profile
18004           to Main profile if constraint_set1_flag is set to 1.
18005           https://bugzilla.gnome.org/show_bug.cgi?id=720190
18006
18007 2013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18008
18009         * gst-libs/gst/vaapi/gstvaapiprofile.h:
18010         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
18011           utils: h264: add more profiles.
18012           Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
18013           profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
18014           multiview profiles (H.10.1.1, H.10.1.2).
18015           Document "Constrained Baseline" and "High 10" profiles.
18016
18017 2013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18018
18019         * ext/codecparsers:
18020           codecparsers: update to gst-vaapi-branch commit e7d0e18.
18021           e7d0e18 h264: complete set of NAL unit types
18022
18023 2013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
18024
18025         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18026         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18027           decoder: h264: add support for constrained baseline profile.
18028           Recognize streams marked as conforming to the "Constrained Baseline
18029           Profile". If VA driver supports that as is, fine. Otherwise, fallback
18030           to baseline, main or high profile.
18031           Constrained Baseline Profile conveys coding tools that are common
18032           to baseline profile and main profile.
18033           https://bugzilla.gnome.org/show_bug.cgi?id=719947
18034           [Added fallbacks to main and high profiles]
18035           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18036
18037 2013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18038
18039         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18040           decoder: h264: fix decoding of scaling lists.
18041           The GStreamer codecparser layer now parses the scaling lists in zigzag
18042           scan order, as expected, so that to match the original bitstream layout
18043           and specification. However, further convert the scaling lists into
18044           raster scan order to fit the existing practice in most VA drivers.
18045           https://bugzilla.gnome.org/show_bug.cgi?id=706406
18046
18047 2013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18048
18049         * ext/codecparsers:
18050           codecparsers: update to gst-vaapi-branch commit 177c73b.
18051           a7e3255 add H.265 (HEVC) bitstream parser
18052           177c73b h264: fix picture level scaling lists derivation (rule B)
18053           14733f1 h264: fix parsing of VCL HRD parameters
18054           59a0b47 h264: store quantization matrices in zig-zag order
18055           ffb6e26 h264: add helpers to convert quantization matrices
18056           c78a504 mpeg2: also initialize debug category in parse_sequence_header()
18057           719d1b0 mpeg2: turn internal consistency check into a g_assert()
18058           5241d8e all: remove some unused functions
18059           18eb312 all: fix for GST_DISABLE_GST_DEBUG
18060           963c04a all: make warnings more meaningful
18061
18062 2013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18063
18064         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18065         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
18066         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
18067           utils: add helpers for H.264 levels.
18068           - gst_vaapi_utils_h264_get_level():
18069           Returns GstVaapiLevelH264 from H.264 level_idc value
18070           - gst_vaapi_utils_h264_get_level_idc():
18071           Returns H.264 level_idc value from GstVaapiLevelH264
18072           - gst_vaapi_utils_h264_get_level_limits():
18073           Returns level limits as specified in Table A-1 of the H.264 standard
18074           - gst_vaapi_utils_h264_get_level_limits_table():
18075           Returns the Table A-1 specification
18076
18077 2013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18078
18079         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18080         * gst-libs/gst/vaapi/gstvaapiprofile.h:
18081         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
18082           utils: add new H.264 profiles.
18083           Add "Constrained Baseline Profile" and "High 10 Profile" definitions
18084           and helper functiions.
18085
18086 2013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18087
18088           utils: add new H.264 helper functions.
18089           * Profiles:
18090           - gst_vaapi_utils_h264_get_profile():
18091           Returns GstVaapiProfile from H.264 profile_idc value
18092           - gst_vaapi_utils_h264_get_profile_idc():
18093           Returns H.264 profile_idc value from GstVaapiProfile
18094           * Chroma formats:
18095           - gst_vaapi_utils_h264_get_chroma_type():
18096           Returns GstVaapiChromaType from H.264 chroma_format_idc value
18097           - gst_vaapi_utils_h264_get_chroma_format_idc():
18098           Returns H.264 chroma_format_idc value from GstVaapiChromaType
18099
18100 2013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
18101
18102         * gst-libs/gst/base/Makefile.am:
18103         * gst-libs/gst/vaapi/Makefile.am:
18104           Fix missing files in distribution tarball.
18105           https://bugzilla.gnome.org/show_bug.cgi?id=719776
18106           [Additional fixes and clean-ups]
18107           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18108
18109 2013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18110
18111         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18112         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18113           encoder: fix computation of max coded buffer size (again).
18114           The previous fix was only valid to express the maximum size of the
18115           macroblock layer, i.e. without any headers. Now, also account for
18116           the slice headers and top picture header, but also any other header
18117           we might stuff into the VA coded buffer, e.g. sequence headers.
18118
18119 2013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18120
18121         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18122         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18123         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18124           encoder: fix computation of max coded buffer size.
18125           Fix coded buffer size for each codec. A generic issue was that the
18126           number of macroblocks was incorrectly computed. The second issue was
18127           specific to MPEG-2 were the max number of bits per macroblock, and
18128           as defined by the standard, was incorrectly mapped to the (lower)
18129           H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
18130
18131 2013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18132
18133         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18134         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18135         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18136         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18137           encoder: simplify VA context initialization process.
18138           Change get_context_info() into a set_context_info() function that
18139           initializes common defaults into the base class, thus allowing the
18140           subclasses to specialize the context info further on.
18141           The set_context_info() hook is also the location where additional
18142           context specific data could be initialized. At this point, we are
18143           guaranteed to have valid video resolution size and framerate. i.e.
18144           gst_vaapi_encoder_set_format() was called beforehand.
18145
18146 2013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
18147
18148         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18149           encoder: fix mpeg2 compilation error.
18150           https://bugzilla.gnome.org/show_bug.cgi?id=719746
18151           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18152
18153 2013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18154
18155         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18156         * gst-libs/gst/vaapi/gstvaapiencoder.h:
18157         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18158         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18159         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18160         * gst/vaapi/gstvaapiencode.c:
18161           encoder: clean-ups and document public APIs.
18162           Clean public APIs up so that to better align with the decoder APIs.
18163           Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
18164           return the VA coded buffer proxy. Also provide useful documentation
18165           for the public APIs.
18166
18167 2013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18168
18169         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18170         * gst-libs/gst/vaapi/gstvaapiencoder.h:
18171         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18172           encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
18173           Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
18174           allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
18175           through GstVaapiCodedBufferProxy user-data facility.
18176           Besides, use a GAsyncQueue to maintain a thread-safe queue object of
18177           coded buffers.
18178           Partial fix for the following report:
18179           https://bugzilla.gnome.org/show_bug.cgi?id=719530
18180
18181 2013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18182
18183         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18184         * gst-libs/gst/vaapi/gstvaapiencoder.h:
18185         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18186         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18187         * gst/vaapi/gstvaapiencode.c:
18188           encoder: refactor status codes.
18189           Drop obsolete or unused status codes. Align some status codes with the
18190           decoder counterparts.
18191
18192 2013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18193
18194         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18195         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18196         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
18197         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18198         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
18199         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18200           encoder: fix subclassing process.
18201           Fix the GstVaapiEncoderClass parent class type. Make sure to validate
18202           subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
18203           thus avoiding useless run-time checks. Also simplify the subclass
18204           initialization process to be less error prone.
18205
18206 2013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18207
18208           encoder: rework GstVaapiCodedBuffer and related proxy.
18209           Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
18210           public and private interfaces. Besides, the map/unmap APIs should not
18211           be exposed as is but appropriate accessors should be provided instead.
18212           * GstVaapiCodedBuffer: VA coded buffer abstraction
18213           - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
18214           - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
18215           * GstVaapiCodedBufferPool: pool of VA coded buffer objects
18216           - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
18217           the specified max size, and bound to the supplied encoder
18218           * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
18219           - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
18220           - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
18221           - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
18222           Rationale: more optimized transfer functions might be provided in the
18223           future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
18224           https://bugzilla.gnome.org/show_bug.cgi?id=719775
18225
18226 2013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18227
18228         * gst/vaapi/gstvaapidecode.c:
18229         * gst/vaapi/gstvaapiencode.c:
18230         * gst/vaapi/gstvaapipostproc.c:
18231         * gst/vaapi/gstvaapisink.c:
18232           plugins: fix reference leaks of VA display objects.
18233           Fix GstElement::set_context() implementation for all plug-in elements
18234           to avoid leaking an extra reference to the VA display, thus preventing
18235           correct cleanup of VA resources in GStreamer 1.2 builds.
18236
18237 2013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18238
18239         * gst/vaapi/gstvaapipluginutil.c:
18240         * gst/vaapi/gstvaapivideocontext.c:
18241           plugins: simplify gst_vaapi_ensure_display().
18242           Return earlier if the creation of a VA display failed. Likewise, simplify
18243           gst_vaapi_video_context_propagate() now that we are guaranteed to have a
18244           valid VA display.
18245
18246 2013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18247
18248         * gst/vaapi/gstvaapivideomemory.c:
18249           plugins: fix memory leaks through GstVideoMeta maps.
18250           When GstVideoMeta maps were used, the supporting functions incorrectly
18251           used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
18252           always increasing the associated GstMemory reference count and giving
18253           zero chance to actually release that, and subsequently the VA display.
18254
18255 2013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18256
18257         * gst-libs/gst/vaapi/gstvaapifilter.c:
18258         * gst/vaapi/gstvaapiencode_h264.c:
18259         * gst/vaapi/gstvaapiencode_mpeg2.c:
18260         * gst/vaapi/gstvaapipostproc.c:
18261         * gst/vaapi/gstvaapisink.c:
18262         * gst/vaapi/gstvaapiuploader.c:
18263           plugins: use G_PARAM_STATIC_STRINGS.
18264           This avoids a few string copies during initialization.
18265
18266 2013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18267
18268         * gst/vaapi/gstvaapivideometa.c:
18269           plugins: simplify VA video meta to only reference surface proxies.
18270           Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
18271           now allocated from a surface pool. This also means that the local
18272           reference to the VA surface is also gone, as it could be extracted
18273           from the associated surface proxy.
18274
18275 2013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18276
18277         * gst/vaapi/gstvaapivideobuffer.c:
18278         * gst/vaapi/gstvaapivideobuffer.h:
18279         * gst/vaapi/gstvaapivideometa.c:
18280         * gst/vaapi/gstvaapivideometa.h:
18281           plugins: drop obsolete functions.
18282           Drop the following functions that are not longer used:
18283           - gst_vaapi_video_buffer_new_with_surface()
18284           - gst_vaapi_video_meta_new_with_surface()
18285           - gst_vaapi_video_meta_set_surface()
18286           - gst_vaapi_video_meta_set_surface_from_pool()
18287
18288 2013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18289
18290         * gst/vaapi/gstvaapivideometa.c:
18291           plugins: allow VA video meta to be allocated from surface proxy pools.
18292           Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
18293           from surface pools instead of plain VA surfaces. This is to simplify
18294           allocations now that surface proxies are created from a surface pool.
18295
18296 2013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18297
18298         * docs/reference/libs/libs-sections.txt:
18299         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18300         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18301         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18302           surfaceproxy: add copy function.
18303           Add gst_vaapi_surface_proxy_copy() function that creates a new surface
18304           proxy with the same information from the parent proxy, except that the
18305           user-defined destroy notify function is not copied over.
18306           The underlying VA surface is pushed back to the video pool only when
18307           the last reference to the parent surface proxy is released.
18308
18309 2013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18310
18311         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
18312         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
18313         * gst/vaapi/gstvaapiencode.c:
18314           vaapiencode: optimize _handle_frame() to avoid extra allocation.
18315           Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
18316           and in particular the GstVaapiEncObjUserData object. i.e. directly use
18317           the VA surface proxy from the source buffer. This also makes the user
18318           data attached to the GstVideoCodecFrame more consistent between both
18319           the decoder and encoder plug-in elements.
18320
18321 2013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18322
18323         * gst/vaapi/gstvaapiencode.c:
18324           vaapiencode: fix memory leaks in _push_frame() on error.
18325           Simplify gst_vaapiencode_push_frame(), while also removing the call
18326           to gst_video_encoder_negotiate() since this is implicit in _finish()
18327           if caps changed. Also fixed memory leaks that occured on error.
18328
18329 2013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18330
18331         * gst/vaapi/gstvaapiencode.c:
18332         * gst/vaapi/gstvaapiencode.h:
18333         * gst/vaapi/gstvaapiencode_h264.c:
18334         * gst/vaapi/gstvaapiencode_h264.h:
18335         * gst/vaapi/gstvaapiencode_mpeg2.c:
18336           vaapiencode: additional clean-ups.
18337           Constify pointers wherever possible. Drop unused variables, and use
18338           consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
18339           to correctly report errors, especially when in-place conversion from
18340           bytestream to avcC format failed.
18341
18342 2013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18343
18344         * gst/vaapi/gstvaapiencode.c:
18345         * gst/vaapi/gstvaapiencode.h:
18346         * gst/vaapi/gstvaapiencode_h264.c:
18347         * gst/vaapi/gstvaapiencode_h264.h:
18348         * gst/vaapi/gstvaapiencode_mpeg2.c:
18349         * gst/vaapi/gstvaapiencode_mpeg2.h:
18350           vaapiencode: move common properties to base class.
18351           Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
18352           base class. The actual range of supported rate control modes is currently
18353           implemented as a plug-in element hook. This ought to be determined from
18354           the GstVaapiEncoder object instead, i.e. from libgstvaapi.
18355
18356 2013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18357
18358         * gst/vaapi/gstvaapiencode_h264.c:
18359         * gst/vaapi/gstvaapiencode_mpeg2.c:
18360           vaapiencode: fix plugin description and debug name.
18361           Align the plug-in debug category to its actual name. i.e. enable debug
18362           logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
18363           the plug-in element description to make it more consistent with other
18364           VA-API plug-ins.
18365
18366 2013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18367
18368         * configure.ac:
18369         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18370         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18371         * gst-libs/gst/video/Makefile.am:
18372         * gst/vaapi/gstvaapiencode.c:
18373         * gst/vaapi/gstvaapiencode.h:
18374         * gst/vaapi/gstvaapiencode_h264.c:
18375         * gst/vaapi/gstvaapiencode_mpeg2.c:
18376           vaapiencode: add initial support for GStreamer 0.10.
18377
18378 2013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18379
18380         * gst-libs/gst/vaapi/gstcompat.h:
18381           libs: add more GstBuffer compat glue for GStreamer 0.10.
18382           Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
18383           Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
18384           notify function.
18385
18386 2013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18387
18388         * configure.ac:
18389         * gst-libs/gst/video/Makefile.am:
18390           libs: always use built-in videoutils for GStreamer 0.10.
18391           GStreamer 0.10.36 is the latest and ultimate version to be released
18392           from the GStreamer 0.10 branch. i.e. no further releases are to be
18393           made. So, we can safely enable the built-in videoutils replacement
18394           now that they are in sync with the 0.10 branch.
18395
18396 2013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18397
18398         * ext/videoutils:
18399           videoutils: update to master commit d4a15a5.
18400           d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
18401           86096cc videodecoder: minor cosmetic changes to align a bit more with master
18402           b4b8b52 videodecoder: allow parse function to not use all data on adapter
18403           2145495 videodecoder: warn if frame list gets long
18404           36c3753 videodecoder: Also use the object lock to protect the output_state
18405           518c93d videodecoder: fix seeking again
18406           185fb63 video: Correct usage of the base class stream lock
18407           170e944 videodecoder: Expose _negotiate function
18408
18409 2013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
18410
18411         * configure.ac:
18412         * gst-libs/gst/vaapi/Makefile.am:
18413         * tests/Makefile.am:
18414           Fix build with GStreamer >= 1.3.
18415           http://bugzilla.gnome.org/show_bug.cgi?id=715183
18416           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18417
18418 2013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18419
18420         * configure.ac:
18421           configure: disable encoders with GStreamer 0.10.
18422           Don't try to build video encoders for GStreamer 0.10. Support code is
18423           not there yet, and probably will never for such an ancient version.
18424
18425 2013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18426
18427         * gst/vaapi/gstvaapiencode.c:
18428           vaapiencode: fix error handling while allocating output buffers.
18429           Fix default GstVideoEncoder::allocate_buffer() implementation to properly
18430           unmap the coded buffer prior to returning an error.
18431
18432 2013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18433
18434         * gst/vaapi/gstvaapiencode.c:
18435           vaapiencode: fix error handling in _finish() hook.
18436           Fix GstVideoEncoder::finish() implementation to really return possible
18437           errors instead of GST_FLOW_OK. That is, fix check for timeout status.
18438
18439 2013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18440
18441         * gst/vaapi/gstvaapiencode.c:
18442         * gst/vaapi/gstvaapiencode.h:
18443         * gst/vaapi/gstvaapiencode_h264.c:
18444         * gst/vaapi/gstvaapiencode_h264.h:
18445         * gst/vaapi/gstvaapiencode_mpeg2.c:
18446         * gst/vaapi/gstvaapiencode_mpeg2.h:
18447           vaapiencode: minor clean-ups.
18448           Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
18449           the GObject type system. We are guaranteed to only deal with the same
18450           plug-in element object.
18451
18452 2013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18453
18454         * gst/vaapi/gstvaapiencode.c:
18455         * gst/vaapi/gstvaapiencode_h264.c:
18456         * gst/vaapi/gstvaapiencode_mpeg2.c:
18457           vaapiencode: fix support for raw YUV sink buffers.
18458           Allow vaapiencode plug-in elements to encode from raw YUV buffers.
18459           The most efficient way to do so is to let the vaapiencode elements
18460           allocate a buffer pool, and subsequently buffers from it. This means
18461           that upstream elements are expected to honour downstream pools.
18462           If upstream elements insist on providing their own allocated buffers
18463           to the vaapiencode elements, then it possibly would be more efficient
18464           to insert a vaapipostproc element before the vaapiencode element.
18465           This is because vaapipostproc currently has better support than other
18466           elements for "foreign" raw YUV buffers.
18467
18468 2013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18469
18470         * gst/vaapi/gstvaapiencode.c:
18471           vaapiencode: fix support for GStreamer 1.2.
18472
18473 2013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
18474
18475         * gst/vaapi/gstvaapiencode.c:
18476         * gst/vaapi/gstvaapiencode_h264.c:
18477         * gst/vaapi/gstvaapiencode_mpeg2.c:
18478           vaapiencode: initial port to GStreamer 1.2.
18479           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18480
18481 2013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
18482
18483         * gst/vaapi/Makefile.am:
18484         * gst/vaapi/gstvaapi.c:
18485         * gst/vaapi/gstvaapiencode_mpeg2.c:
18486         * gst/vaapi/gstvaapiencode_mpeg2.h:
18487           plugins: add mpeg2 encoder element.
18488           Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
18489           is called "vaapiencode_mpeg2".
18490           Valid properties:
18491           - rate-control: rate control mode (default: cqp - constant QP)
18492           - bitrate: desired bitrate in kbps (default: auto-calculated)
18493           - key-period: maximal distance between two key frames (default: 30)
18494           - max-bframes: number of B-frames between I and P (default: 2)
18495           - quantizer: constant quantizer (default: 8)
18496           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18497
18498 2013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
18499
18500         * gst/vaapi/Makefile.am:
18501         * gst/vaapi/gstvaapi.c:
18502         * gst/vaapi/gstvaapiencode_h264.c:
18503         * gst/vaapi/gstvaapiencode_h264.h:
18504           plugins: add h264 encoder element.
18505           Add GstVaapiEncodeH264 element object. The actual plug-in element
18506           is called "vaapiencode_h264".
18507           Valid properties:
18508           - rate-control: rate control mode (default: none)
18509           - bitrate: desired bitrate in kbps (default: auto-calculated)
18510           - key-period: maximal distance between two key frames (default: 30)
18511           - num-slices: number of slices per frame (default: 1)
18512           - max-bframes: number of B-frames between I and P (default: 0)
18513           - min-qp: minimal quantizer (default: 1)
18514           - init-qp: initial quantizer (default: 26)
18515           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18516
18517 2013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
18518
18519         * gst/vaapi/Makefile.am:
18520         * gst/vaapi/gstvaapiencode.c:
18521         * gst/vaapi/gstvaapiencode.h:
18522           plugins: add base encoder element.
18523           vaapiencode element is based on GstVideoEncoder APIs.
18524           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18525
18526 2013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
18527
18528         * gst-libs/gst/vaapi/Makefile.am:
18529         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
18530         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
18531         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
18532           encoder: add mpeg2 encoder.
18533           Add initial support for MPEG-2 encoding. I/P/B frames are supported.
18534           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18535
18536 2013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
18537
18538         * gst-libs/gst/vaapi/Makefile.am:
18539         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18540         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
18541         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
18542           encoder: add h264 encoder.
18543           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18544
18545 2013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
18546
18547         * configure.ac:
18548         * gst-libs/gst/vaapi/Makefile.am:
18549         * gst-libs/gst/vaapi/gstvaapiencoder.c:
18550         * gst-libs/gst/vaapi/gstvaapiencoder.h:
18551         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
18552         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
18553         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
18554           Add initial infrastructure for video encoding.
18555           Add initial API for video encoding: only basic interfaces and small
18556           encoder objects are implemented so far.
18557           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18558
18559 2013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
18560
18561         * configure.ac:
18562         * gst-libs/gst/Makefile.am:
18563         * gst-libs/gst/base/Makefile.am:
18564         * gst-libs/gst/base/gstbitwriter.c:
18565         * gst-libs/gst/base/gstbitwriter.h:
18566         * gst-libs/gst/vaapi/Makefile.am:
18567           libs: add generic bitstream writer.
18568           GstBitWriter provides a bit writer that can write any number of bits
18569           to a pre-allocated memory buffer. Helper functions are also provided
18570           to write any number of bits from 8, 16, 32 and 64 bit variables.
18571           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18572
18573 2013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
18574
18575         * gst-libs/gst/vaapi/gstvaapicontext.c:
18576         * gst-libs/gst/vaapi/gstvaapicontext.h:
18577           libs: add support for rate-control to GstVaapiContext.
18578           Extend GstVaapiContextInfo structure to hold the desired rate control
18579           mode for encoding purposes. For decoding purposes, this field is not
18580           used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
18581           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18582
18583 2013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
18584
18585         * gst-libs/gst/vaapi/gstvaapitypes.h:
18586         * gst-libs/gst/vaapi/gstvaapiutils.c:
18587         * gst-libs/gst/vaapi/gstvaapiutils.h:
18588         * gst-libs/gst/vaapi/gstvaapivalue.c:
18589         * gst-libs/gst/vaapi/gstvaapivalue.h:
18590           libs: add rate-control attributes.
18591           Add GstVaapiRateControl types and GType values in view to supporting
18592           rate controls for encoding. This is meant to be used for instance in
18593           GstVaapiContext.
18594           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18595
18596 2013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18597
18598         * configure.ac:
18599           Bump version for development.
18600
18601 === release 0.5.7 ===
18602
18603 2013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18604
18605         * gst/vaapi/Makefile.am:
18606           build: fix for Wayland headers not in standard include dirs.
18607           Fix build when Wayland headers don't live in plain system include dirs
18608           like /usr/include but rather in /usr/include/wayland for instance.
18609           Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
18610           https://bugzilla.gnome.org/show_bug.cgi?id=712282
18611
18612 2013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
18613
18614         * gst-libs/gst/vaapi/Makefile.am:
18615           build: link libgstvaapi-wayland against videoutils.
18616           This library is using symbols that don't exist in GStreamer 0.10 so
18617           it needs to link to built-in implementation (libgstvaapi-videoutils).
18618           https://bugzilla.gnome.org/show_bug.cgi?id=712282
18619           Signed-off-by: Ross Burton <ross.burton@intel.com>
18620           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18621
18622 2013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18623
18624         * gst-libs/gst/vaapi/gstvaapifilter.c:
18625         * gst/vaapi/gstvaapipostproc.c:
18626           vaapostproc: fix memory leaks.
18627           Destroy VPP output surface pool on exit. Also avoid a possible crash
18628           in double-free situation caused by insufficiently reference counted
18629           array of formats returned during initialization.
18630
18631 2013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18632
18633         * gst/vaapi/gstvaapipostproc.c:
18634         * gst/vaapi/gstvaapipostproc.h:
18635           vaapipostproc: fix and optimize advanced deinterlacing mode.
18636           Fix advanced deinterlacing modes with VPP to track only up to 2 past
18637           reference buffers. This used to be 3 past reference buffers but this
18638           doesn't fit with the existing decode pipeline that only has 4 extra
18639           scratch surfaces.
18640           Also optimize references tracking to be only enabled when needed, i.e.
18641           when advanced deinterlacing mode is used. This means that we don't
18642           need to track past references for basic bob or weave deinterlacing.
18643
18644 2013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18645
18646         * gst/vaapi/gstvaapipostproc.c:
18647           vaapipostproc: fix "mixed" mode deinterlacing.
18648           In "mixed" interlaced streams, the buffer contains additional flags that
18649           specify whether the frame contained herein is interlaced or not. This means
18650           that we can alternatively get progressive or interlaced frames. Make sure
18651           to disable deinterlacing at the VPP level when the source buffer is no longer
18652           interlaced.
18653
18654 2013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18655
18656         * gst/vaapi/gstvaapipostproc.c:
18657           vaapipostproc: fix memory leaks with advanced deinterlacing.
18658           Fix memory leaks with advanced deinterlacing, i.e. when we keep track
18659           of past buffers. Completely reset the deinterlace state, thus destroying
18660           any buffer currently held, on _start(), _stop() and _destroy().
18661
18662 2013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18663
18664         * README:
18665           README: updates.
18666           - GStreamer 1.2 APIs are supported ;
18667           - Video Processing (VA/VPP) features.
18668
18669 2013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18670
18671         * README:
18672           README: update for GStreamer >= 1.0.x and VPP features.
18673
18674 2013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18675
18676         * gst-libs/gst/vaapi/glibcompat.h:
18677         * gst-libs/gst/vaapi/gstvaapicontext.h:
18678         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
18679         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
18680         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
18681         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
18682         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
18683         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
18684         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
18685         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
18686         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
18687         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
18688         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18689         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
18690         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
18691         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18692         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
18693         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18694         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
18695         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
18696         * gst-libs/gst/vaapi/gstvaapiimage.c:
18697         * gst-libs/gst/vaapi/gstvaapiimage.h:
18698         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18699         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
18700         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
18701         * gst-libs/gst/vaapi/gstvaapiobject.c:
18702         * gst-libs/gst/vaapi/gstvaapiobject.h:
18703         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
18704         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18705         * gst-libs/gst/vaapi/gstvaapisurface.h:
18706         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
18707         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18708         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
18709         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18710         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18711         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18712         * gst-libs/gst/vaapi/gstvaapitexture.c:
18713         * gst-libs/gst/vaapi/gstvaapitexture.h:
18714         * gst-libs/gst/vaapi/gstvaapitypes.h:
18715         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
18716         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
18717         * gst-libs/gst/vaapi/gstvaapivalue.c:
18718         * gst-libs/gst/vaapi/gstvaapivalue.h:
18719         * gst-libs/gst/vaapi/gstvaapivideopool.c:
18720         * gst-libs/gst/vaapi/gstvaapivideopool.h:
18721         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
18722         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18723         * gst-libs/gst/vaapi/gstvaapiwindow.h:
18724         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
18725         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
18726         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
18727         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
18728         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
18729         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
18730         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18731         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
18732         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
18733         * gst/vaapi/gstvaapi.c:
18734         * gst/vaapi/gstvaapidecode.h:
18735         * gst/vaapi/gstvaapidownload.h:
18736         * gst/vaapi/gstvaapipluginutil.c:
18737         * gst/vaapi/gstvaapipluginutil.h:
18738         * gst/vaapi/gstvaapipostproc.h:
18739         * gst/vaapi/gstvaapisink.h:
18740         * gst/vaapi/gstvaapivideoconverter_glx.h:
18741         * tests/image.c:
18742         * tests/image.h:
18743         * tests/output.h:
18744         * tests/test-display.c:
18745         * tests/test-jpeg.c:
18746         * tests/test-jpeg.h:
18747         * tests/test-mpeg4.c:
18748         * tests/test-mpeg4.h:
18749         * tests/test-surfaces.c:
18750         * tests/test-windows.c:
18751           legal: update copyright notice dates.
18752
18753 2013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18754
18755         * gst-libs/gst/vaapi/glibcompat.h:
18756         * gst-libs/gst/vaapi/gstcompat.h:
18757         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
18758         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
18759         * gst-libs/gst/vaapi/gstvaapicompat.h:
18760         * gst-libs/gst/vaapi/gstvaapicontext.c:
18761         * gst-libs/gst/vaapi/gstvaapicontext.h:
18762         * gst-libs/gst/vaapi/gstvaapidebug.h:
18763         * gst-libs/gst/vaapi/gstvaapidecoder.c:
18764         * gst-libs/gst/vaapi/gstvaapidecoder.h:
18765         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
18766         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
18767         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18768         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
18769         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
18770         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
18771         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18772         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
18773         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18774         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
18775         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18776         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
18777         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
18778         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
18779         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
18780         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18781         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
18782         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18783         * gst-libs/gst/vaapi/gstvaapidisplay.h:
18784         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
18785         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
18786         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
18787         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
18788         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
18789         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
18790         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18791         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
18792         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
18793         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
18794         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18795         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
18796         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18797         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
18798         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
18799         * gst-libs/gst/vaapi/gstvaapifilter.c:
18800         * gst-libs/gst/vaapi/gstvaapifilter.h:
18801         * gst-libs/gst/vaapi/gstvaapiimage.c:
18802         * gst-libs/gst/vaapi/gstvaapiimage.h:
18803         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
18804         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18805         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
18806         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
18807         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
18808         * gst-libs/gst/vaapi/gstvaapiobject.c:
18809         * gst-libs/gst/vaapi/gstvaapiobject.h:
18810         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
18811         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
18812         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
18813         * gst-libs/gst/vaapi/gstvaapipixmap.c:
18814         * gst-libs/gst/vaapi/gstvaapipixmap.h:
18815         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
18816         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
18817         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
18818         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18819         * gst-libs/gst/vaapi/gstvaapiprofile.h:
18820         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18821         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
18822         * gst-libs/gst/vaapi/gstvaapisurface.c:
18823         * gst-libs/gst/vaapi/gstvaapisurface.h:
18824         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
18825         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18826         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
18827         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18828         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18829         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18830         * gst-libs/gst/vaapi/gstvaapitexture.c:
18831         * gst-libs/gst/vaapi/gstvaapitexture.h:
18832         * gst-libs/gst/vaapi/gstvaapitypes.h:
18833         * gst-libs/gst/vaapi/gstvaapiutils.c:
18834         * gst-libs/gst/vaapi/gstvaapiutils.h:
18835         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
18836         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
18837         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
18838         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
18839         * gst-libs/gst/vaapi/gstvaapivalue.c:
18840         * gst-libs/gst/vaapi/gstvaapivalue.h:
18841         * gst-libs/gst/vaapi/gstvaapivideopool.c:
18842         * gst-libs/gst/vaapi/gstvaapivideopool.h:
18843         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
18844         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18845         * gst-libs/gst/vaapi/gstvaapiwindow.h:
18846         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
18847         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
18848         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
18849         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
18850         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
18851         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18852         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
18853         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18854         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
18855         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
18856         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
18857         * gst-libs/gst/vaapi/sysdeps.h:
18858         * gst-libs/gst/vaapi/video-format.c:
18859         * gst-libs/gst/vaapi/video-format.h:
18860         * gst/vaapi/gstvaapi.c:
18861         * gst/vaapi/gstvaapidecode.c:
18862         * gst/vaapi/gstvaapidecode.h:
18863         * gst/vaapi/gstvaapidownload.c:
18864         * gst/vaapi/gstvaapidownload.h:
18865         * gst/vaapi/gstvaapipluginutil.c:
18866         * gst/vaapi/gstvaapipluginutil.h:
18867         * gst/vaapi/gstvaapipostproc.c:
18868         * gst/vaapi/gstvaapipostproc.h:
18869         * gst/vaapi/gstvaapisink.c:
18870         * gst/vaapi/gstvaapisink.h:
18871         * gst/vaapi/gstvaapiupload.c:
18872         * gst/vaapi/gstvaapiupload.h:
18873         * gst/vaapi/gstvaapiuploader.c:
18874         * gst/vaapi/gstvaapiuploader.h:
18875         * gst/vaapi/gstvaapivideobuffer.c:
18876         * gst/vaapi/gstvaapivideobuffer.h:
18877         * gst/vaapi/gstvaapivideobufferpool.c:
18878         * gst/vaapi/gstvaapivideobufferpool.h:
18879         * gst/vaapi/gstvaapivideocontext.c:
18880         * gst/vaapi/gstvaapivideocontext.h:
18881         * gst/vaapi/gstvaapivideoconverter_glx.c:
18882         * gst/vaapi/gstvaapivideoconverter_glx.h:
18883         * gst/vaapi/gstvaapivideoconverter_x11.c:
18884         * gst/vaapi/gstvaapivideoconverter_x11.h:
18885         * gst/vaapi/gstvaapivideomemory.c:
18886         * gst/vaapi/gstvaapivideomemory.h:
18887         * gst/vaapi/gstvaapivideometa.c:
18888         * gst/vaapi/gstvaapivideometa.h:
18889         * gst/vaapi/gstvaapivideometa_texture.c:
18890         * gst/vaapi/gstvaapivideometa_texture.h:
18891         * tests/codec.c:
18892         * tests/codec.h:
18893         * tests/decoder.c:
18894         * tests/decoder.h:
18895         * tests/image.c:
18896         * tests/image.h:
18897         * tests/output.c:
18898         * tests/output.h:
18899         * tests/simple-decoder.c:
18900         * tests/test-decode.c:
18901         * tests/test-decode.h:
18902         * tests/test-display.c:
18903         * tests/test-filter.c:
18904         * tests/test-h264.c:
18905         * tests/test-h264.h:
18906         * tests/test-jpeg.c:
18907         * tests/test-jpeg.h:
18908         * tests/test-mpeg2.c:
18909         * tests/test-mpeg2.h:
18910         * tests/test-mpeg4.c:
18911         * tests/test-mpeg4.h:
18912         * tests/test-surfaces.c:
18913         * tests/test-textures.c:
18914         * tests/test-vc1.c:
18915         * tests/test-vc1.h:
18916         * tests/test-windows.c:
18917           legal: add per-file authorship information.
18918           Credit original authors on a per-file basis as we cannot expect people
18919           to know all country-specific rules, or bother browsing through the git
18920           history.
18921
18922 2013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18923
18924         * NEWS:
18925         * configure.ac:
18926           0.5.7.
18927
18928 2013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18929
18930         * NEWS:
18931           NEWS: updates.
18932
18933 2013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18934
18935         * gst-libs/gst/vaapi/gstvaapidecoder.h:
18936           decoder: don't include obsolete headers.
18937           The <gst/vaapi/gstvaapicontext.h> header was removed from the public
18938           set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
18939           on private files.
18940
18941 2013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18942
18943         * gst/vaapi/Makefile.am:
18944         * gst/vaapi/gstvaapi.c:
18945         * gst/vaapi/gstvaapipostproc.c:
18946           vaapipostproc: add initial support for GStreamer 1.2.
18947           Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
18948           right now so that to cope with auto-plugging issues/regressions. e.g.
18949           this happens when the correct set of expected caps are being exposed.
18950           This means that, currently, the proposed caps are not fully accurate.
18951
18952 2013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
18953
18954         * gst/vaapi/gstvaapipostproc.c:
18955         * gst/vaapi/gstvaapipostproc.h:
18956           vaapipostproc: add support for denoise and sharpen filters.
18957           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18958
18959 2013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18960
18961         * gst/vaapi/gstvaapipostproc.c:
18962         * gst/vaapi/gstvaapipostproc.h:
18963           vaapipostproc: add support for advanced deinterlacing.
18964           Add initial support for advanced deinterlacing. The history buffer
18965           size is arbitrarily set to 3 references for now.
18966
18967 2013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18968
18969         * gst/vaapi/gstvaapipostproc.c:
18970           vaapipostproc: fix deinterlacing with VPP.
18971           Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
18972           for the first field. Render flags were supplied instead of the actual
18973           deinterlacing flags (deint_flags).
18974
18975 2013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18976
18977         * gst/vaapi/gstvaapipostproc.c:
18978           vaapipostproc: fix transform caps.
18979           Fix GstBaseTransform::transform_caps() implementation to always return
18980           the complete set of allowed sink pad caps (unfixated) even if the src
18981           pad caps we are getting are fixated. Rationale: there are just so many
18982           possible combinations, and it was wrong to provide a unique set anyway.
18983           As a side effect, this greatly simplifies the ability to derive src pad
18984           caps from fixated sink pad caps.
18985
18986 2013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
18987
18988         * docs/reference/libs/libs-sections.txt:
18989         * gst-libs/gst/vaapi/gstvaapifilter.c:
18990         * gst-libs/gst/vaapi/gstvaapifilter.h:
18991           filter: add helper to specify references for deinterlacing.
18992           Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
18993           list of surfaces used for forward or backward reference in advanced
18994           deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
18995           The list of surfaces used as deinterlacing references shall be live
18996           until the next call to gst_vaapi_filter_process().
18997           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18998
18999 2013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19000
19001         * gst-libs/gst/vaapi/gstvaapifilter.c:
19002         * gst-libs/gst/vaapi/gstvaapifilter.h:
19003         * gst-libs/gst/vaapi/gstvaapiutils.c:
19004         * gst/vaapi/gstvaapipostproc.c:
19005         * tests/test-filter.c:
19006           filter: fix semantics of deinterlacing flags.
19007           Fix deinterlacing flags to make more sense. The TFF (top-field-first)
19008           flag is meant to specify the organization of reference frames used in
19009           advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
19010           to specify that the top-field of the supplied input surface is to be
19011           used for deinterlacing. Conversely, if not set, this means that the
19012           bottom field of the supplied input surface will be used instead.
19013
19014 2013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19015
19016         * docs/reference/libs/libs-sections.txt:
19017         * gst-libs/gst/vaapi/gstvaapifilter.c:
19018         * gst-libs/gst/vaapi/gstvaapifilter.h:
19019           filter: add helpers to check for supported/active operation.
19020           Add a couple of helper functions:
19021           - gst_vaapi_filter_has_operation(): checks whether the VA driver
19022           advertises support for the supplied operation ;
19023           - gst_vaapi_filter_use_operation(): checks whether the supplied
19024           operation was already enabled to its non-default value.
19025
19026 2013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19027
19028         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19029           libs: fix GstVaapiSurfaceProxy destroy notify call site.
19030           The user-defined destroy notify function is meant to be called only when
19031           the surface proxy was fully released, i.e. once it actually released the
19032           VA surface back to the underlying pool.
19033
19034 2013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
19035
19036         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19037         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19038           libs: make GstVaapiVideoPool thread-safe.
19039           https://bugzilla.gnome.org/show_bug.cgi?id=707108
19040           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19041
19042 2013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
19043
19044         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19045         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19046           libs: robustify decoder objects and surface proxy initialization.
19047           Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
19048           sequences to have the expected default values set beforehand in case of an
19049           error raising up further during creation. i.e. make it possible to cleanly
19050           destroy those partially initialized objects.
19051           https://bugzilla.gnome.org/show_bug.cgi?id=707108
19052           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19053
19054 2013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19055
19056         * gst/vaapi/gstvaapidecode.c:
19057           vaapidecode: fix decoder flush.
19058           There are situations where gst_video_decoder_flush() is called, and
19059           this subsequently produces a gst_video_decoder_reset() that kills the
19060           currently active GstVideoCodecFrame. This means that it no longer
19061           exists by the time we reach GstVideoDecoder::finish() callback, thus
19062           possibly resulting in a crash if we assumed spare data was still
19063           available for decode (current_frame_size > 0).
19064           Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
19065           that means a flush, thus performing the actual operations there like
19066           calling gst_video_decoder_have_frame() if pending data is available.
19067
19068 2013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19069
19070         * gst/vaapi/gstvaapidecode.c:
19071         * gst/vaapi/gstvaapidecode.h:
19072           vaapidecode: fix dead-locks with decoder task.
19073           Review all interactions between the main video decoder stream thread
19074           and the decode task to derive a correct sequence of operations for
19075           decoding. Also avoid extra atomic operations that become implicit under
19076           the GstVideoDecoder stream lock.
19077
19078 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
19079
19080         * gst/vaapi/gstvaapidecode.c:
19081           vaapidecode: fix hard reset for seek cases.
19082           Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
19083           and completely purge any decoded output frame that may come out from
19084           it. At this stage, the GstVaapiDecoder shall be in a complete clean
19085           state to start decoding over new buffers.
19086           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19087
19088 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
19089
19090         * gst/vaapi/gstvaapidecode.c:
19091         * gst/vaapi/gstvaapidecode.h:
19092           vaapidecode: drop decode timeout, always wait for a free surface.
19093           vaapidecode used to wait up to one second past the expected time of
19094           presentation for the last decoded frame. This is not realistic in
19095           practice when it comes to video pause/resume. Changed behaviour to
19096           unconditionnally wait for a free VA surface prior to continuing the
19097           decoding. The decode task will continue pushing the output frames to
19098           the downstream element while also reporting errors at the same time
19099           to the main thread.
19100           https://bugzilla.gnome.org/show_bug.cgi?id=707108
19101           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19102
19103 2013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19104
19105         * gst/vaapi/gstvaapidecode.c:
19106           vaapidecode: fix srcpad caps for GStreamer 1.2.
19107           The srcpad caps exposed for GStreamer 1.2 were missing any useful info
19108           like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
19109           that it relied on possibly un-initialized data. Fix srcpad caps to be
19110           initialized from a sanitized copy of GstVideoDecoder output state caps.
19111           Note: the correct way to expose the srcpad caps triggers an additional
19112           issue in core GStreamer auto-plugging capabilities as the correct caps
19113           to be exposed should be format=ENCODED with memory:VASurface caps feature
19114           at the minimum. In some situations, we could determine the underlying
19115           VA surface format, but this is not always possible. e.g. cases where it
19116           is not allowed to expose the underlying VA surface data, or when the
19117           VA driver implementation cannot actually provide such information.
19118
19119 2013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19120
19121         * gst/vaapi/gstvaapidecode.c:
19122         * gst/vaapi/gstvaapisink.c:
19123           plugins: streamline VA formats exposed in caps to a realistic set.
19124           Currently, the decoder only supports YUV 4:2:0 output. So, expose the
19125           output formats for GStreamer 1.2 in caps to a realistic subset. This
19126           means NV12, I420 or YV12 but also ENCODED if we cannot determine the
19127           underlying VA surface format, or if it is actually not allowed to get
19128           access to the surface contents.
19129
19130 2013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19131
19132         * gst/vaapi/gstvaapidecode.c:
19133         * gst/vaapi/gstvaapisink.c:
19134           plugins: expose the expected format for GstVideoGLTextureUploadMeta.
19135           Fix vaapidecode srcpad caps to only expose RGBA video format for the
19136           meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
19137           so far. Besides, drop this meta from the vaapisink sinkpad caps since
19138           we really don't support that for rendering.
19139           https://bugzilla.gnome.org/show_bug.cgi?id=711828
19140
19141 2013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19142
19143         * configure.ac:
19144           configure: automatically detect GStreamer API version.
19145           Automatically detect GStreamer API version. The --with-gstreamer-api
19146           configure option now defaults to "autodetect" and configure then tries
19147           to derive the GStreamer API version from the highest version based on
19148           what pkg-config --modversion would report.
19149           https://bugzilla.gnome.org/show_bug.cgi?id=711657
19150
19151 2013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
19152
19153         * gst/vaapi/gstvaapipostproc.c:
19154           vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
19155           Fix raw YUV data uploaded as in the following pipeline:
19156           $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
19157           The main reason why it failed was that the videoparse element simply
19158           allocates GstBuffer with raw data chunk'ed off the sink pad without
19159           any prior knowledge of the actual frame info. i.e. it basically just
19160           calls gst_adapter_take_buffer().
19161           We could avoid the extra copy performed in vaapipostproc if the videoparse
19162           element was aware of the downstream pool and bothers copying line by
19163           line, for each plane. This means that, for a single frame per buffer,
19164           the optimizatin will be to allocate the video buffer downstream, map
19165           it, and copy each line that is coming through until we need to fills
19166           in the successive planes.
19167           Still, optimized raw YUV uploads already worked with the following:
19168           $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
19169           https://bugzilla.gnome.org/show_bug.cgi?id=711250
19170           [clean-ups, fixed error cases to unmap and unref outbuf]
19171           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19172
19173 2013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19174
19175         * gst/vaapi/gstvaapipostproc.c:
19176           vaapipostproc: try to downgrade deinterlace-method when needed.
19177           If the currently selected deinterlacing method is not supported by the
19178           underlying hardware, then try to downgrade the method to a supported one.
19179           At the minimum, basic bob-deinterlacing shall always be supported.
19180
19181 2013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19182
19183         * gst/vaapi/gstvaapipostproc.c:
19184           vaapipostproc: add initial support for deinterlacing with VPP.
19185           Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
19186           this only covers bob-deinterlacing when the output pixel format is
19187           explicitly set.
19188
19189 2013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19190
19191         * gst/vaapi/gstvaapipostproc.c:
19192           vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
19193           The size argument for GstBaseTransform::transform_size() hook is a
19194           guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
19195
19196 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19197
19198         * gst/vaapi/gstvaapipostproc.c:
19199         * gst/vaapi/gstvaapipostproc.h:
19200           vaapipostproc: add initial support for scaling.
19201           Add initial support for basic scaling with size specified through the
19202           "width" and "height" properties. If either user-provided dimension is
19203           zero and "force-aspect-ratio" is set to true (the default), then the
19204           other dimension is scaled to preserve the aspect ratio.
19205
19206 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19207
19208         * gst/vaapi/gstvaapipostproc.c:
19209         * gst/vaapi/gstvaapipostproc.h:
19210           vaapipostproc: add initial support for color conversion.
19211           If VPP is available, we always try to implicitly convert the source
19212           buffer to the "native" surface format for the underlying accelerator.
19213           This means that no optimization is performed yet to propagate raw YUV
19214           buffers to the downstream element as is, if VPP is available. i.e. it
19215           will always cause a color conversion.
19216
19217 2013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19218
19219         * gst/vaapi/gstvaapipostproc.c:
19220           vaapipostproc: fix bug when user disabled deinterlacing.
19221           Fix pipeline error / hang when the user disabled deinterlacing through
19222           the deinterlace-mode=disabled property setting.
19223
19224 2013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19225
19226         * gst/vaapi/gstvaapipostproc.c:
19227         * gst/vaapi/gstvaapipostproc.h:
19228           vaapipostproc: factor out operations to be applied into flags.
19229           Even if we only support deinterlacing for now, use flags to specify
19230           which filters are to be applied to each frame we receive in transform().
19231           This is preparatory work for integrating new filters.
19232
19233 2013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19234
19235         * gst/vaapi/gstvaapipostproc.c:
19236         * gst/vaapi/gstvaapipostproc.h:
19237           vaapipostproc: add support for raw YUV video source buffers.
19238           Allow video processing from raw YUV buffers coming from the sink pad,
19239           while still producing a VA surface for the downstream elements.
19240
19241 2013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19242
19243         * gst/vaapi/gstvaapipluginutil.c:
19244         * gst/vaapi/gstvaapipluginutil.h:
19245         * gst/vaapi/gstvaapipostproc.c:
19246           vaapipostproc: add support for "mixed" interlace mode.
19247           Add support for "mixed" interlace-mode, whereby the video frame buffer
19248           shall be deinterlaced only if its flags mention that's actually an
19249           interlaced frame buffer.
19250
19251 2013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19252
19253         * gst-libs/gst/vaapi/gstcompat.h:
19254         * gst/vaapi/gstvaapipostproc.c:
19255         * gst/vaapi/gstvaapipostproc.h:
19256         * gst/vaapi/gstvaapivideobuffer.c:
19257         * gst/vaapi/gstvaapivideobuffer.h:
19258           vaapipostproc: rework plug-in element.
19259           Rewrite the vaapipostproc plug-in element so that it derives from
19260           GstBaseTransform, thus simplifying the caps negotiation process.
19261
19262 2013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19263
19264         * gst/vaapi/gstvaapivideobufferpool.c:
19265         * gst/vaapi/gstvaapivideomemory.c:
19266         * gst/vaapi/gstvaapivideomemory.h:
19267           plugins: fix and optimize check for buffer pool allocator params.
19268           Reset the buffer pool allocator only if the config caps changed in a
19269           sensible way: format or resolution change. i.e. don't bother with
19270           other caps like colorimetry et al. as this doesn't affect the way to
19271           allocate VA surfaces or images.
19272
19273 2013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19274
19275         * gst/vaapi/gstvaapivideomemory.c:
19276           plugins: enable memory maps for read & write with direct-rendering.
19277           Enable read and write mappings only if direct-rendering is supported.
19278           Otherwise, this means that we may need to download data from the VA
19279           surface first for correctness, even if the VA surface doesn't need to
19280           be read at all. i.e. sometimes, READWRITE mappings are meant for
19281           surfaces that are written to first, and read afterwards for further
19282           processing.
19283           https://bugzilla.gnome.org/show_bug.cgi?id=704078
19284
19285 2013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19286
19287         * gst/vaapi/gstvaapivideomemory.c:
19288           plugins: fix check for direct-rendering support.
19289           Fix check for direct-rendering if the creation of VA surfaces with
19290           an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
19291           that we tried to allocate a VA surface based on the corresponding
19292           chroma type. i.e. in that particular case, we have to make sure that
19293           the derived image has actually the expected format.
19294
19295 2013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19296
19297         * gst/vaapi/gstvaapivideobufferpool.c:
19298         * gst/vaapi/gstvaapivideomemory.c:
19299         * gst/vaapi/gstvaapivideomemory.h:
19300           plugins: fix buffer pool reset_buffer() to reset memory resources.
19301           Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
19302           memory resources, and more particularly the VA surface proxy. Most
19303           importantly, the GstVaapiVideoMeta is retained. Cached surface in
19304           memory are released, thus triggering a new allocation the next time
19305           we need to map the buffer.
19306
19307 2013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19308
19309         * gst/vaapi/gstvaapivideomemory.c:
19310         * gst/vaapi/gstvaapivideomemory.h:
19311           plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
19312           Make sure GstVaapiVideoMemory allocates VA surface proxies from a
19313           pool stored in the parent VA memory allocator.
19314           This fixes the following scenario:
19315           - VA video buffer 1 is allocated from a buffer pool
19316           - Another video buffer is created, and inherits info from buffer 1
19317           - Buffer 1 is released, thus pushing it back to the buffer pool
19318           - New buffer alloc request comes it, this yields buffer 1 back
19319           - At this stage, buffers 1 and 2 still share the same underlying VA
19320           surface, but buffer 2 was already submitted downstream for further
19321           processing, thus conflicting with additional processing we were
19322           about to perform on buffer 1.
19323           Maybe the core GstBufferPool implementation should have been fixed
19324           instead to actually make sure that the returned GstBuffer memory we
19325           found from the pool is writable?
19326
19327 2013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19328
19329         * gst/vaapi/gstvaapiuploader.c:
19330           plugins: create a proxy for GstVaapiUploader allocated buffers.
19331           Always make sure to allocate a VA surface proxy for GstVaapiUploader
19332           allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
19333           a proxy surface.
19334           This fixes cases where we want to retain the underlying surface longer,
19335           instead of releasing it back to the surface pool right away.
19336
19337 2013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19338
19339         * gst/vaapi/gstvaapidecode.c:
19340         * gst/vaapi/gstvaapipluginutil.c:
19341         * gst/vaapi/gstvaapipluginutil.h:
19342         * gst/vaapi/gstvaapipostproc.c:
19343           plugins: add helper function to disable deinterlacing in caps.
19344           Add gst_caps_set_interlaced() helper function that would reset the
19345           interlace-mode field to "progressive" for GStreamer >= 1.0, or the
19346           interlaced field to "false" for GStreamer 0.10.
19347
19348 2013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19349
19350         * gst-libs/gst/vaapi/gstvaapifilter.c:
19351           filter: fix memory leak of VPP operations.
19352           Fix ensure_operations() to release the VPP operations array if non
19353           NULL, prior to returning to the caller. The former function was also
19354           renamed to a more meaningful get_operations() since the caller owns
19355           the returned array that needs to be released.
19356
19357 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
19358
19359         * gst-libs/gst/vaapi/gstvaapifilter.c:
19360           filter: fix first-time operation lookup.
19361           Fix first-time operation lookup through find_operation() if the set
19362           of supported operations was not initially determined through the
19363           gst_vaapi_filter_get_operations() helper function.
19364           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19365
19366 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
19367
19368         * gst-libs/gst/vaapi/gstvaapifilter.c:
19369           filter: fix colorbalance related subtypes.
19370           Fix intiialization of GstVaapiFilterOpData for colorbalance related
19371           operations. In particular, fill in the va_subtype field accordingly.
19372           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19373
19374 2013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19375
19376         * gst-libs/gst/vaapi/gstvaapifilter.c:
19377           filter: fix VA-API 0.34.0 symbol guards.
19378           VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
19379           that need to be guarded for libva 0.34 and 0.33, respectively.
19380           https://bugzilla.gnome.org/show_bug.cgi?id=709102
19381           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19382
19383 2013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19384
19385         * gst/vaapi/gstvaapidecode.c:
19386         * gst/vaapi/gstvaapipluginutil.c:
19387         * gst/vaapi/gstvaapisink.c:
19388           plugins: hanle the context query in any pad.
19389           Also this patch simplifies the code, since now the query is common for the
19390           decoder and the sink.
19391           https://bugzilla.gnome.org/show_bug.cgi?id=709200
19392
19393 2013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19394
19395         * gst/vaapi/gstvaapivideocontext.c:
19396           plugins: query upstream element for a GstContext.
19397           Fix gst_vaapi_video_context_prepare() to also query upstream elements
19398           for a valid GstContext. Improve comments regarding the steps used to
19399           lookup or build that context, thus conforming to the GstContext API
19400           recommendations.
19401           https://bugzilla.gnome.org/show_bug.cgi?id=709112
19402           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19403
19404 2013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19405
19406         * configure.ac:
19407         * debian.upstream/control.in:
19408           Fix detection and packaging of GStreamer 1.2.x builds.
19409           The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
19410           packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
19411           purposes, update the versioning to -1.2 suffix instead.
19412
19413 2013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19414
19415         * gst/vaapi/Makefile.am:
19416         * gst/vaapi/gstvaapidecode.c:
19417         * gst/vaapi/gstvaapidecode.h:
19418         * gst/vaapi/gstvaapisink.c:
19419         * gst/vaapi/gstvaapivideometa_texture.c:
19420         * gst/vaapi/gstvaapivideometa_texture.h:
19421           plugins: add support for GstVideoGLTextureUploadMeta.
19422           If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
19423           requested, and more specifically under a GLX configuration, then add
19424           the GstVideoGLTextureUploadMeta to the output buffer.
19425           https://bugzilla.gnome.org/show_bug.cgi?id=703236
19426           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19427
19428 2013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19429
19430         * gst/vaapi/gstvaapidecode.c:
19431         * gst/vaapi/gstvaapisink.c:
19432         * gst/vaapi/gstvaapivideomemory.h:
19433           plugins: add support for GstCaps features.
19434           Move VA video buffer memory from "video/x-surface,type=vaapi" format,
19435           as expressed in caps, to the more standard use of caps features. i.e.
19436           add "memory:VASurface" feature attribute to the associated caps.
19437           https://bugzilla.gnome.org/show_bug.cgi?id=703271
19438           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19439
19440 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19441
19442         * gst/vaapi/gstvaapidecode.c:
19443         * gst/vaapi/gstvaapisink.c:
19444           plugins: improve ::query() debugging messages.
19445           Fix gst_vaapidecode_query() to correctly display the query type name,
19446           instead of randomly displaying that we shared the underlying display.
19447           Also add debug info for the GstVaapiSink::query() handler, i.e. the
19448           supplied query type name actually.
19449           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19450
19451 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19452
19453         * gst/vaapi/gstvaapidecode.c:
19454         * gst/vaapi/gstvaapisink.c:
19455           plugins: add support for GstContext API.
19456           Add support for the new GstContext API from GStreamer 1.2.x.
19457           - implement the GstElement::set_context() hook ;
19458           - reply to the `context' query from downstream elements.
19459           https://bugzilla.gnome.org/show_bug.cgi?id=703235
19460           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19461
19462 2013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19463
19464         * gst/vaapi/Makefile.am:
19465         * gst/vaapi/gstvaapipluginutil.c:
19466         * gst/vaapi/gstvaapivideocontext.c:
19467         * gst/vaapi/gstvaapivideocontext.h:
19468           plugins: add compat layer for GstVideoContext.
19469           Add thin compatibility layer for the deprecated GstVideoContext API.
19470           For GStreamer API >= 1.2, this involves the following two functions:
19471           - gst_vaapi_video_context_prepare(): queries if a context is already
19472           set in the pipeline ;
19473           - gst_vaapi_video_context_propagate(): propagates the newly-created
19474           context to the rest of the pipeline.
19475           https://bugzilla.gnome.org/show_bug.cgi?id=703235
19476           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19477
19478 2013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19479
19480         * configure.ac:
19481         * gst/vaapi/Makefile.am:
19482         * gst/vaapi/gstvaapi.c:
19483         * gst/vaapi/gstvaapidecode.c:
19484         * gst/vaapi/gstvaapipluginutil.c:
19485         * gst/vaapi/gstvaapisink.c:
19486         * gst/vaapi/gstvaapivideobuffer.c:
19487           plugins: initial port to GStreamer 1.2.
19488           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
19489           is rather minimalistic so that to test the basic functionality.
19490           Disable vaapipostproc plugin for now as further polishing is needed.
19491           Also disable GstVideoContext interface support since this API is now
19492           gone in 1.2.x. This is preparatory work for GstContext support.
19493           https://bugzilla.gnome.org/show_bug.cgi?id=703235
19494           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19495
19496 2013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19497
19498         * tests/simple-decoder.c:
19499           tests: simple-decoder: fix for non-X11 backends.
19500           Don't try to create pixmaps if we have not requested that feature. This
19501           fixes execution for non-X11 backends, and most specifically DRM video
19502           output mode.
19503
19504 2013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19505
19506         * ext/codecparsers:
19507           codecparsers: update to gst-vaapi-branch commit b33bd32.
19508           b33bd32 jpeg: fix and optimize scan for next marker code
19509
19510 2013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19511
19512         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19513           jpeg: fix calculation of MCU count.
19514           Fix calculation of MCU count for image sizes that are not a multiple
19515           of 8 pixels in either dimension, but also for non-common sampling
19516           factors like 4:2:2 in non-interleaved mode.
19517
19518 2013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19519
19520         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19521         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19522         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
19523           jpeg: add support for multiscan images.
19524           Add support for images with multiple scans per frame. The Huffman table
19525           can be updated before SOS, and thus possibly requiring multiple uploads
19526           of Huffman tables to the VA driver. So, the latter must be able to cope
19527           with multiple VA buffers of type 'huffman-table' and with the correct
19528           sequential order.
19529
19530 2013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19531
19532         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19533           jpeg: improve robustness when packets are missing.
19534           Improve robustness when some expected packets where not received yet
19535           or that were not correctly decoded. For example, don't try to decode
19536           a picture if there was no valid frame headers.
19537
19538 2013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19539
19540         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19541           jpeg: minor clean-ups.
19542           Improve debugging and error messages. Rename a few variables to fit the
19543           existing naming conventions. Change some fatal asserts to non-fatal
19544           error codes.
19545
19546 2013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19547
19548         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19549         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19550         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19551           jpeg: rework and optimize parser.
19552           Split the input buffer data into decoder units that represent a JPEG
19553           segment. Handle scan decoder unit specifically so that it can include
19554           both the scan header (SOS) but also any other ECS or RSTi segment.
19555           That way, we parse the input buffer stream only once at the gst-vaapi
19556           level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
19557           stream into frames SOI .. EOI and (ii) in decode_buffer() to further
19558           determine segment boundaries and decode them.
19559           In practice, this is a +15 to +25% performance improvement.
19560
19561 2013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
19562
19563         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19564           jpeg: handle comment segments.
19565           Fix decode_buffer() function to gracefully skip comment (COM) segments.
19566           This fixes decoding of streams generated by certain cameras, e.g. like
19567           the Logitech Pro C920.
19568           https://bugzilla.gnome.org/show_bug.cgi?id=708208
19569           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
19570
19571 2013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19572
19573         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19574           jpeg: fix determination of image bounds.
19575           Look for the exact image bounds characterised by the <SOI> and <EOI>
19576           markers. Use the gst_jpeg_parse() codec parser utility function to
19577           optimize the lookup for the next marker segment.
19578           https://bugzilla.gnome.org/show_bug.cgi?id=707447
19579
19580 2013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
19581
19582         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19583           jpeg: fix calculation of offset to next marker segment.
19584           Fix calculation of the offset to the next marker segment since the
19585           correction of the codecparser part to match the API specification.
19586           i.e. the GstJpegMarkerSegment.size field represents the size in bytes
19587           of the segment minus any marker prefix.
19588           https://bugzilla.gnome.org/show_bug.cgi?id=707447
19589           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
19590
19591 2013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19592
19593         * ext/codecparsers:
19594           codecparsers: update to gst-vaapi-branch commit 23c7dde.
19595           23c7dde jpeg: fix calculation of segment size
19596
19597 2013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19598
19599         * configure.ac:
19600           Bump version for development.
19601
19602 === release 0.5.6 ===
19603
19604 2013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19605
19606         * NEWS:
19607         * configure.ac:
19608           0.5.6.
19609
19610 2013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19611
19612         * NEWS:
19613           NEWS: updates.
19614
19615 2013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
19616
19617         * configure.ac:
19618         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19619           configure: fix detection of VA/JPEG decoding API.
19620           Fix detection of VA/JPEG decoding API with non-standard libva packages.
19621           More precisely, some packages were shipping with a <va/va.h> header that
19622           did not include <va/va_dec_jpeg.h>.
19623           https://bugzilla.gnome.org/show_bug.cgi?id=706055
19624           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19625
19626 2013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
19627
19628         * gst/vaapi/gstvaapisink.c:
19629           vaapisink: ensure the uploader is setup for upstream allocated buffers.
19630           In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
19631           is setup in case upstream elements allocate buffers themselves without
19632           honouring our GstVaapiSink::bufer_alloc() hook.
19633           In particular, this fixes support for OGG video streams with WebKit.
19634           https://bugzilla.gnome.org/show_bug.cgi?id=703934
19635           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19636
19637 2013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19638
19639         * gst/vaapi/gstvaapisink.c:
19640           vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
19641           Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
19642           builds as well.
19643
19644 2013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19645
19646         * gst/vaapi/gstvaapisink.c:
19647         * gst/vaapi/gstvaapisink.h:
19648           vaapisink: handle raw buffers not created from VA video buffer pool.
19649           Handle raw video buffers that were not created from a VA video buffer
19650           pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
19651           builds instead of the GstVaapiUploader.
19652           https://bugs.freedesktop.org/show_bug.cgi?id=55818
19653
19654 2013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19655
19656         * gst/vaapi/gstvaapidecode.c:
19657           vaapidecode: remove extraneous size information from allowed caps.
19658           Fix _getcaps() implementation to not report codecs with size information
19659           filled in the returned caps. That's totally useless nowadays. Ideally,
19660           this is a hint to insert a video parser element, thus allowing future
19661           optimizations, but this is not a strict requirement for gstreamer-vaapi,
19662           which is able to parse the elementary bitstreams itself.
19663           https://bugzilla.gnome.org/show_bug.cgi?id=704734
19664
19665 2013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
19666
19667         * gst/vaapi/gstvaapidecode.c:
19668         * gst/vaapi/gstvaapidecode.h:
19669           vaapidecode: submit the last frame from output adapter to decoder.
19670           If there is no frame delimiter at the end of the stream, e.g. no
19671           end-of-stream or end-of-sequence marker, and that the current frame
19672           was fully parsed correctly, then assume that last frame is complete
19673           and submit it to the decoder.
19674           https://bugzilla.gnome.org/show_bug.cgi?id=705123
19675           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
19676           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19677
19678 2013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19679
19680         * gst/vaapi/gstvaapidecode.c:
19681         * gst/vaapi/gstvaapidecode.h:
19682           vaapidecode: push all decoded frames from within the task.
19683           Make sure to push all decoded frames from the task so that the unlying
19684           VA surfaces could all be rendered from the same thread.
19685
19686 2013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19687
19688         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19689           wayland: render the raw surface if VPP failed.
19690           As a last resort, if video processing capabilities (VPP) are not available,
19691           or they did not produce anything conclusive enough, then try to fallback to
19692           the original rendering code path whereby the whole VA surface is rendered
19693           as is, no matter of video cropping or deinterlacing requests.
19694           Note: under those conditions, the visual outcome won't be correct but at
19695           least, something gets displayed instead of bailing out.
19696
19697 2013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19698
19699         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19700           wayland: add supporting for video processing.
19701           Try to use VA/VPP processing capabilities to handle video cropping and
19702           additional rendering flags that may not be directly supported by the
19703           underlying hardware when exposing a suitable Wayland buffer for the
19704           supplied VA surface. e.g. deinterlacing, different color primaries than
19705           BT.601, etc.
19706
19707 2013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19708
19709         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19710           wayland: add new frame redraw infrastructure.
19711           Update the frame redraw infrastructure with a new FrameState stucture
19712           holds all the necessary information used to display the next pending
19713           surface.
19714           While we are at it, delay the sync operation down to when it is actually
19715           needed. That way, we keep performing additional tasks meanwhile.
19716
19717 2013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19718
19719         * docs/reference/libs/libs-sections.txt:
19720         * gst-libs/gst/vaapi/gstvaapifilter.c:
19721         * gst-libs/gst/vaapi/gstvaapifilter.h:
19722           filter: allow specification of render target regions.
19723           Add support for rendering the source surface to a particular region within
19724           the supplied target surface. The default background color is black.
19725
19726 2013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19727
19728         * gst/vaapi/gstvaapivideobuffer.c:
19729           decode: fix creation of GLX video buffers for GStreamer 0.10.
19730           Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
19731           and (ii) to correctly extract the GstSurfaceConverter from the video buffer
19732           object meta.
19733           This fixes support for cluttersink with GStreamer 0.10 builds.
19734
19735 2013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19736
19737         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19738           mpeg2: disable video cropping as picture_display_extension() is missing.
19739           Disable video cropping in MPEG-2 codec because it is partially implemented
19740           and actually because nobody implements it that way, and the standard spec
19741           does not specify the display process either anyway.
19742           Most notably, there are two possible use cases for sequence_display_extension()
19743           horizontal_display_size & vertical_display_size: (i) guesstimating the
19744           pixel-aspect-ratio, or (ii) implement some kind of span & scan process
19745           in conjunction with picture_display_extension() information.
19746           https://bugzilla.gnome.org/show_bug.cgi?id=704848
19747
19748 2013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19749
19750         * gst/vaapi/gstvaapisink.c:
19751         * gst/vaapi/gstvaapisink.h:
19752           vaapisink: allow scaling to ignore aspect ratio.
19753           Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
19754           which allows you to say that you don't want the sink to respect aspect
19755           ratio. Add the same property to vaapisink.
19756           http://lists.freedesktop.org/archives/libva/2012-September/001298.html
19757           Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
19758
19759 2013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
19760
19761         * gst/vaapi/gstvaapisink.c:
19762           vaapisink: fix memory leak of GstVaapiUploader instance.
19763           Make sure gst_vaapisink_ensure_uploader() checks for the existence
19764           of a former GstVaapiUploader instance prior to forcibly creating a
19765           new one.
19766           https://bugzilla.gnome.org/show_bug.cgi?id=703980
19767
19768 2013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
19769
19770         * gst/vaapi/gstvaapisink.c:
19771           vaapisink: fix get_caps() implementation for GStreamer 1.0.
19772           Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
19773           by honouring the filter caps argument. More precisely, this fixes the
19774           following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
19775           https://bugzilla.gnome.org/show_bug.cgi?id=705192
19776           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
19777           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19778
19779 2013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19780
19781         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19782           mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
19783           This fixes the following issue:
19784           CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
19785           gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
19786           'GstVaapiDecoderMpeg4Class'
19787           gstvaapidecoder_mpeg4.c:44: note: previous declaration of
19788           'GstVaapiDecoderMpeg4Class' was here
19789           make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
19790           make[5]: Leaving directory
19791           `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
19792           https://bugzilla.gnome.org/show_bug.cgi?id=705148
19793
19794 2013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19795
19796         * tests/test-filter.c:
19797           tests: filter: add support for deinterlacing.
19798           Add --deinterlace option to enable deinterlacing through explicit VA/VPP
19799           deinterlacing filter. However, if --deinterlace option is not set but the
19800           --deinterlace-flags option is set with "top-field-first", then the very
19801           basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
19802
19803 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
19804
19805         * tests/test-filter.c:
19806           tests: filter: add support for denoising and sharpening.
19807           Add --denoise option to enable noise reduction with the level specified
19808           as the option value (float). Likewise, add --sharpen option to enable
19809           sharpening.
19810           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19811
19812 2013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19813
19814         * tests/test-filter.c:
19815           tests: filter: add support for frame cropping.
19816           Add support for frame cropping through the --crop-rect|-c argument.
19817           The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
19818           or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
19819
19820 2013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19821
19822         * tests/test-filter.c:
19823           tests: filter: dump supported operations and formats.
19824
19825 2013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
19826
19827         * tests/Makefile.am:
19828         * tests/test-filter.c:
19829           tests: add initial test for video processing.
19830           Add minimal test case for video processing: scaling and color format
19831           conversion.
19832           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19833
19834 2013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
19835
19836         * docs/reference/libs/libs-sections.txt:
19837         * gst-libs/gst/vaapi/gstvaapifilter.c:
19838         * gst-libs/gst/vaapi/gstvaapifilter.h:
19839         * gst-libs/gst/vaapi/gstvaapiutils.c:
19840         * gst-libs/gst/vaapi/gstvaapiutils.h:
19841         * gst/vaapi/gstvaapipostproc.c:
19842         * gst/vaapi/gstvaapipostproc.h:
19843           filter: add initial support for deinterlacing.
19844           Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
19845           the selected field from the input surface is kept for the target surface.
19846           Setting gst_vaapi_filter_set_deinterlacing() method argument to
19847           GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
19848           Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
19849           to libgstvaapi core library.
19850           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19851
19852 2013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
19853
19854         * docs/reference/libs/libs-sections.txt:
19855         * gst-libs/gst/vaapi/gstvaapifilter.c:
19856         * gst-libs/gst/vaapi/gstvaapifilter.h:
19857           filter: add support for color balance adjustment.
19858           Add ProcAmp (color balance) adjustments for hue, saturation, brightness
19859           and contrast. The respective range for each filter shall be the same as
19860           for the VA display attributes.
19861           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19862
19863 2013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
19864
19865         * docs/reference/libs/libs-sections.txt:
19866         * gst-libs/gst/vaapi/gstvaapifilter.c:
19867         * gst-libs/gst/vaapi/gstvaapifilter.h:
19868           filter: add support for sharpening.
19869           Sharpening is configured with a float value. The supported range is
19870           -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
19871           operation at all.
19872           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19873
19874 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
19875
19876         * docs/reference/libs/libs-sections.txt:
19877         * gst-libs/gst/vaapi/gstvaapifilter.c:
19878         * gst-libs/gst/vaapi/gstvaapifilter.h:
19879           filter: add support for denoising.
19880           Noise reduction is configured with a float value. The supported range
19881           is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
19882           operation at all.
19883           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19884
19885 2013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19886
19887         * docs/reference/libs/libs-sections.txt:
19888         * gst-libs/gst/vaapi/gstvaapifilter.c:
19889         * gst-libs/gst/vaapi/gstvaapifilter.h:
19890           filter: add support for frame cropping.
19891           Frame cropping is defined with a GstVaapiRectangle value. The default
19892           behaviour is to treat the source surface as a whole
19893
19894 2013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19895
19896         * gst-libs/gst/vaapi/gstvaapifilter.c:
19897           filter: add helper functions.
19898           Add helper functions to ensure an operation VA buffer is allocated to
19899           the right size; that filter caps get parsed and assigned to the right
19900           operation too; and that float parameters are correctly scaled to fit
19901           the reported range from the VA driver.
19902
19903 2013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19904
19905         * configure.ac:
19906         * docs/reference/libs/libs-docs.xml.in:
19907         * docs/reference/libs/libs-sections.txt:
19908         * gst-libs/gst/vaapi/Makefile.am:
19909         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19910         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19911         * gst-libs/gst/vaapi/gstvaapifilter.c:
19912         * gst-libs/gst/vaapi/gstvaapifilter.h:
19913           Add initial infrastructure for video processing.
19914           Add initial API for video processing: only scaling and color format
19915           conversion operations are supported.
19916
19917 2013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19918
19919         * gst-libs/gst/vaapi/video-format.c:
19920         * gst-libs/gst/vaapi/video-format.h:
19921           libs: add gst_vaapi_video_format_from_string() helper.
19922           Add gst_vaapi_video_format_from_string() helper function to convert from
19923           a video format string representation to a suitable GstVideoFormat. This
19924           is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
19925           builds, and a proper iteration over all GstVideoFormat string representations
19926           otherwise for earlier GStreamer 0.10.x builds.
19927
19928 2013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19929
19930         * gst-libs/gst/vaapi/video-format.c:
19931         * gst-libs/gst/vaapi/video-format.h:
19932           libs: add gst_vaapi_video_format_from_va_fourcc() helper.
19933           Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
19934           VA fourcc value to a suitable GstVideoFormat.
19935
19936 2013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19937
19938         * gst-libs/gst/vaapi/gstvaapivalue.c:
19939         * gst-libs/gst/vaapi/gstvaapivalue.h:
19940           libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
19941           Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
19942           structures as a standard GType. This could be useful to have them
19943           described as a GValue later on.
19944
19945 2013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19946
19947         * docs/reference/libs/libs-docs.xml.in:
19948         * docs/reference/libs/libs-sections.txt:
19949         * gst-libs/gst/vaapi/Makefile.am:
19950         * gst-libs/gst/vaapi/gstvaapicontext.h:
19951         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19952           libs: drop some public APIs.
19953           Don't expose GstVaapiContext APIs and make them totally private to
19954           libgstvaapi core library. That API would also tend to disappear in
19955           a future revision. Likewise, don't expose GstVaapiDisplayCache API
19956           but keep symbols visible so that the various render backends could
19957           share a common display cache implementation in libgstvaapi.
19958           Try to clean-up the documentation from any stale entry too.
19959
19960 2013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19961
19962         * tests/image.c:
19963         * tests/image.h:
19964           tests: image: allow creation of images with interleaved patterns.
19965           Add image_generate_full() function to create interleaved color rectangles.
19966           If flags is zero, the whole frame is generated with a unique pattern. If
19967           flags is non-zero, then each field is handled individually.
19968
19969 2013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19970
19971         * tests/image.c:
19972           tests: image: fix conversion from RGB to YUV.
19973           Fix RGB to YUV conversion to preserve full data range.
19974
19975 2013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19976
19977         * tests/image.c:
19978           tests: image: try to upload images through vaDeriveImage() too.
19979           On some platforms, vaPutImage() would fail even if it does not involve
19980           color format conversion or scaling, whereas copying raw pixels through
19981           vaDeriveImage() could work instead.
19982
19983 2013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19984
19985         * tests/image.c:
19986           tests: image: add support for packed YUV formats.
19987           Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
19988
19989 2013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19990
19991         * tests/image.c:
19992           tests: image: fix generation of I420/YV12 images.
19993           U/V planes were reversed, thus producing invalid images.
19994
19995 2013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19996
19997         * tests/image.c:
19998           tests: image: fix string representation for GstVideoFormat.
19999
20000 2013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20001
20002         * docs/reference/libs/libs-sections.txt:
20003         * gst-libs/gst/vaapi/Makefile.am:
20004         * gst-libs/gst/vaapi/gstvaapiimage.c:
20005         * gst-libs/gst/vaapi/gstvaapiimage.h:
20006         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
20007         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20008         * gst-libs/gst/vaapi/gstvaapisurface.c:
20009           image: clean image API up.
20010           Don't expose functions that reference a GstVaapiImageRaw, those are
20011           meant to be internal only for implementing subpictures sync. Also add
20012           a few private definitions to avoid functions calls for retrieving
20013           image size and format information.
20014
20015 2013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20016
20017         * docs/reference/libs/libs-sections.txt:
20018         * gst-libs/gst/vaapi/gstvaapiimage.c:
20019         * gst-libs/gst/vaapi/gstvaapiimage.h:
20020           image: add gst_vaapi_image_copy() helper.
20021           Add gst_vaapi_image_copy() helper function to copy images of same format
20022           and size.
20023
20024 2013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20025
20026         * gst/vaapi/gstvaapivideoconverter_x11.c:
20027           plugins: handle video cropping in X11 pixmap converter.
20028           Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
20029           we could decode from the stream.
20030
20031 2013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20032
20033         * gst/vaapi/Makefile.am:
20034         * gst/vaapi/gstvaapivideobuffer.c:
20035         * gst/vaapi/gstvaapivideoconverter_glx.c:
20036         * gst/vaapi/gstvaapivideoconverter_x11.c:
20037         * gst/vaapi/gstvaapivideoconverter_x11.h:
20038           plugins: add support for "x11-pixmap" video converter type.
20039           Install a new video converter that supports X11 pixmap targets for X11
20040           backends only, or make the GLX converter creation function chain up to
20041           the X11 converter whenever requested.
20042
20043 2013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20044
20045         * tests/simple-decoder.c:
20046           tests: simple-decoder: add support for pixmap API.
20047           Add support for the new render-to-pixmap API. Avoid flickering on
20048           platforms supporting video overlay by keeping up to 2 intermediate
20049           pixmaps.
20050
20051 2013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20052
20053         * tests/simple-decoder.c:
20054           tests: simple-decoder: add support for video cropping.
20055           Handle video cropping information attached to a VA surface proxy.
20056
20057 2013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20058
20059         * tests/output.c:
20060         * tests/output.h:
20061         * tests/test-decode.c:
20062           tests: add support for render-to-pixmap.
20063           Add --pixmap option to test-decode so that to allow copies of VA
20064           surface to an intermediate pixmap and rendering from that pixmap.
20065           Only X11 backends are supported for now.
20066
20067 2013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20068
20069         * configure.ac:
20070         * gst-libs/gst/vaapi/Makefile.am:
20071         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20072         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
20073         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20074         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
20075           x11: implement pixmap rendering with RENDER extension.
20076           Use hardware accelerated XRenderComposite() function, from the RENDER
20077           extension, to blit a pixmap to screen. Besides, this can also support
20078           cropping and scaling.
20079
20080 2013-07-19 15:05:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20081
20082         * docs/reference/libs/libs-docs.xml.in:
20083         * docs/reference/libs/libs-sections.txt:
20084         * gst-libs/gst/vaapi/Makefile.am:
20085         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20086         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
20087         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
20088         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
20089           x11: implement pixmap API.
20090           Implement the new render-to-pixmap API. The only supported pixmap format
20091           that will work is xRGB, with native byte ordering. Others might work but
20092           they were not tested.
20093
20094 2013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20095
20096         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
20097         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
20098         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20099           x11: update x11_get_geometry() helper function with depth output.
20100           Allow x11_get_geometry() utility function to also return the depth
20101           assigned to the X drawable.
20102
20103 2013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20104
20105         * docs/reference/libs/libs-docs.xml.in:
20106         * docs/reference/libs/libs-sections.txt:
20107         * gst-libs/gst/vaapi/Makefile.am:
20108         * gst-libs/gst/vaapi/gstvaapipixmap.c:
20109         * gst-libs/gst/vaapi/gstvaapipixmap.h:
20110         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
20111         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20112         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20113         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
20114           Add initial Pixmap API.
20115           Add API to transfer VA urfaces to native pixmaps. Also add an API to
20116           render a native pixmap, for completeness. In general, rendering to
20117           pixmap would only be useful to certain VA drivers and use cases on
20118           X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
20119           in an upper layer.
20120
20121 2013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20122
20123         * docs/reference/libs/libs-sections.txt:
20124         * gst-libs/gst/vaapi/gstvaapiimage.c:
20125         * gst-libs/gst/vaapi/gstvaapisurface.c:
20126         * gst-libs/gst/vaapi/video-format.c:
20127         * gst-libs/gst/vaapi/video-format.h:
20128           libs: add and expose gst_vaapi_video_format_to_string() helper.
20129           This is just a wrapper over gst_video_format_to_string() for older
20130           GStreamer 0.10 builds.
20131
20132 2013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
20133
20134         * gst/vaapi/gstvaapipluginutil.c:
20135           plugins: fix display type comparison in gst_vaapi_create_display().
20136           After the code got moved to create the gst_vaapi_create_display() helper,
20137           this comparison was not updated to dereference the newly-created
20138           pointer, so the code was comparing the pointer itself to the type, and
20139           therefore failing to retrieve the VA display.
20140           This fixes the following error (and gets gst-vaapi decoding again):
20141           ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
20142           https://bugzilla.gnome.org/show_bug.cgi?id=704410
20143           Signed-off-by: Emilio López <emilio@elopez.com.ar>
20144
20145 2013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20146
20147         * configure.ac:
20148           Bump version for development.
20149
20150 === release 0.5.5 ===
20151
20152 2013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20153
20154         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20155           mpeg2: don't output dummy pictures.
20156           Mark dummy pictures as output already so that we don't try to submit
20157           them to the upper layer since this is purely internal / temporary
20158           picture for helping the decoder.
20159
20160 2013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20161
20162         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20163           decoder: dispose GstVideoCodecFrame earlier.
20164           Once the picture was output, it is no longer necessary to keep an extra
20165           reference to the underlying GstVideoCodecFrame. So, we can release it
20166           earlier, and maybe subsequently release the associate surface proxy
20167           earlier.
20168
20169 2013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20170
20171         * NEWS:
20172         * configure.ac:
20173           0.5.5.
20174
20175 2013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20176
20177         * docs/reference/libs/libs-sections.txt:
20178         * gst-libs/gst/vaapi/Makefile.am:
20179         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20180         * gst-libs/gst/vaapi/gstvaapiimage.c:
20181         * gst-libs/gst/vaapi/gstvaapisurface.c:
20182         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20183         * gst-libs/gst/vaapi/video-format.c:
20184         * gst-libs/gst/vaapi/video-format.h:
20185         * gst/vaapi/gstvaapidownload.c:
20186         * gst/vaapi/gstvaapiuploader.c:
20187         * tests/image.c:
20188         * tests/test-display.c:
20189           Fix new video format API.
20190           Fix new internal video format API, based on GstVideoFormat, to not
20191           clobber with system symbols. So replace the gst_video_format_* prefix
20192           with gst_vaapi_video_format_ prefix, even if the format type remains
20193           GstVideoFormat.
20194
20195 2013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20196
20197         * configure.ac:
20198           Bump library major version.
20199           Bump the library major version due to API/ABI changes that occurred in
20200           the imaging API. In particular, GstVaapiImageFormat type was replaced
20201           with the standard GstVideoFormat type. All dependent APIs were updated
20202           to match this change.
20203
20204 2013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20205
20206         * NEWS:
20207           NEWS: updates.
20208
20209 2013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20210
20211         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20212         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20213           decoder: fix memory leak when processing interlaced pictures.
20214           Fix memory leak when processing interlaced pictures and that occurs
20215           because the first field, represented as a GstVideoCodecFrame, never
20216           gets released. i.e. when the picture is completed, this is generally
20217           the case when the second field is successfully decoded, we need to
20218           propagate the GstVideoCodecFrame of the first field to the original
20219           GstVideoDecoder so that it could reclaim memory.
20220           Otherwise, we keep accumulating the first fields into GstVideoDecoder
20221           private frames list until the end-of-stream is reached. The frames
20222           are eventually released there, but too late, i.e. too much memory
20223           may have been consumed.
20224           https://bugzilla.gnome.org/show_bug.cgi?id=701257
20225
20226 2013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20227
20228         * gst/vaapi/gstvaapipluginutil.c:
20229           plugins: simlpify gst_vaapi_create_display() helper.
20230           Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
20231           performs the necessary validation checks for the underlying VA display
20232           prior to returning to the caller. So, if an error occurred, then NULL is
20233           really returned in that case.
20234
20235 2013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
20236
20237         * gst/vaapi/gstvaapipluginutil.c:
20238           plugins: add gst_vaapi_create_display() helper.
20239           https://bugzilla.gnome.org/show_bug.cgi?id=703235
20240           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20241
20242 2013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20243
20244         * gst/vaapi/gstvaapivideobufferpool.c:
20245           plugins: don't reallocate pool allocator for the same caps.
20246           If the video buffer pool config doesn't have new caps, then it's not
20247           necessary to reinstantiate the allocator. That could be a costly
20248           operation as we could do some extra heavy checking in there.
20249
20250 2013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20251
20252         * gst/vaapi/gstvaapivideomemory.c:
20253           plugins: fix ref counting of GstVaapiVideoMemory allocator.
20254           Fix reference counting issue whereby gst_memory_init() does not hold
20255           an extra reference to the GstAllocator. So, there could be situations
20256           where the last instance of GstVaapiVideoAllocator gets released before
20257           a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
20258
20259 2013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20260
20261         * gst/vaapi/gstvaapiuploader.c:
20262           vaapiupload: use implicit color conversion to NV12.
20263           Always perform conversion of sources buffers to NV12 since this is
20264           the way we tested for this capability in ensure_allowed_caps(). This
20265           also saves memory bandwidth for further rendering. However, this may
20266           not preserve quality since the YUV buffers are down-sampled to 4:2:0.
20267
20268 2013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20269
20270         * gst-libs/gst/vaapi/gstvaapivideopool.c:
20271           pool: fix deallocation of video pools.
20272           The queue of free objects to used was deallocated with g_queue_free_full().
20273           However, this convenience function shall only be used if the original queue
20274           was allocated with g_queue_new(). This caused memory corruption, eventually
20275           leading to a crash.
20276           The correct solution is to pair the g_queue_init() with the corresponding
20277           g_queue_clear(), while iterating over all free objects to deallocate them.
20278
20279 2013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
20280
20281         * gst/vaapi/gstvaapidownload.c:
20282           vaapidownload: fix src caps format error.
20283           This fixes direct linking of vaapidownload element to xvimagesink with
20284           VA drivers supporting vaGetImage() from the native VA surface format to
20285           a different VA image format. i.e. color conversion during download.
20286           http://bugzilla.gnome.org/show_bug.cgi?id=703937
20287           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20288
20289 2013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20290
20291         * gst/vaapi/gstvaapidownload.c:
20292           vaapidownload: fix debug string for image formats.
20293           The image is now expressed as a standard GstVideoFormat, which is not
20294           a FOURCC but rather a regular enum value.
20295           This is a regression introduced in commit 09397fa.
20296
20297 2013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
20298
20299         * gst-libs/gst/vaapi/gstvaapiimage.c:
20300           image: add support for raw YUY2/UYVY image copies.
20301           Implement raw image copies for YUY2 format. Add support for UYVY format
20302           too, with the same copy function as for YUY2. Even though components
20303           ordering differs, copying line strides is essentially the same.
20304           https://bugzilla.gnome.org/show_bug.cgi?id=703939
20305           https://bugzilla.gnome.org/show_bug.cgi?id=703940
20306           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20307
20308 2013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20309
20310         * gst/vaapi/gstvaapiuploader.c:
20311           plugins: clean-up video uploader helper.
20312           Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
20313           were already negotiated beforehand, and they are not used from the
20314           buffer in upstream elements.
20315           Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
20316           represented as a GstVideoInfo.
20317
20318 2013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20319
20320         * gst/vaapi/gstvaapiuploader.c:
20321           plugins: use GstVideoInfo in video uploader helper.
20322
20323 2013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20324
20325         * gst/vaapi/gstvaapivideomemory.c:
20326           plugins: allow creation of VA surfaces with explicit pixel format.
20327           Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
20328           with an explicit pixel format. This allows for direct rendering to
20329           VA surface memory from a software decoder.
20330
20331 2013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20332
20333         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20334           surface: fix surface pool creation with an explicit pixel format.
20335           Fix creation of surface pool objects to honour explicit pixel format
20336           specification. If this operation is not supported, then fallback to
20337           the older interface with chroma format.
20338
20339 2013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20340
20341         * gst-libs/gst/vaapi/gstvaapisurface.c:
20342           surface: try to determine the underlying VA surface format.
20343           If a VA surface was allocated with the chroma-format interface, try to
20344           determine the underlying pixel format on gst_vaapi_surface_get_format(),
20345           or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
20346
20347 2013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20348
20349         * docs/reference/libs/libs-sections.txt:
20350         * gst-libs/gst/vaapi/gstvaapisurface.c:
20351         * gst-libs/gst/vaapi/gstvaapisurface.h:
20352         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
20353           surface: allow creation with explicit pixel format.
20354           Make it possible to create VA surfaces with a specific pixel format.
20355           This is a new capability brought in by VA-API >= 0.34.0. If that
20356           capability is not built-in (e.g. using VA-API < 0.34.0), then
20357           gst_vaapi_surface_new_with_format() will return NULL.
20358
20359 2013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20360
20361         * docs/reference/libs/libs-sections.txt:
20362         * gst-libs/gst/vaapi/video-format.c:
20363         * gst-libs/gst/vaapi/video-format.h:
20364           surface: add helper function to get chroma type from GstVideoFormat.
20365           Add gst_video_format_get_chroma_type() helper function to determine
20366           the GstVaapiChromaType from a standard GStreamer video format. It is
20367           possible to reconstruct that from GstVideoFormatInfo but it is much
20368           simpler (and faster?) to use the local GstVideoFormatMap table.
20369
20370 2013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20371
20372         * gst-libs/gst/vaapi/gstvaapisurface.c:
20373         * gst-libs/gst/vaapi/gstvaapisurface.h:
20374         * gst-libs/gst/vaapi/gstvaapiutils.c:
20375         * gst-libs/gst/vaapi/gstvaapiutils.h:
20376           surface: add new chroma formats.
20377           Add new chroma formats available with VA-API >= 0.34.0. In particular,
20378           this includes "RGB" chroma formats, and more YUV subsampled formats.
20379           Also add a new from_GstVaapiChromaType() helper function to convert
20380           libgstvaapi chroma type to VA chroma format.
20381
20382 2013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20383
20384         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
20385           pool: fix image pool to check for the video format to use.
20386           Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
20387           image pool object, only if the underlying VA display does support the
20388           requested VA image format.
20389
20390 2013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20391
20392         * gst-libs/gst/vaapi/gstvaapicontext.c:
20393         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
20394         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
20395         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20396         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
20397         * gst-libs/gst/vaapi/gstvaapivideopool.h:
20398         * gst/vaapi/gstvaapidownload.c:
20399         * gst/vaapi/gstvaapiuploader.c:
20400         * tests/Makefile.am:
20401         * tests/test-surfaces.c:
20402           Use GstVideoInfo for video pools.
20403           Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
20404           structures instead. Those are smaller, and allows for streamlining
20405           libgstvaapi more.
20406
20407 2013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20408
20409         * gst-libs/gst/vaapi/gstvaapiimage.c:
20410         * gst-libs/gst/vaapi/video-format.c:
20411           Add more video formats.
20412           Add new video format mappings to VA image formats:
20413           - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
20414           - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
20415
20416 2013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20417
20418         * gst-libs/gst/vaapi/gstvaapiimage.c:
20419           image: fix debug message with video format.
20420           Fix debug message string with image format expressed with GstVideoFormat
20421           instead of the obsolete format that turned out to be a fourcc.
20422           This is a regression from git commit e61c5fc.
20423
20424 2013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20425
20426         * tests/image.c:
20427         * tests/image.h:
20428         * tests/test-display.c:
20429         * tests/test-textures.c:
20430         * tests/test-windows.c:
20431           tests: port to new video format API.
20432
20433 2013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20434
20435         * gst/vaapi/gstvaapidownload.c:
20436         * gst/vaapi/gstvaapiuploader.c:
20437         * gst/vaapi/gstvaapivideomemory.c:
20438           plugins: port to new video format API.
20439
20440 2013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20441
20442         * gst-libs/gst/vaapi/gstvaapiimage.c:
20443           libs: use GstVideoInfo wherever possible.
20444           In particular, use gst_video_info_from_caps() helper function in VA image
20445           for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
20446           gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
20447
20448 2013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20449
20450         * docs/reference/libs/libs-docs.xml.in:
20451         * docs/reference/libs/libs-sections.txt:
20452         * gst-libs/gst/vaapi/Makefile.am:
20453         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
20454         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
20455           libs: drop GstVaapiImageFormat helpers.
20456           Drop GstVaapiImageFormat helpers since everything was moved to the new
20457           GstVideoFormat based API. Don't bother with backwards compatibility and
20458           just bump the library major version afterwards.
20459
20460 2013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20461
20462         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20463         * gst-libs/gst/vaapi/gstvaapidisplay.h:
20464         * gst-libs/gst/vaapi/gstvaapiimage.c:
20465         * gst-libs/gst/vaapi/gstvaapiimage.h:
20466         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
20467         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20468           libs: port to new video format API.
20469
20470 2013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20471
20472         * docs/reference/libs/libs-docs.xml.in:
20473         * docs/reference/libs/libs-sections.txt:
20474         * gst-libs/gst/vaapi/Makefile.am:
20475         * gst-libs/gst/vaapi/video-format.c:
20476         * gst-libs/gst/vaapi/video-format.h:
20477           Add new video format API.
20478           Leverage GstVideoFormat utilities from core GStreamer to provide an
20479           adaptation layer to VA image formats.
20480
20481 2013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20482
20483         * NEWS:
20484           NEWS: updates.
20485
20486 2013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20487
20488         * gst/vaapi/gstvaapisink.c:
20489           vaapisink: fix creation of GLX texture.
20490           Fix creation of GLX texture, to not depend on the GstCaps video size that
20491           could be wrong, especially in presence of frame cropping. So, use the size
20492           from the source VA surfaces.
20493           An optimization could be to reduce the texture size to the actual visible
20494           size on screen. i.e. scale down the texture size to match the screen dimensions,
20495           while preserving the VA surface aspect ratio. However, some VA drivers don't
20496           honour that.
20497
20498 2013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20499
20500         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20501           mpeg2: add support for video cropping.
20502           If the stream has a sequence_display_extenion, then attach the
20503           display_horizontal/display_vertical dimension as the cropping
20504           rectangle width/height to the GstVaapiPicture.
20505           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20506
20507 2013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20508
20509         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20510           vc1: add support for video cropping.
20511           If the Advanced profile has display_extension fields, then set the display
20512           width/height dimension as cropping rectangle to the GstVaapiPicture.
20513           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20514
20515 2013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20516
20517         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20518           h264: add support for video cropping.
20519           If the encoded stream has the frame_cropping_flag set, then associate
20520           the cropping rectangle to GstVaapiPicture.
20521           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20522
20523 2013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20524
20525         * tests/decoder.c:
20526         * tests/decoder.h:
20527         * tests/test-decode.c:
20528         * tests/test-subpicture.c:
20529           tests: add basic support for video cropping.
20530           Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
20531           instead of a plain GstVaapiSurface. This means that we can now retrieve
20532           the frame cropping rectangle from the surface proxy, along with additional
20533           information if ever needed.
20534
20535 2013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20536
20537         * gst/vaapi/gstvaapidecode.c:
20538         * gst/vaapi/gstvaapisink.c:
20539         * gst/vaapi/gstvaapivideometa.c:
20540           plugins: add support for video cropping.
20541           Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
20542           specific meta information to hold video cropping details. Make the sink
20543           support video cropping in X11 and GLX modes.
20544
20545 2013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20546
20547         * gst/vaapi/gstvaapivideometa.c:
20548         * gst/vaapi/gstvaapivideometa.h:
20549           plugins: add helper functions to set the render rectangle.
20550           Some video clips may have a clipping region that needs to propogate to
20551           the renderer. These helper functions make it possible to attach that
20552           clipping region, as a GstVaapiRectangle, the the video meta associated
20553           with the buffer.
20554           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20555           signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20556
20557 2013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20558
20559         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20560         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20561           surfaceproxy: allow for NULL cropping rectangle.
20562           Make it possible associate an empty cropping rectangle to the surface
20563           proxy, thus resetting any cropping rectangle that was previously set.
20564           This allows for returning plain NULL when no cropping rectangle was
20565           initially set up to the surface proxy, or if it was reset to defaults.
20566
20567 2013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20568
20569         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20570           surfaceproxy: clean-up helper macros.
20571           Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
20572           proxy macro argument to a GstVaapiSurfaceProxy pointer.
20573
20574 2013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20575
20576         * gst-libs/gst/vaapi/gstvaapisurface.c:
20577         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
20578         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20579         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20580           surface: add simple surface info accessors as helper macros.
20581           Add helper macros to retrieve the VA surface information like size
20582           (width, height) or chroma type. This is a micro-optimization to avoid
20583           useless function calls and NULL pointer re-checks in internal routines.
20584
20585 2013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20586
20587         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20588         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20589         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20590         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
20591         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20592           decoder: add support for video cropping.
20593           Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
20594           cropping information from raw bitstreams to each picture being decoded.
20595           Also add helper function to surface proxy to propagate that information
20596           outside of libgstvaapi. e.g. plug-in elements or standalone applications.
20597           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20598           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20599
20600 2013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20601
20602         * ext/codecparsers:
20603           codecparsers: update to gst-vaapi-branch commit f90de0a.
20604           f90de0a h264: fix calculation of the frame cropping rectangle
20605           535515c h264: parse the cropping rectangle separately
20606
20607 2013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20608
20609         * ext/codecparsers:
20610           codecparsers: update to gst-vaapi-branch commit 0f68a71.
20611           0f68a71 mpeg2: fix video packet header size checks
20612
20613 2013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
20614
20615         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20616           mpeg2: reset quantization matrices on new sequence headers.
20617           The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
20618           shall be reset to their default values when a Sequence_Header() is
20619           decoded.
20620           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20621
20622 2013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20623
20624         * configure.ac:
20625         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20626           mpeg2: cope with latest codecparser changes.
20627           Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
20628           used in individual header parsers. Also use the new slice parsing API.
20629
20630 2013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20631
20632         * ext/codecparsers:
20633           codecparsers: update to gst-vaapi-branch commit dddd182.
20634           dddd182 mpeg2: add slice header parsing API
20635           94e6228 mpeg2: add sequence scalable extension parsing API
20636           531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
20637           4b135d3 h264: fix the return value type for the SEI palyload parsing methods
20638
20639 2013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20640
20641         * gst/vaapi/gstvaapisink.c:
20642           vaapisink: expose the raw video formats in static caps template.
20643           Expose all raw video formats in the static caps template since the
20644           vaapisink is supporting raw data. We will get the exact set of formats
20645           supported by the driver dynamically through the _get_caps() routine.
20646           This also fixes an inconsistency wrt. GStreamer 0.10 builds.
20647           https://bugzilla.gnome.org/show_bug.cgi?id=702178
20648           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20649
20650 2013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20651
20652         * gst/vaapi/gstvaapisink.c:
20653         * gst/vaapi/gstvaapisink.h:
20654           vaapisink: add "use-glx" property for OpenGL rendering.
20655           Now that VA/GLX capable buffers are generated by default on X11, thus
20656           depending on a VA/GLX display, we stil want to use vaPutSurface() for
20657           rendering since it is faster.
20658           Anyway, OpenGL rendering in vaapisink was only meant for testing and
20659           enabling "fancy" effects to play with. This has no real value. So,
20660           disable OpenGL rendering by default.
20661
20662 2013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
20663
20664         * gst/vaapi/gstvaapipluginutil.c:
20665           plugins: try to allocate a GLX display first over an X11 one.
20666           If the gstreamer-vaapi plug-in elements are built with GLX support, then
20667           try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
20668           display next.
20669           https://bugzilla.gnome.org/show_bug.cgi?id=701742
20670
20671 2013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
20672
20673         * configure.ac:
20674           configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
20675           jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
20676           https://bugzilla.gnome.org/show_bug.cgi?id=698858
20677           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20678
20679 2013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
20680
20681         * gst-libs/gst/vaapi/gstvaapiimage.c:
20682           image: fix wrong check for rect bounds in copy_image().
20683
20684 2013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20685
20686         * configure.ac:
20687           Bump version for development.
20688
20689 === release 0.5.4 ===
20690
20691 2013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20692
20693         * NEWS:
20694         * configure.ac:
20695           0.5.4.
20696
20697 2013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20698
20699         * NEWS:
20700           NEWS: updates.
20701
20702 2013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20703
20704         * configure.ac:
20705         * gst-libs/gst/codecparsers/Makefile.am:
20706           configure: always build the MPEG-4 parser.
20707           Always build the MPEG-4 parser for now as there are also core fixes
20708           included in the parser that cannot be tested for with API checks.
20709
20710 2013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20711
20712         * configure.ac:
20713           configure: add --enable-builtin-codecparsers [default="yes"] option.
20714           Add flag to have all codecparsers built-in, thus ensuring that the
20715           resulting binaries have all the necessary bug fixes and this is what
20716           the QA has been testing anyway.
20717           Of course, for a completely up-to-date Linux distribution, you could
20718           also opt for --disable-builtin-codecparsers and use the system ones.
20719           Though, some core fixes could be missing, and those cannot be tested
20720           for with API checks.
20721
20722 2013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20723
20724         * ext/codecparsers:
20725           codecparsers: update to gst-vaapi-branch commit 843ce3e.
20726           843ce3e jpeg: fix default Huffman tables generation.
20727           8655187 mpeg2: fix the pixel-aspect-ratio calculation
20728           21099dc mpeg2: actually store video bitrate values
20729           dd02087 mpeg2: fix picture packet extension size check
20730           25948e9 mpeg2: increase min size for picture coding ext
20731           f1f5a40 ensure the debug category is properly initialized
20732
20733 2013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20734
20735         * debian.upstream/Makefile.am:
20736           debian: fix list of generated files for .deb packaging.
20737
20738 2013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20739
20740         * configure.ac:
20741         * debian.upstream/Makefile.am:
20742         * debian.upstream/control.in:
20743           debian: fix libgstvaapi -dev package name.
20744           Fix libgstvaapi -dev package name so that to allow installation of both
20745           GStreamer 0.10 and 1.0.x based packages.
20746
20747 2013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20748
20749         * NEWS:
20750           NEWS: updates.
20751
20752 2013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20753
20754         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20755           wayland: fix memory leak of display resources.
20756
20757 2013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
20758
20759         * gst/vaapi/gstvaapisink.c:
20760           vaapisink: fix build without VA/GLX support.
20761
20762 2013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20763
20764         * gst/vaapi/gstvaapivideomemory.c:
20765         * gst/vaapi/gstvaapivideomemory.h:
20766           plugins: allow buffer mappings to GstVaapiSurfaceProxy.
20767           Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
20768           video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
20769           caller. This is the only sensible enough thing to do in this mode as
20770           the underlying surface pixels need to be extracted through an explicit
20771           call to the gst_video_frame_map() function instead.
20772           A possible use-case of this is to implement a "handoff" signal handler
20773           to fakesink or identity element for further processing.
20774
20775 2013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20776
20777         * gst/vaapi/gstvaapivideomemory.c:
20778           plugins: silence check for direct-rendering mode in video memory.
20779           Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
20780           mode support, and not trigger fatal-criticals if either test surface or
20781           image could not be created. Typical case: pixel format mismatch, e.g. NV12
20782           supported by most hardware vs. I420 supported by most software decoders.
20783
20784 2013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20785
20786         * gst/vaapi/gstvaapivideomemory.c:
20787           plugins: improve video memory flags safety checks.
20788           On map, ensure we have GST_MAP_WRITE flags since this is only what we
20789           support for now. Likewise, on unmap, make sure that the VA image is
20790           unmapped for either read or write, while still committing it to the
20791           VA surface if write was requested.
20792
20793 2013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20794
20795         * gst-libs/gst/vaapi/gstvaapisurface.c:
20796           surface: fix memory leak through unreleased parent context.
20797           Break the circular references between GstVaapiContext and its children
20798           GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
20799           context, which holds a reference to its VA surfaces, then none of those
20800           were released.
20801           How does this impact support for subpictures?
20802           The only situation when the parent context needs to disappear is when
20803           it is replaced with another one because of a resolution change in the
20804           video stream for instance, or a normal destroy. In this case, it does
20805           not really matter to apply subpictures to the peer surfaces since they
20806           are either gone, or those that are left in the pipe can probably bear
20807           a reinstantiation of the subpictures for it.
20808           So, parent_context is set to NULL when the parent context is destroyed,
20809           other VA surfaces can still get subpictures attached to them, individually
20810           not as a whole. i.e. subpictures for surface S1 will be created from
20811           active composition buffers and associated to S1, subpictures for S2 will
20812           be created from the next active composition buffers, etc. We don't try
20813           to cache the subpictures in those cases (pending surfaces until EOS
20814           is reached, or pending surfaces until new surfaces matching new VA context
20815           get to be used instead).
20816
20817 2013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20818
20819         * gst/vaapi/gstvaapisink.c:
20820           vaapisink: fix one-time initialization when display property is set.
20821           Fix gst_vaapisink_ensure_display() to perform one-time initialization
20822           tasks even if the `display' property was explicitly set.
20823
20824 2013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20825
20826         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20827           window: fix GLX window initialization.
20828           Make sure to create the GLX context once the window object has completed
20829           its creation. Since gl_resize() relies on the newly created window size,
20830           then we cannot simply overload the GstVaapiWindowClass::create() hook.
20831           So, we just call into gst_vaapi_window_glx_ensure_context() once the
20832           window object is created in the gst_vaapi_window_glx_new*() functions.
20833
20834 2013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20835
20836         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
20837         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
20838         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
20839         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20840         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20841         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
20842         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20843         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
20844         * gst-libs/gst/vaapi/gstvaapitexture.c:
20845         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
20846         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20847         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20848         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20849           display: validate display types.
20850
20851 2013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20852
20853         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
20854         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20855         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20856           display: drop internal NAME_PREFIX, store the real display name.
20857           Always store a valid display name/device path, instead of adding a
20858           particular prefix. i.e. make it simply a strdup(), or "" if it was
20859           initially NULL.
20860
20861 2013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20862
20863         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
20864         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
20865         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20866         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20867         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20868         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
20869         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
20870           display: make it possible to lookup the display cache by type.
20871           Make it possible to add extra an extra filter to most of display cache
20872           lookup functions so that the GstVaapiDisplay instance can really match
20873           a compatible and existing display by type, instead of relying on extra
20874           string tags (e.g. "X11:" prefix, etc.).
20875
20876 2013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20877
20878         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
20879         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20880         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20881           display: cope with new display cache API.
20882
20883 2013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20884
20885         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
20886         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
20887           display: rework display cache API.
20888           Simplify display cache API, while making it more flexible. We can now create
20889           custom lookup functions with gst_vaapi_display_cache_lookup_custom().
20890
20891 2013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20892
20893         * tests/test-display.c:
20894           tests: improve check for display cache.
20895           Improve check for display cache infrastructure. In particular, for X11 and
20896           GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
20897           from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
20898           shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
20899           already exists will have to generate different VA displays.
20900
20901 2013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
20902
20903         * gst/vaapi/gstvaapiuploader.c:
20904           uploader: fix memory leak in GStreamer 0.10 builds.
20905           In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
20906           but it exhibited a memory leak because the surface generated for the
20907           GstVaapiVideoMeta totally lost its parent video pool. So, it was not
20908           possible to release that surface back to the parent pool when the meta
20909           gets released, and the memory consumption kept growing.
20910           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20911
20912 2013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20913
20914         * gst/vaapi/gstvaapivideometa.c:
20915           plugins: fix gst_vaapi_video_meta_new_from_pool().
20916           Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
20917           the underlying object type, the gst_vaapi_video_meta_new_from_pool()
20918           was hereby totally broken. Fixed this regression by using the newly
20919           provided gst_vaapi_video_pool_get_object_type() function.
20920
20921 2013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20922
20923         * gst/vaapi/gstvaapiuploader.c:
20924         * gst/vaapi/gstvaapivideomemory.c:
20925         * gst/vaapi/gstvaapivideometa.c:
20926           plugins: cope with GST_VAAPI_IS_xxx() macros removal.
20927
20928 2013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20929
20930         * tests/decoder.c:
20931           tests: cope with GST_VAAPI_IS_xxx() macros removal.
20932
20933 2013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20934
20935         * docs/reference/libs/libs-sections.txt:
20936         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
20937         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20938         * gst-libs/gst/vaapi/gstvaapivideopool.c:
20939         * gst-libs/gst/vaapi/gstvaapivideopool.h:
20940         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
20941           libs: add query for GstVaapiVideoPool object types.
20942           Add API to identify the underlying GstVaapiVideoPool object type.
20943
20944 2013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20945
20946         * docs/reference/libs/libs-sections.txt:
20947         * gst-libs/gst/vaapi/gstvaapicontext.c:
20948         * gst-libs/gst/vaapi/gstvaapicontext.h:
20949         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20950         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20951         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20952         * gst-libs/gst/vaapi/gstvaapidisplay.h:
20953         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
20954         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
20955         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
20956         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20957         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
20958         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20959         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
20960         * gst-libs/gst/vaapi/gstvaapiimage.c:
20961         * gst-libs/gst/vaapi/gstvaapiimage.h:
20962         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
20963         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
20964         * gst-libs/gst/vaapi/gstvaapiobject.c:
20965         * gst-libs/gst/vaapi/gstvaapiobject.h:
20966         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20967         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
20968         * gst-libs/gst/vaapi/gstvaapisurface.c:
20969         * gst-libs/gst/vaapi/gstvaapisurface.h:
20970         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20971         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
20972         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20973         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
20974         * gst-libs/gst/vaapi/gstvaapitexture.c:
20975         * gst-libs/gst/vaapi/gstvaapivideopool.c:
20976         * gst-libs/gst/vaapi/gstvaapivideopool.h:
20977         * gst-libs/gst/vaapi/gstvaapiwindow.c:
20978         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20979         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
20980         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20981         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20982         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
20983           libs: drop GST_VAAPI_IS_xxx() helper macros.
20984           Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
20985           deriving from GObject and so those were only checking for whether the
20986           argument was NULL or not. This is now irrelevant, and even confusing
20987           to some extent, because we no longer have type checking.
20988           Note: this incurs more type checking (review) but the libgstvaapi is
20989           rather small, so this is manageable.
20990
20991 2013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20992
20993         * configure.ac:
20994           Bump library major version.
20995           The whole libgstvaapi libraries got a major refresh to get rid of GObject.
20996           This is a fundamental change that requires a new SONAME. More changes are
20997           underway to streamline the core libraries.
20998           So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
20999           On one particular test (sintel HD trailer), the total number of executed
21000           instruction was reduced by 8%.
21001
21002 2013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21003
21004         * docs/reference/libs/Makefile.am:
21005         * docs/reference/libs/libs-docs.xml.in:
21006         * docs/reference/libs/libs-sections.txt:
21007         * docs/reference/libs/libs.core.types:
21008         * docs/reference/libs/libs.glx.types:
21009         * docs/reference/libs/libs.x11.types:
21010           docs: cope with removed APIs.
21011           Some APIs are dead because they are no longer based on GObject.
21012
21013 2013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21014
21015         * gst/vaapi/gstvaapidecode.c:
21016         * gst/vaapi/gstvaapidownload.c:
21017         * gst/vaapi/gstvaapipluginutil.c:
21018         * gst/vaapi/gstvaapipostproc.c:
21019         * gst/vaapi/gstvaapisink.c:
21020         * gst/vaapi/gstvaapiupload.c:
21021         * gst/vaapi/gstvaapiuploader.c:
21022         * gst/vaapi/gstvaapivideobufferpool.c:
21023         * gst/vaapi/gstvaapivideoconverter_glx.c:
21024         * gst/vaapi/gstvaapivideomemory.c:
21025         * gst/vaapi/gstvaapivideometa.c:
21026           plugins: cope with new GstVaapiMiniObject objects.
21027
21028 2013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21029
21030         * tests/decoder.c:
21031         * tests/image.c:
21032         * tests/output.c:
21033         * tests/simple-decoder.c:
21034         * tests/test-decode.c:
21035         * tests/test-display.c:
21036         * tests/test-subpicture.c:
21037         * tests/test-surfaces.c:
21038         * tests/test-textures.c:
21039         * tests/test-windows.c:
21040           tests: cope with new GstVaapiMiniObject objects.
21041
21042 2013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21043
21044         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21045           display: fix set_synchronous() to lock display.
21046
21047 2013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21048
21049         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
21050         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
21051           videopool: simplify creation of video objects pool.
21052
21053 2013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21054
21055         * gst-libs/gst/vaapi/gstvaapiobject.c:
21056         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21057         * gst-libs/gst/vaapi/gstvaapitypes.h:
21058           libs: simplify GstVaapiID definitions.
21059           Make GstVaapiID a gsize instead of guessing an underlying integer large
21060           enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
21061           this is plain zero and that it is no longer passed as varargs.
21062
21063 2013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21064
21065         * gst-libs/gst/vaapi/Makefile.am:
21066         * gst-libs/gst/vaapi/gstvaapi_priv.h:
21067         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
21068         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
21069         * gst-libs/gst/vaapi/gstvaapivalue.c:
21070         * gst-libs/gst/vaapi/gstvaapivalue.h:
21071           libs: drop obsolete function helpers and objects.
21072           Drop obsolete GstVaapiID related function helpers for passing them as
21073           GValues.
21074
21075 2013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21076
21077         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21078         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21079         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21080         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21081         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
21082         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
21083         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
21084         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
21085         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
21086         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21087         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21088         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
21089         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
21090         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21091         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
21092         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
21093         * gst-libs/gst/vaapi/gstvaapiobject.c:
21094         * gst-libs/gst/vaapi/gstvaapivideopool.c:
21095           libs: use GstVaapiMiniObject for display objects.
21096
21097 2013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21098
21099         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21100         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21101         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21102         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21103         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
21104         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21105         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
21106         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21107         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
21108         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21109         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
21110         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21111         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21112         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21113         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
21114           libs: use GstVaapiMiniObject for video decoders.
21115           Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
21116           GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
21117           helper function to let the user add a callback to a function triggered
21118           whenever the codec state (e.g. caps) changes.
21119
21120 2013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21121
21122         * docs/reference/libs/libs-sections.txt:
21123         * gst-libs/gst/vaapi/Makefile.am:
21124         * gst-libs/gst/vaapi/gstvaapicontext.c:
21125         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
21126         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
21127         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
21128         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
21129         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21130         * gst-libs/gst/vaapi/gstvaapivideopool.c:
21131         * gst-libs/gst/vaapi/gstvaapivideopool.h:
21132         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
21133           libs: use GstVaapiMiniObject for video object pools.
21134           Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
21135           GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
21136           no longer used for a long time. Make object allocators static, i.e.
21137           local to the shared library.
21138
21139 2013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21140
21141         * gst-libs/gst/vaapi/gstvaapitexture.c:
21142         * gst-libs/gst/vaapi/gstvaapitexture.h:
21143           libs: use GstVaapiObject for texture objects.
21144
21145 2013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21146
21147         * gst-libs/gst/vaapi/Makefile.am:
21148         * gst-libs/gst/vaapi/gstvaapiwindow.c:
21149         * gst-libs/gst/vaapi/gstvaapiwindow.h:
21150         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
21151         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
21152         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
21153         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
21154         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
21155         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
21156         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
21157         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
21158         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
21159         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
21160           libs: use GstVaapiObject for window objects.
21161
21162 2013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21163
21164         * gst-libs/gst/vaapi/gstvaapicontext.c:
21165         * gst-libs/gst/vaapi/gstvaapicontext.h:
21166         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21167         * gst-libs/gst/vaapi/gstvaapiimage.c:
21168         * gst-libs/gst/vaapi/gstvaapiimage.h:
21169         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
21170         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
21171         * gst-libs/gst/vaapi/gstvaapisurface.c:
21172         * gst-libs/gst/vaapi/gstvaapisurface.h:
21173         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21174         * gst-libs/gst/vaapi/gstvaapivideopool.c:
21175           libs: use GstVaapiObject for VA objects.
21176
21177 2013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21178
21179         * gst-libs/gst/vaapi/Makefile.am:
21180         * gst-libs/gst/vaapi/gstvaapiobject.c:
21181         * gst-libs/gst/vaapi/gstvaapiobject.h:
21182         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
21183           Port GstVaapiObject to GstVaapiMiniObject.
21184
21185 2013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21186
21187         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21188         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
21189         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21190         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21191         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
21192         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
21193           libs: refine GstVaapiMiniObject.
21194           Drop support for user-defined data since this capability was not used
21195           so far and GstVaapiMiniObject represents the smallest reference counted
21196           object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
21197           Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
21198           is also possible to further simplify the layout of the object. i.e. merge
21199           GstVaapiMiniObjectBase into GstVaapiMiniObject.
21200
21201 2013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21202
21203         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21204           decoder: update picture size from the bitstream.
21205           Propagate the picture size from the bitstream to the GstVaapiDecoder,
21206           and subsequent user who installed a signal on notify::caps. This fixes
21207           decoding of TS streams when the demuxer failed to extract the required
21208           information.
21209
21210 2013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21211
21212         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21213           decoder: fix raw decoding mode.
21214           Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
21215           surface proxy to the caller.
21216
21217 2013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21218
21219         * docs/reference/libs/libs-sections.txt:
21220         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21221         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21222         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21223         * gst/vaapi/gstvaapidecode.c:
21224           decoder: add gst_vaapi_decoder_get_frame_with_timeout().
21225           Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
21226           wait for a frame to be decoded, until the specified timeout in microseconds,
21227           prior to returning to the caller.
21228           This is a fix to performance regression from 851cc0, whereby the vaapidecode
21229           loop executed on the srcpad task was called to often, thus starving all CPU
21230           resources.
21231
21232 2013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21233
21234         * configure.ac:
21235           Bump version for development.
21236
21237 === release 0.5.3 ===
21238
21239 2013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21240
21241         * NEWS:
21242         * configure.ac:
21243           0.5.3.
21244
21245 2013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21246
21247         * NEWS:
21248           NEWS: updates.
21249
21250 2013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21251
21252         * gst/vaapi/gstvaapidecode.c:
21253           vaapidecode: rework heuristics to detect decode timeout.
21254           Rework heuristics to detect when downstream element ran into errors,
21255           and thus failing to release any VA surface in due time for the current
21256           frame to get decoded. In particular, recalibrate the render time base
21257           when the first frame gets submitted downstream, or when there is no
21258           timestamp that could be inferred.
21259
21260 2013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21261
21262         * gst-libs/gst/vaapi/gstcompat.h:
21263         * gst/vaapi/gstvaapidecode.c:
21264           vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
21265           Rework GstVideoDecoder::handle_frame() to decode the current frame,
21266           while possibly waiting for a free surface, and separately submit all
21267           decoded frames from a task. This makes it possible to pop and render
21268           decoded frames as soon as possible.
21269
21270 2013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21271
21272         * gst/vaapi/gstvaapidecode.c:
21273         * gst/vaapi/gstvaapidownload.c:
21274         * gst/vaapi/gstvaapisink.c:
21275         * gst/vaapi/gstvaapiupload.c:
21276           plugins: use gst_object_unref() wherever applicable.
21277           Use gst_object_unref() wherever applicable, e.g. objects derived from
21278           GstElement, GstVideoPool, etc.
21279
21280 2013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21281
21282         * docs/reference/plugins/plugins-docs.xml.in:
21283         * docs/reference/plugins/plugins-sections.txt:
21284         * docs/reference/plugins/plugins.types:
21285           docs: drop obsolete plug-ins.
21286           Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
21287           i.e. vaapiupload and vaapidownload are no longer the recommended
21288           plug-ins to use.
21289
21290 2013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21291
21292         * debian.upstream/rules:
21293           debian: fix build of GStreamer 0.10 packages.
21294           Fix build of Debian packages to scan the actual GStreamer API version
21295           from the generated changelog file.
21296
21297 2013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21298
21299         * gst/vaapi/gstvaapipostproc.c:
21300           vaapipostproc: minor clean-ups.
21301           Use g_clear_object() wherever appropriate and remove dead-code.
21302
21303 2013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21304
21305         * gst/vaapi/gstvaapipostproc.c:
21306           vaapipostproc: fix reference counting buf for passthrough mode.
21307           Fix reference counting bug for passthrough mode, whereby the input buffer
21308           was propagated as is downstream through gst_pad_push() without increasing
21309           its reference count before. The was a problem when gst_pad_push() returns
21310           an error and we further decrease the reference count of the input buffer.
21311
21312 2013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21313
21314         * gst-libs/gst/vaapi/gstcompat.h:
21315         * gst/vaapi/Makefile.am:
21316         * gst/vaapi/gstvaapi.c:
21317         * gst/vaapi/gstvaapidecode.c:
21318         * gst/vaapi/gstvaapipluginutil.h:
21319         * gst/vaapi/gstvaapipostproc.c:
21320           vaapipostproc: port to GStreamer 1.0.
21321           Add support for interlaced streams with GStreamer 1.0 too. Basically,
21322           this enables vaapipostproc, though it is not auto-plugged yet. We also
21323           make sure to reply to CAPS queries, and happily handle CAPS events.
21324
21325 2013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21326
21327         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21328           decoder: fix GstVideoCodecFrame flags for interlaced contents.
21329           Fix support for interlaced contents with GStreamer 0.10. In particular,
21330           propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
21331           correctly.
21332           This is a regression from commit 87e5717.
21333
21334 2013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21335
21336         * gst-libs/gst/vaapi/Makefile.am:
21337         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21338         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21339         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
21340         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
21341           decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
21342           Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
21343           structure was only useful to parsing and a proper GstvaapiDecoderFrame
21344           instance will be created instead.
21345
21346 2013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21347
21348         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21349           decoder: export presentation timestamp for raw decoding mode.
21350           Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
21351           held any information about the expected presentation timestamp, frame
21352           duration or additional flags like interlaced or top-field-first.
21353
21354 2013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21355
21356         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21357         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21358           decoder: use new GstVaapiSurfaceProxy utility functions.
21359           Use new GstVaapiSurfaceProxy internal helper functions to propagate the
21360           necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
21361           Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
21362           i.e. increase the GstVideoCodecFrame reference count in push_frame rather
21363           than gst_vaapi_picture_output().
21364
21365 2013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21366
21367         * docs/reference/libs/libs-sections.txt:
21368         * gst-libs/gst/vaapi/Makefile.am:
21369         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21370         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21371         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
21372           surfaceproxy: add more attributes for raw decoding modes.
21373           Add more attributes for raw decoding modes, i.e. directly through the
21374           libgstvaapi helper library. In particular, add presentation timestamp,
21375           duration and a couple of flags (interlaced, TFF, RFF, one-field).
21376
21377 2013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21378
21379         * docs/reference/libs/libs-sections.txt:
21380         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21381         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21382         * gst/vaapi/gstvaapidecode.c:
21383         * tests/simple-decoder.c:
21384           surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
21385           Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
21386           to call some user-provided function when the surface proxy is released.
21387
21388 2013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
21389
21390         * configure.ac:
21391         * gst-libs/gst/vaapi/Makefile.am:
21392           build: link libgstvaapi-glx-1.0.so against libdl.
21393           Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
21394           to resolve glXGetProcAddress() from GLX libraries. This fix builds on
21395           Fedora 17.
21396           https://bugzilla.gnome.org/show_bug.cgi?id=698046
21397           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21398
21399 2013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21400
21401         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21402           decoder: fix gst_vaapi_decoder_get_codec_state().
21403           Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
21404           supposed to make GstVaapiDecoder own the return GstVideoCodecState
21405           object. Only comment was updated, not the actual code.
21406
21407 2013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21408
21409         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21410         * gst/vaapi/gstvaapidecode.c:
21411           decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
21412           Make gst_vaapi_decoder_get_codec_state() return the original codec state,
21413           i.e. make the GstVaapiDecoder object own the return state so that callers
21414           that want an extra reference to it would just gst_video_codec_state_ref()
21415           it before usage. This aligns the behaviour with what we had before with
21416           gst_vaapi_decoder_get_caps().
21417           This is an ABI incompatible change, library major version was bumped from
21418           previous release (0.5.2).
21419
21420 2013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21421
21422         * gst/vaapi/gstvaapivideobufferpool.h:
21423         * gst/vaapi/gstvaapivideoconverter_glx.h:
21424           plugins: mark a few more functions as internal.
21425           Mark the following functions are internal, i.e. private to the vaapi plug-in:
21426           - gst_vaapi_video_buffer_pool_get_type()
21427           - gst_vaapi_video_converter_glx_get_type()
21428           - gst_vaapi_video_converter_glx_new()
21429
21430 2013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21431
21432         * gst/vaapi/gstvaapivideobuffer.c:
21433           plugins: implement GstSurfaceMeta API.
21434           Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
21435           an unstable/deprecated API, this makes it possible to support Clutter
21436           sink with minimal changes. Tested against clutter-gst 1.9.92.
21437
21438 2013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21439
21440         * gst/vaapi/gstvaapisink.c:
21441           vaapisink: optimize GstVideoOverlayInterface::expose().
21442           When render-mode is "overlay", then it is not really useful to peek into
21443           the GstBaseSink::last_buffer, since we have our own video_buffer already
21444           recorded and maintained into GstVaapiSink.
21445
21446 2013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21447
21448         * gst/vaapi/gstvaapisink.c:
21449           vaapisink: fix memory leak of GstSample objects.
21450           Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
21451           This also fixes extra unreferencing of the underlying GstBuffer in the common
21452           path afterwards (for both 0.10 or 1.0).
21453
21454 2013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21455
21456         * gst-libs/gst/vaapi/gstcompat.h:
21457         * gst/vaapi/gstvaapi.c:
21458           plugins: fix description for gst-inspect.
21459           Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
21460           need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
21461           incorrectly uses #name for creating the plug-in name, instead of using macro
21462           expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
21463
21464 2013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21465
21466         * README:
21467           README: updates.
21468           Update build requirements for GStreamer 1.0.x support. Add section for
21469           ways to report bugs.
21470
21471 2013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21472
21473         * NEWS:
21474           NEWS: updates.
21475
21476 2013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21477
21478         * gst-libs/gst/vaapi/Makefile.am:
21479         * gst/vaapi/Makefile.am:
21480           Fix make dist to include all source files, in any case.
21481           Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
21482           sure to include all source files in either case while generating source
21483           tarballs.
21484
21485 2013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21486
21487         * configure.ac:
21488           Bump library major version.
21489           Bump library major version, while preserving a major version of 0 for
21490           GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
21491           0.10 based librarieS.
21492
21493 2013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21494
21495         * gst/vaapi/gstvaapivideomemory.c:
21496         * gst/vaapi/gstvaapivideomemory.h:
21497           plugins: implement direct-rendering mode for raw YUV buffer uploads.
21498           Allow direct-rendering (writes) into target VA surfaces.
21499
21500 2013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21501
21502         * gst/vaapi/gstvaapivideobufferpool.c:
21503         * gst/vaapi/gstvaapivideomemory.c:
21504         * gst/vaapi/gstvaapivideomemory.h:
21505           plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
21506           Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
21507           the last component is unmapped. Downloads are not supported yet. The aim
21508           was to first support SW decoding + HW accelerated rendering (vaapisink).
21509           e.g. for Wayland.
21510
21511 2013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21512
21513         * gst/vaapi/gstvaapidecode.c:
21514           vaapidecode: submit all decoded frames before decoding a new one.
21515           Make sure to purge all pending frames that were already decoded prior
21516           to decoding a new one. This helps release VA surfaces as early as
21517           possible.
21518
21519 2013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21520
21521         * gst/vaapi/gstvaapidecode.c:
21522           vaapidecode: reply to CAPS queries.
21523           Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
21524           the set of allowed caps, i.e. it works similar to GstPad::get_caps().
21525           This fixes fallback to SW decoding if no HW decoder is available.
21526
21527 2013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21528
21529         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21530         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21531         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21532         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21533         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21534         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21535           decoder: fix unpaired GstBuffer map/unmaps.
21536           This possibly fixes a few memory leaks along the way.
21537
21538 2013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21539
21540         * configure.ac:
21541         * gst-libs/gst/vaapi/gstcompat.h:
21542         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
21543         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21544         * gst/vaapi/Makefile.am:
21545         * gst/vaapi/gstvaapi.c:
21546         * gst/vaapi/gstvaapidecode.c:
21547         * gst/vaapi/gstvaapisink.c:
21548         * gst/vaapi/gstvaapisink.h:
21549         * gst/vaapi/gstvaapiuploader.c:
21550         * tests/codec.c:
21551           Allow build against either GStreamer API (0.10 or 1.0).
21552           Introduce a new configure option --with-gstreamer-api that determines
21553           the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
21554           Also integrate more compatibility glue into gstcompat.h and plugins.
21555
21556 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21557
21558         * gst/vaapi/gstvaapidecode.c:
21559         * gst/vaapi/gstvaapisink.c:
21560         * gst/vaapi/gstvaapisink.h:
21561           plugins: use new video buffer pools.
21562           Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
21563           GstBaseSink::propose_allocation() to expose that pool to upstream
21564           elements; and also implement GstVideoDecoder::decide_allocation() to
21565           actually use that pool (from downstream), if any, or create one.
21566           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21567
21568 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21569
21570         * gst/vaapi/Makefile.am:
21571         * gst/vaapi/gstvaapivideobufferpool.c:
21572         * gst/vaapi/gstvaapivideobufferpool.h:
21573         * gst/vaapi/gstvaapivideomemory.c:
21574         * gst/vaapi/gstvaapivideomemory.h:
21575           plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
21576           Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
21577           object currently holds a reference to GstVaapiVideoMeta.
21578           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21579
21580 2013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21581
21582         * gst/vaapi/gstvaapivideometa.c:
21583         * gst/vaapi/gstvaapivideometa.h:
21584           plugins: allow copies of GstVaapiVideoMeta objects.
21585           Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
21586           objects created from GstVaapiVideoPool. This is mostly useful to clone a
21587           GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
21588           rendering flags.
21589
21590 2013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21591
21592         * gst/vaapi/gstvaapivideometa.c:
21593           plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
21594           Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
21595           reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
21596           gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
21597           argument is NULL.
21598
21599 2012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21600
21601         * gst/vaapi/Makefile.am:
21602         * gst/vaapi/gstvaapi.c:
21603         * gst/vaapi/gstvaapidecode.c:
21604         * gst/vaapi/gstvaapidownload.c:
21605         * gst/vaapi/gstvaapipluginutil.c:
21606         * gst/vaapi/gstvaapipostproc.c:
21607         * gst/vaapi/gstvaapisink.c:
21608         * gst/vaapi/gstvaapiupload.c:
21609         * gst/vaapi/gstvaapiuploader.c:
21610         * gst/vaapi/gstvaapivideobuffer.c:
21611         * gst/vaapi/gstvaapivideoconverter_glx.c:
21612         * gst/vaapi/gstvaapivideometa.c:
21613         * gst/vaapi/gstvaapivideometa.h:
21614           plugins: initial port to GStreamer 1.0.
21615           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
21616           is rather minimalistic so that to test the basic functionality.
21617           Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
21618           needs polishing wrt. to GStreamer 1.x functionality and the former are
21619           totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
21620           which are yet to be implemented.
21621           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21622
21623 2013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21624
21625         * gst-libs/gst/vaapi/gstcompat.h:
21626         * tests/codec.c:
21627         * tests/decoder.c:
21628         * tests/simple-decoder.c:
21629         * tests/test-subpicture.c:
21630           tests: add support for GStreamer 1.0.
21631
21632 2012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21633
21634         * configure.ac:
21635         * gst-libs/gst/vaapi/gstcompat.h:
21636         * gst-libs/gst/vaapi/gstvaapicontext.c:
21637         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21638         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21639         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21640         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21641         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21642         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21643         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21644         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21645         * gst-libs/gst/vaapi/gstvaapiimage.c:
21646         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
21647         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21648         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
21649         * gst-libs/gst/vaapi/gstvaapisurface.h:
21650           Add initial support for GStreamer 1.0.
21651           This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
21652           core decoding library. The changes are kept rather minimal here so that
21653           the library retains as little dependency as possible on core GStreamer
21654           functionality.
21655           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21656
21657 2013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21658
21659         * gst/vaapi/gstvaapisink.c:
21660           vaapisink: improve check for raw YUV format mode.
21661           Improve check for raw YUV format modes by avoiding checks against strings
21662           ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
21663           GstBaseSink::set_caps() is called first and if VA surface format mode is
21664           used, then GstBaseSink::buffer_alloc() is not called. If the latter is
21665           called before set_caps(), then we just make a full check. This one is
21666           pretty rare though, e.g. it usually happens once for custom pipelines.
21667
21668 2013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21669
21670         * gst/vaapi/gstvaapipluginutil.c:
21671           plugins: don't fail if there is no overlay composition to apply.
21672           Fix gst_vaapi_apply_composition() to not fail if no overlay composition
21673           was found. i.e. return success (TRUE). This was harmless though extra
21674           debug messages are not nice.
21675           This is a regression introduced by commit 95b8659.
21676
21677 2013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21678
21679         * gst/vaapi/gstvaapidecode.c:
21680         * gst/vaapi/gstvaapidecode.h:
21681           vaapidecode: expose the exact set of supported HW decoders.
21682           Don't return static caps that don't mean anything for the underlying codecs
21683           that are actually supported for decoding. i.e. always allocate a VA display
21684           and retrieve the exact set of HW decoders available. That VA display may be
21685           re-used later on during negotiation through GstVideoContext "prepare-context".
21686           This fixes fallback to SW decoding if no HW decoder is available.
21687
21688 2013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21689
21690         * docs/reference/libs/libs-sections.txt:
21691         * gst-libs/gst/vaapi/gstvaapicontext.c:
21692         * gst-libs/gst/vaapi/gstvaapicontext.h:
21693         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21694         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21695           decoder: drop obsolete functions.
21696           Drop the following functions that are now obsolete:
21697           - gst_vaapi_context_get_surface()
21698           - gst_vaapi_context_put_surface()
21699           - gst_vaapi_context_find_surface_by_id()
21700           - gst_vaapi_surface_proxy_new()
21701           - gst_vaapi_surface_proxy_get_context()
21702           - gst_vaapi_surface_proxy_set_context()
21703           - gst_vaapi_surface_proxy_set_surface()
21704           This is an API change.
21705
21706 2013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21707
21708         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21709           decoder: delegate surface size check to VA context reset.
21710           Now that the surface pool is reference counted in the surface proxy wrapper,
21711           we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
21712           Besides, this check is already performed in gst_vaapi_context_reset_full().
21713
21714 2013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21715
21716         * docs/reference/libs/libs-sections.txt:
21717         * gst-libs/gst/vaapi/gstvaapicontext.c:
21718         * gst-libs/gst/vaapi/gstvaapicontext.h:
21719         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21720         * gst-libs/gst/vaapi/gstvaapisurface.h:
21721         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21722         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21723           decoder: simplify acquisition/release of spare surface.
21724           Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
21725           proxy from the context surface pool. This change also makes sure to retain
21726           the parent surface pool in the proxy.
21727           Besides, it was also totally useless to attach/detach parent context to
21728           VA surface each time we acquire/release it. Since the whole context owns
21729           all associated VA surfaces, we can mark this as such only once and for all.
21730
21731 2013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21732
21733         * configure.ac:
21734           Bump version for development.
21735
21736 === release 0.5.2 ===
21737
21738 2013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21739
21740         * NEWS:
21741         * configure.ac:
21742           0.5.2.
21743
21744 2013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21745
21746         * NEWS:
21747           NEWS: updates.
21748
21749 2013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21750
21751         * gst/vaapi/gstvaapipluginutil.c:
21752         * gst/vaapi/gstvaapisink.c:
21753           plugins: fix usage of gst_vaapi_reply_to_query().
21754           Make gst_vaapi_reply_to_query() first check whether the query argument
21755           is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
21756           Then, make sure vaapisink propagates the query to the parent class if
21757           it is not a video-context query.
21758
21759 2013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21760
21761         * gst/vaapi/gstvaapivideobuffer.c:
21762         * gst/vaapi/gstvaapivideobuffer.h:
21763           plugins: streamline video buffers.
21764           Add new gst_vaapi_video_buffer_new() helper function that allocates a video
21765           buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
21766           gst_vaapi_video_buffer_get_meta().
21767
21768 2013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21769
21770         * docs/reference/libs/libs-sections.txt:
21771         * gst-libs/gst/vaapi/Makefile.am:
21772         * gst/vaapi/Makefile.am:
21773         * gst/vaapi/gstvaapidecode.c:
21774         * gst/vaapi/gstvaapidownload.c:
21775         * gst/vaapi/gstvaapipostproc.c:
21776         * gst/vaapi/gstvaapisink.c:
21777         * gst/vaapi/gstvaapiupload.c:
21778         * gst/vaapi/gstvaapiuploader.c:
21779         * gst/vaapi/gstvaapivideobuffer.h:
21780         * gst/vaapi/gstvaapivideoconverter_glx.c:
21781         * gst/vaapi/gstvaapivideometa.c:
21782         * gst/vaapi/gstvaapivideometa.h:
21783           plugins: integrate GstVaapiVideoMeta from libgstvaapi.
21784           Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
21785           actual plugin elements. That's only useful there. Also inline reference
21786           counting code from GstVaapiMiniObject.
21787
21788 2013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21789
21790         * gst/vaapi/Makefile.am:
21791         * gst/vaapi/gstvaapidecode.c:
21792         * gst/vaapi/gstvaapidownload.c:
21793         * gst/vaapi/gstvaapipluginbuffer.c:
21794         * gst/vaapi/gstvaapipluginbuffer.h:
21795         * gst/vaapi/gstvaapipostproc.c:
21796         * gst/vaapi/gstvaapiupload.c:
21797         * gst/vaapi/gstvaapiuploader.c:
21798         * gst/vaapi/gstvaapivideobuffer.c:
21799         * gst/vaapi/gstvaapivideobuffer.h:
21800           plugins: drop gstvaapipluginbuffer.[ch] helper files.
21801           Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
21802           to gstvaapivideobuffer.[ch], and drop the obsolete files.
21803
21804 2013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21805
21806         * docs/reference/libs/libs-sections.txt:
21807         * docs/reference/libs/libs.core.types:
21808         * gst-libs/gst/vaapi/Makefile.am:
21809         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
21810         * gst/vaapi/Makefile.am:
21811         * gst/vaapi/gstvaapidownload.h:
21812         * gst/vaapi/gstvaapipluginbuffer.c:
21813         * gst/vaapi/gstvaapipostproc.h:
21814         * gst/vaapi/gstvaapivideobuffer.c:
21815         * gst/vaapi/gstvaapivideobuffer.h:
21816         * gst/vaapi/gstvaapivideoconverter_glx.h:
21817           plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
21818           Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
21819           actual plugin elements. That's only useful there.
21820
21821 2013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21822
21823         * gst/vaapi/gstvaapipluginutil.c:
21824         * gst/vaapi/gstvaapipluginutil.h:
21825         * gst/vaapi/gstvaapisink.c:
21826         * gst/vaapi/gstvaapivideoconverter_glx.c:
21827           plugins: use common helper function to apply compositions.
21828           Use common gst_vaapi_apply_composition() helper function to apply compositions
21829           attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
21830
21831 2013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21832
21833         * gst-libs/gst/vaapi/Makefile.am:
21834         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
21835         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
21836         * gst/vaapi/Makefile.am:
21837         * gst/vaapi/gstvaapipluginbuffer.c:
21838         * gst/vaapi/gstvaapivideoconverter_glx.c:
21839         * gst/vaapi/gstvaapivideoconverter_glx.h:
21840           plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
21841           Make sure libgstvaapi core decoding library doesn't include un-needed
21842           dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
21843           Besides, even if the vaapisink element is not used, we are bound to have
21844           a correctly populated GstSurfaceBuffer from vaapidecode.
21845           Also clean-up the file along the way.
21846
21847 2013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21848
21849         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21850           vc1: fix use of possibly uninitialized variable.
21851           In decode_codec_data(), force initialization of format to zero so that
21852           we can catch up cases where codec-data has neither "format" nor "wmvversion"
21853           fields, thus making it possible to gracefully fail in this case.
21854
21855 2013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21856
21857         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21858           jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
21859
21860 2013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21861
21862         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21863         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21864         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21865         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21866         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21867         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21868           decoder: sanitize codec-data decoding.
21869           Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
21870           codec-data in the decoder sub-class. Provide a common shared helper
21871           function to do the actual work and delegating further to the sub-class.
21872
21873 2013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21874
21875         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21876         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21877         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21878         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21879           decoder: get rid of GstVaapiDecoderUnit::buffer field.
21880           Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
21881           useless nowadays as creating sub-buffers doesn't bring any value. It
21882           actually means more memory allocations. We can't do without that in
21883           JPEG and MPEG-4:2 decoders.
21884
21885 2013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21886
21887         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21888         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21889         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21890         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21891         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21892           decoder: sanitize uses of codec frame input buffer (cosmetics).
21893           Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
21894           "buffer" variable.
21895
21896 2013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21897
21898         * gst/vaapi/gstvaapisink.c:
21899           vaapisink: add helper function to apply a composition buffer.
21900           Simplify application of a composition buffer to a GstVaapiSurface, and
21901           all its peers, until that function is eventually promoted to libgstvaapi.
21902
21903 2013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21904
21905         * gst/vaapi/gstvaapisink.c:
21906           vaapisink: fix support for raw YUV buffers.
21907           If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
21908           hook, then it will have a valid GstVaapiVideoMeta object attached to it.
21909           However, we previously assumed in that case that it was a "native" VA buffer,
21910           thus not calling into GstVaapiUploader::process().
21911
21912 2013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21913
21914         * gst-libs/gst/vaapi/gstcompat.h:
21915         * gst/vaapi/gstvaapidecode.c:
21916         * gst/vaapi/gstvaapidownload.c:
21917         * gst/vaapi/gstvaapipostproc.c:
21918         * gst/vaapi/gstvaapisink.c:
21919         * gst/vaapi/gstvaapiupload.c:
21920           plugins: use modern GstElement metadata information.
21921           Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
21922           basically is the same as gst_element_class_set_details_simple() in
21923           GStreamer 0.10 context.
21924
21925 2013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21926
21927         * gst/vaapi/gstvaapidecode.c:
21928         * gst/vaapi/gstvaapidownload.c:
21929         * gst/vaapi/gstvaapipostproc.c:
21930         * gst/vaapi/gstvaapisink.c:
21931         * gst/vaapi/gstvaapiupload.c:
21932           plugins: move up interfaces (cosmetics).
21933           Move GstImplementsInterface and GstVideoContext support functions up
21934           so that to keep a clear separation between the plugin element and its
21935           interface hooks.
21936
21937 2013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21938
21939         * gst/vaapi/gstvaapisink.c:
21940         * gst/vaapi/gstvaapiuploader.c:
21941           plugins: upgrade to newer APIs (GstVideoInfo based helpers).
21942           Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
21943           Also use the newly added gst_vaapi_image_format_from_structure() helper
21944           in GstVaapiUploader::ensure_allowed_caps().
21945
21946 2013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21947
21948         * gst/vaapi/gstvaapipluginbuffer.c:
21949           plugins: fix creation of video buffer from another source buffer.
21950           gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
21951           buffer video meta since it would be unreference'd from the get_buffer()
21952           helper function. For other cases, we still use (steal) the newly created
21953           video meta.
21954
21955 2013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21956
21957         * gst/vaapi/gstvaapipluginbuffer.c:
21958         * gst/vaapi/gstvaapipluginutil.c:
21959           plugins: include "sysdeps.h" header instead of "config.h".
21960
21961 2013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21962
21963         * gst-libs/gst/vaapi/gstcompat.h:
21964         * tests/codec.c:
21965           tests: modernize GstTypeFind functions.
21966           Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
21967           exactly correspond to the expected behaviour.
21968
21969 2013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21970
21971         * tests/image.c:
21972         * tests/image.h:
21973         * tests/test-decode.c:
21974         * tests/test-display.c:
21975         * tests/test-h264.c:
21976         * tests/test-h264.h:
21977         * tests/test-jpeg.c:
21978         * tests/test-jpeg.h:
21979         * tests/test-mpeg2.c:
21980         * tests/test-mpeg2.h:
21981         * tests/test-mpeg4.c:
21982         * tests/test-mpeg4.h:
21983         * tests/test-textures.c:
21984         * tests/test-vc1.c:
21985         * tests/test-vc1.h:
21986         * tests/test-windows.c:
21987           tests: fix license templates.
21988
21989 2013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21990
21991         * tests/test-display.c:
21992           tests: use gst_vaapi_image_format_from_structure() in test-display.
21993           Use gst_vaapi_image_format_from_structure() helper in test-display and
21994           then extract a VAImageFormat from it instead of relying on GstCaps for
21995           YUV and RGB formats.
21996
21997 2013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21998
21999         * tests/codec.c:
22000         * tests/decoder.c:
22001         * tests/output.c:
22002         * tests/test-decode.c:
22003         * tests/test-display.c:
22004         * tests/test-subpicture.c:
22005         * tests/test-textures.c:
22006         * tests/test-windows.c:
22007           tests: include "sysdeps.h" header instead of "config.h".
22008
22009 2013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22010
22011         * gst-libs/gst/vaapi/gstcompat.h:
22012         * gst-libs/gst/vaapi/gstvaapicontext.c:
22013         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22014           subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
22015           Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
22016           function with GStreamer 0.10 compatible semantics, or that tries to
22017           approach the current meaning. Basically, this is also just about moving
22018           the helper to gstcompat.h.
22019
22020 2013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22021
22022         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
22023         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
22024           image: add gst_vaapi_image_format_from_structure() helper.
22025           Add helper function to convert video formats from a GstStructure to a
22026           plain GstVaapiImageFormat.
22027
22028 2013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22029
22030         * gst-libs/gst/vaapi/Makefile.am:
22031         * gst-libs/gst/vaapi/gstcompat.h:
22032         * gst-libs/gst/vaapi/sysdeps.h:
22033           sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
22034
22035 2013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22036
22037         * gst-libs/gst/vaapi/sysdeps.h:
22038           sysdeps: add more standard includes by default.
22039
22040 2013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22041
22042         * configure.ac:
22043           configure: improve GStreamer API version checks.
22044
22045 2013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22046
22047         * configure.ac:
22048         * debian.upstream/Makefile.am:
22049         * debian.upstream/changelog.in:
22050         * debian.upstream/control.in:
22051         * debian.upstream/gstreamer-vaapi-doc.install.in:
22052         * debian.upstream/libgstvaapi-dev.install.in:
22053         * debian.upstream/libgstvaapi-drm.install.in:
22054         * debian.upstream/libgstvaapi-glx.install.in:
22055         * debian.upstream/libgstvaapi-wayland.install.in:
22056         * debian.upstream/libgstvaapi-x11.install.in:
22057         * debian.upstream/libgstvaapi.install.in:
22058         * docs/reference/libs/Makefile.am:
22059         * docs/reference/libs/libs-docs.xml.in:
22060         * docs/reference/plugins/Makefile.am:
22061         * docs/reference/plugins/plugins-docs.xml.in:
22062         * gst-libs/gst/vaapi/Makefile.am:
22063         * gst/vaapi/Makefile.am:
22064         * pkgconfig/Makefile.am:
22065         * pkgconfig/gstreamer-vaapi-drm.pc.in:
22066         * pkgconfig/gstreamer-vaapi-glx.pc.in:
22067         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
22068         * pkgconfig/gstreamer-vaapi-x11.pc.in:
22069         * pkgconfig/gstreamer-vaapi.pc.in:
22070         * tests/Makefile.am:
22071           configure: rename GST_MAJORMINOR to GST_API_VERSION.
22072
22073 2013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22074
22075         * configure.ac:
22076           configure: improve check for H.264 codecparser.
22077
22078 2013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
22079
22080         * gst/vaapi/gstvaapiuploader.c:
22081           vaapiupload: fix illegal write in ensure_image().
22082           Fix ensure_image() to only zero-initialize the first line of each plane.
22083           Properly initializing each plane to their full vertical resolution would
22084           require to actually compute it based on the image format.
22085           In particular, for NV12 images, the UV plane has half vertical resolution
22086           vs. the Y plane. So using the full image height to initialize the UV plane
22087           will obviously lead to a buffer overflow. Likewise for other YUV format.
22088           Since ensure_image() is only a helper function to initialize something,
22089           and not necessarily the whole thing, it is fine to initializ the first
22090           line only. Besides, the target surface is not rendered either.
22091           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22092
22093 2013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
22094
22095         * gst-libs/gst/codecparsers/Makefile.am:
22096         * gst-libs/gst/video/Makefile.am:
22097           build: fix compiling of local GstVideoDecoder and codecparsers.
22098           Generated source files were missing a dependency on the complete set of
22099           generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
22100           to build and almost every codec parser source depends on parserutils.h.
22101           https://bugs.freedesktop.org/show_bug.cgi?id=59575
22102           Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
22103           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22104
22105 2013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22106
22107         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22108           h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
22109           Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
22110           there is no pred_weight_table() that was parsed.
22111           This is a workaround for the VA intel-driver on Ivy Bridge.
22112
22113 2013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22114
22115         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22116           h264: use new profile definitions from codecparsers.
22117
22118 2013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22119
22120         * ext/codecparsers:
22121           codecparsers: update to gst-vaapi-branch commit 500bc02.
22122           500bc02 h264: add profile enums
22123
22124 2013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22125
22126         * NEWS:
22127           NEWS: updates.
22128
22129 2013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22130
22131         * ext/codecparsers:
22132           codecparsers: update to gst-vaapi-branch commit 31b1c57.
22133           8957fb7 mpeg2: add helpers to convert quantization matrices
22134           07c4034 mpeg2: store quantization matrices in zigzag scan order
22135
22136 2013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22137
22138         * tests/simple-decoder.c:
22139           tests: simple-decoder: fix build on older platforms.
22140           Make simple-decoder build and execute correctly on older platforms,
22141           and more precisely older versions of glib.
22142
22143 2013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22144
22145         * gst-libs/gst/vaapi/glibcompat.h:
22146           glibcompat: add replacement for g_async_queue_timeout_pop().
22147           g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
22148           g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
22149           new data to arrive in the queue.
22150
22151 2013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22152
22153         * gst-libs/gst/vaapi/glibcompat.h:
22154           glibcompat: add replacement for g_cond_wait().
22155
22156 2013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22157
22158         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22159           mpeg2: fix decoding of 4K videos.
22160           Account for slice_vertical_position_extension when vertical_size > 2800.
22161
22162 2013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22163
22164         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22165           mpeg2: fix decoding of sequence_end().
22166           There shall be only one place to call decode_current_picture(), and this
22167           is in the end_frame() hook. The EOS unit is processed after end_frame()
22168           so this means we cannot have a valid picture to decode/output at this
22169           point.
22170
22171 2013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22172
22173         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22174           mpeg2: improve robustness when packets are missing.
22175           Improve robustness when some expected packets where not received yet
22176           or that were not correctly decoded. For example, don't try to decode
22177           a picture if there was no valid sequence or picture headers.
22178
22179 2013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22180
22181         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22182           decoder: handle decode-only frames in raw API mode.
22183           Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
22184           surface proxy, i.e. with a valid VA surface. This means that any frame
22185           marked as decode-only is simply skipped.
22186
22187 2013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22188
22189         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22190         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22191           decoder: allow frames to be dropped.
22192           If the decoder was not able to decode a frame because insufficient
22193           information was available, e.g. missing sequence or picture header,
22194           then allow the frame to be gracefully dropped without generating
22195           any error.
22196           It is also possible that a frame is not meant to be displayed but
22197           only used as a reference, so dropping that frame is also a valid
22198           operation since GstVideoDecoder base class has extra references to
22199           that GstVideoCodecFrame that needs to be released.
22200
22201 2013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22202
22203         * gst/vaapi/gstvaapidecode.c:
22204           vaapidecode: handle decode-only frames.
22205           Decode-only frames may not have a valid surface proxy. So, simply discard
22206           them gracefully, i.e. don't create meta data information. GstVideoDecoder
22207           base class will properly handle this case and won't try to push any buffer
22208           to downstream elements.
22209
22210 2013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22211
22212         * gst/vaapi/gstvaapidecode.c:
22213           vaapidecode: add support for post-seek semantics reset.
22214           Implement GstVideoDecoder::reset() as a destruction of the VA decoder
22215           and the creation of a new VA decoder.
22216           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22217
22218 2013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22219
22220         * configure.ac:
22221           Bump version for development.
22222
22223 === release 0.5.1 ===
22224
22225 2013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22226
22227         * NEWS:
22228         * configure.ac:
22229           0.5.1.
22230
22231 2013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22232
22233         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22234           mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
22235
22236 2013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22237
22238         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
22239           decoder: fix documentation for GstVaapiDecoderFrame.
22240           Drop superfluous reference to prev_slice member.
22241
22242 2013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22243
22244         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22245           decoder: assume current frame is complete at end-of-stream.
22246           Assume we got a complete frame when the end-of-stream is reached and that
22247           the current codec frame contains at least one slice data unit.
22248
22249 2013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22250
22251         * NEWS:
22252         * README:
22253         * debian.upstream/copyright:
22254         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
22255         * gst-libs/gst/vaapi/gstvaapicontext.c:
22256         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22257         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22258         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22259         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22260         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
22261         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
22262         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22263         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22264         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22265         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22266         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22267         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22268         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22269         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
22270         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22271         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22272         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22273         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22274         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22275         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
22276         * gst-libs/gst/vaapi/gstvaapiprofile.h:
22277         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22278         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
22279         * gst-libs/gst/vaapi/gstvaapisurface.c:
22280         * gst-libs/gst/vaapi/gstvaapiutils.c:
22281         * gst-libs/gst/vaapi/gstvaapiutils.h:
22282         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
22283         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
22284         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
22285         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22286         * gst-libs/gst/vaapi/sysdeps.h:
22287         * gst/vaapi/gstvaapidecode.c:
22288         * gst/vaapi/gstvaapidownload.c:
22289         * gst/vaapi/gstvaapipluginbuffer.c:
22290         * gst/vaapi/gstvaapipluginbuffer.h:
22291         * gst/vaapi/gstvaapipostproc.c:
22292         * gst/vaapi/gstvaapisink.c:
22293         * gst/vaapi/gstvaapiupload.c:
22294         * gst/vaapi/gstvaapiuploader.c:
22295         * tests/output.c:
22296         * tests/test-decode.c:
22297         * tests/test-subpicture.c:
22298           legal: fix year for some copyright notices (2013).
22299
22300 2013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22301
22302         * gst-libs/gst/vaapi/gstvaapicontext.h:
22303         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22304         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22305         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
22306         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22307         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
22308         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22309         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
22310         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
22311         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
22312         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22313         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
22314         * gst-libs/gst/vaapi/gstvaapisurface.c:
22315         * gst-libs/gst/vaapi/gstvaapisurface.h:
22316         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
22317         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
22318         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
22319         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
22320         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
22321         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
22322         * gst/vaapi/gstvaapidecode.h:
22323         * gst/vaapi/gstvaapisink.h:
22324         * tests/test-subpicture.c:
22325           legal: fix year for some copyright notices (2012).
22326
22327 2013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22328
22329         * gst-libs/gst/vaapi/gstvaapicompat.h:
22330         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
22331         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
22332         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
22333         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
22334         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
22335         * gst-libs/gst/vaapi/gstvaapiobject.c:
22336         * gst-libs/gst/vaapi/gstvaapiobject.h:
22337         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
22338         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
22339         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
22340         * gst-libs/gst/vaapi/gstvaapiprofile.c:
22341         * gst-libs/gst/vaapi/gstvaapiprofile.h:
22342         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
22343         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
22344         * gst-libs/gst/vaapi/gstvaapitexture.c:
22345         * gst-libs/gst/vaapi/gstvaapitexture.h:
22346         * gst-libs/gst/vaapi/gstvaapitypes.h:
22347         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22348         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22349         * gst-libs/gst/vaapi/gstvaapivalue.c:
22350         * gst-libs/gst/vaapi/gstvaapivalue.h:
22351         * gst-libs/gst/vaapi/gstvaapivideopool.c:
22352         * gst-libs/gst/vaapi/gstvaapivideopool.h:
22353         * gst-libs/gst/vaapi/gstvaapiwindow.h:
22354         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22355         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
22356         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22357         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
22358         * tests/test-display.c:
22359         * tests/test-surfaces.c:
22360         * tests/test-windows.c:
22361           legal: add Intel copyright on modified files.
22362
22363 2013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22364
22365         * NEWS:
22366           NEWS: updates.
22367
22368 2013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22369
22370         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22371           wayland: use a local event queue to avoid lock contention.
22372           This improves performance when rendering several surfaces from within
22373           the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
22374
22375 2013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22376
22377         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22378           wayland: fix thread-safe issues.
22379           The Wayland API is not fully thread-safe and client applications shall
22380           perform locking themselves on key functions. Besides, make sure to
22381           release the lock if the _render() function fails.
22382
22383 2013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22384
22385         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22386           wayland: really wait until the pending redraw completed.
22387           Introduce gst_vaapi_window_wayland_sync() helper function to wait for
22388           the completion of the redraw request. Use it in _render() function to
22389           actually block until the previous draw request is completed.
22390
22391 2013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22392
22393         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22394           wayland: fix frame_redraw callback.
22395           The redraw callback needs to be attached to the surface prior to the
22396           commit. Otherwise, the callback notifies the next surface repaint,
22397           which is not the desired behaviour. i.e. we want to be notified for
22398           the surface we have just filled.
22399           Another isse was the redraw_pending was reset before the actual completion
22400           of the frame redraw callback function, thus causing concurrency issues.
22401           e.g. the callback could have been called again, but with a NULL buffer.
22402
22403 2013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22404
22405         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22406           wayland: fix display sharing.
22407           When the Wayland display is shared, we still have to create our own local
22408           shell and compositor objects, since they are not propagated from the cache.
22409           Likewise, we also need to determine the display size or vaapisink would
22410           fail to account for the display aspect ratio, and will try to create a 0x0
22411           window.
22412
22413 2013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22414
22415         * ext/codecparsers:
22416           codecparsers: update to gst-vaapi-branch commit 21a098e.
22417           21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
22418           f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
22419
22420 2013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22421
22422         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22423           vc1: handle frames with multiple slices.
22424
22425 2013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22426
22427         * ext/codecparsers:
22428           codecparsers: update to gst-vaapi-branch commit 3fba492.
22429           3fba492 vc1: add API to parse slice headers
22430
22431 2013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22432
22433         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22434           vc1: handle CLOSED_ENTRY.
22435           When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
22436           lack a reference anchor picture, these B pictures shall be discarded.
22437           https://bugs.freedesktop.org/show_bug.cgi?id=59505
22438
22439 2013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22440
22441         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22442           vc1: cope with latest codecparser changes.
22443           Fix build with newer VC-1 codecparser where dqsbedge was renamed to
22444           dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
22445           the actual value of DQPROFILE.
22446
22447 2013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22448
22449         * ext/codecparsers:
22450           codecparsers: update to gst-vaapi-branch commit 3d2c67c.
22451           3d2c67c vc1: simplify GstVC1VopDquant structure
22452
22453 2013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22454
22455         * ext/codecparsers:
22456           codecparsers: update to gst-vaapi-branch commit 5d33da8.
22457           5d33da8 vc1: fix bitplanes decoding
22458           562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
22459           0b13d2b vc1: fix calculation of ALTPQUANT
22460           ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
22461
22462 2013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22463
22464         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22465           vc1: fix size of encapsulated BDU.
22466           Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
22467           the size of the BDU data, starting from offset, i.e. after any start
22468           code is parsed.
22469           This fixes a buffer overflow during the unescaping process.
22470
22471 2013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
22472
22473         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22474           vc1: fix decoding of WMV3 videos in AVI format.
22475           The AVI demuxer (avidemux) does not set a proper "format" attribute
22476           to the generated caps. So, try to recover the video codec format from
22477           the "wmvversion" property instead.
22478           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22479
22480 2013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22481
22482         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22483           vc1: review and report errors accordingly.
22484           Use GST_ERROR() to report real errors instead of hiding them into
22485           GST_DEBUG().
22486
22487 2013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22488
22489         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22490           vc1: don't create GstBuffers for all decoder units.
22491           Don't create temporary GstBuffers for all decoder units, even if they
22492           are lightweight "sub-buffers", since it is not really necessary to keep
22493           the buffer data around.
22494
22495 2013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22496
22497         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22498           vc1: implement flush() hook.
22499           Make it a simple DPB flush.
22500
22501 2013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22502
22503         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22504           vc1: implement {start,end}_frame() hooks.
22505           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
22506           that to create new VA context earlier and submit VA pictures to the
22507           HW for decoding as soon as possible. i.e. don't wait for the next
22508           frame to start decoding the previous one.
22509
22510 2013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22511
22512         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22513           vc1: fix next POC for new sequence layers.
22514           Fix next POC when a new sequence layer is reached. At this point, we
22515           need to reset any previous reference picture, i.e. non B-frame.
22516
22517 2012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22518
22519         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22520           vc1: port to common GstVaapiDpb interface.
22521           Use GstVaapiDpb interface instead of maintaining our own prev and next
22522           picture pointers. While doing so, try to derive a sensible POC value.
22523           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22524
22525 2013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22526
22527         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22528           vc1: fix decode_sequence_end() to return success, not EOS.
22529
22530 2013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22531
22532         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22533           decoder: simplify gst_vaapi_decoder_get_surface().
22534           Avoid extraenous branches, i.e. immediately return with success once we
22535           have a decoded frame available.
22536
22537 2013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22538
22539         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22540           decoder: optimize and clean decode_step() up.
22541           Avoid usage of goto. Simplify decode_step() process to first accumulate all
22542           pending buffers into the GstAdapter, and then parse and decode units from
22543           that input adapter. Stop the process once a frame is fully decoded or an
22544           error occurred.
22545
22546 2013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22547
22548         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22549           display: move "vaapi" debug init to libgstvaapi_init_once().
22550
22551 2013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22552
22553         * configure.ac:
22554         * gst-libs/gst/vaapi/Makefile.am:
22555         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22556         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
22557           display: dump gstreamer-vaapi version for debugging purposes.
22558
22559 2013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22560
22561         * tests/Makefile.am:
22562           tests: simple-decoder: fix build with built-in videoutils.
22563           Fix build with built-in videoutils, i.e. when system GStreamer installation
22564           does not know about GstVideoDecoder API.
22565
22566 2013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22567
22568         * tests/simple-decoder.c:
22569           tests: simple-decoder: flush decoded frames at EOS.
22570           Flush the remaining decoded frames when an end-of-stream is reached.
22571
22572 2013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22573
22574         * tests/simple-decoder.c:
22575           tests: simple-decoder: drop use of GstVaapiVideoMeta.
22576           Don't use GstVaapiVideoMeta since that object is not guaranteed to live
22577           in libgstvaapi forever. Rather, that'd move to plugin elements at some
22578           point.
22579
22580 2013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22581
22582         * tests/simple-decoder.c:
22583           tests: simple-decoder: add benchmark mode.
22584           Add --benchmark option to enable benchmark mode where rendering is not
22585           synchronized with presentation timestamps of the decoded surfaces.
22586
22587 2013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22588
22589         * tests/Makefile.am:
22590         * tests/simple-decoder.c:
22591           tests: simple-decoder: honour framerate from the bitstream.
22592           Try to honour the framerate from the bitstream, or cap the playback to
22593           60 fps by default.
22594
22595 2013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22596
22597         * tests/simple-decoder.c:
22598           tests: simple-decoder: set window size to the surface dimensions.
22599           Set the window size to the decoded surface dimensions, if the user has
22600           not requested the application to run in full-screen mode. Besides, no
22601           effort is made to preserve aspect ratio or to center the video within
22602           the mapped window.
22603
22604 2013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22605
22606         * tests/Makefile.am:
22607         * tests/simple-decoder.c:
22608           tests: add simple decoder application.
22609           Add simple decoder application to show off decoding capabilities from
22610           raw bitstreams, for debugging or performance evaluation purposes.
22611
22612 2013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22613
22614         * tests/Makefile.am:
22615         * tests/codec.c:
22616         * tests/codec.h:
22617           tests: add codec helper utils.
22618           Add helper functions to determine the codec type from a specific file
22619           or utility functions to convert from codec type to GstCaps or from
22620           codec name to codec type.
22621
22622 2013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22623
22624         * tests/output.c:
22625           tests: allow fullscreen mode.
22626           Add new --fullscreen|-f option to create new windows in fullscreen mode.
22627
22628 2013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22629
22630         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22631           h264: implement GstVaapiDecoder::flush() as a DPB flush.
22632
22633 2013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22634
22635         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22636           h264: handle end-of-stream NALU.
22637           Handle <end-of-stream> NAL unit to actually flush any pending picture
22638           from the DPB.
22639
22640 2013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22641
22642         * gst/vaapi/gstvaapidecode.c:
22643           vaapidecode: handle EOS events.
22644           Flush all decoded frames to downstream when EOS is received. This is
22645           performed by implementing GstVideoDecoder::finish() hook.
22646
22647 2013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22648
22649         * gst/vaapi/gstvaapidecode.c:
22650           vaapidecode: split gvd_handle_frame() into decode/push frames.
22651           Split GstVideoDecoder::handle_frame() implementation into two functions:
22652           (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
22653           for purging all decoded frames and submit them downstream.
22654
22655 2013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22656
22657         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22658         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22659           decoder: add GstVaapiDecoder::flush() hook.
22660
22661 2013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22662
22663         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22664         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22665           decoder: fix check for end-of-stream in raw API mode.
22666           Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
22667           if the end-of-stream was already reached at the previous iteration.
22668
22669 2013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22670
22671         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22672           decoder: make decode_step() return once the frame is decoded.
22673           Make sure we always have a free surface left to use for decoding the
22674           current frame. This means that decode_step() has to return once a frame
22675           gets decoded. If the current adapter contains more buffers with valid
22676           frames, they will get parsed and decoded on subsequent iterations.
22677
22678 2013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22679
22680         * ext/codecparsers:
22681           codecparsers: update to gst-vaapi-branch commit b47983a.
22682           8840c2d h264: zero-initialize SPS VUI parameters
22683
22684 2013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22685
22686         * configure.ac:
22687           Bump version for development.
22688
22689 === release 0.5.0 ===
22690
22691 2013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22692
22693         * NEWS:
22694         * configure.ac:
22695           0.5.0.
22696
22697 2013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22698
22699         * docs/reference/libs/libs-docs.xml.in:
22700         * docs/reference/libs/libs-sections.txt:
22701         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22702         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22703         * gst-libs/gst/vaapi/gstvaapiprofile.h:
22704           docs: expose new interfaces.
22705
22706 2013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22707
22708         * NEWS:
22709           NEWS: updates.
22710
22711 2013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22712
22713         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22714           dpb: cosmetics (clean-ups).
22715
22716 2013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22717
22718         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22719         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22720         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22721           dpb: port to GstVaapiMiniObject.
22722
22723 2013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22724
22725         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22726         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22727         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22728           dpb: drop GstVaapiDpb2 interface, keep only one class.
22729           Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
22730           to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
22731           around the specified picture POC.
22732
22733 2012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22734
22735         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22736         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22737         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22738           dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
22739           Move GstVaapiDpbMpeg2 API to a more generic version that could also be
22740           useful to other decoders that require 2 reference pictures, e.g. VC-1.
22741           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22742
22743 2013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22744
22745         * configure.ac:
22746           Bump version for pre-release.
22747
22748 2013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22749
22750         * NEWS:
22751           NEWS: updates.
22752
22753 2012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
22754
22755         * configure.ac:
22756         * gst-libs/gst/vaapi/gstvaapicontext.c:
22757         * gst-libs/gst/vaapi/gstvaapiutils.c:
22758         * gst-libs/gst/vaapi/sysdeps.h:
22759         * tests/test-subpicture.c:
22760           overlay: fix build without advanced GstVideoOverlayFormatFlags.
22761           Check for global-alpha support in GstVideoOverlayComposition API.
22762           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22763
22764 2013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22765
22766         * tests/test-subpicture.c:
22767           tests: add support for global-alpha subpictures.
22768           Add --global-alpha option to test-subpicture.
22769
22770 2013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22771
22772         * tests/Makefile.am:
22773         * tests/test-subpicture.c:
22774           tests: use GstVideoOverlayComposition API for subpicture test.
22775
22776 2013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22777
22778         * tests/Makefile.am:
22779         * tests/test-subpicture.c:
22780           tests: use common decoder helpers for subpicture test.
22781           Use common decoder helpers for subpicture test, thus allowing to decode
22782           sample images in an alternate format.
22783
22784 2013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22785
22786         * tests/Makefile.am:
22787         * tests/decoder.c:
22788         * tests/decoder.h:
22789         * tests/test-decode.c:
22790           tests: add decoder helpers.
22791
22792 2013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22793
22794         * gst-libs/gst/vaapi/gstvaapicontext.c:
22795           overlay: fix ordering of composition layers.
22796           Make sure to maintain the association order of composition layers when
22797           GstVideoOverlayRectangle objects are kept around (cached).
22798
22799 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
22800
22801         * gst-libs/gst/vaapi/gstvaapicontext.c:
22802           overlay: fix support for global-alpha.
22803           Fix support for global-alpha subpictures. The previous changes brought
22804           the ability to check for GstVideoOverlayRectangle changes by comparing
22805           the underlying pixel buffer pointers. If sequence number and pixel data
22806           did not change, then this is an indication that only the global-alpha
22807           value changed. Now, try to update the underlying VA subpicture global-alpha
22808           value.
22809           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22810
22811 2013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22812
22813         * gst-libs/gst/vaapi/gstvaapicontext.c:
22814           overlay: detect render-rect changes.
22815           Don't re-upload VA subpicture if only the render rectangle changed.
22816           Rather deassociate the subpicture and re-associate it with the new
22817           render rectangle.
22818
22819 2013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22820
22821         * gst-libs/gst/vaapi/gstvaapicontext.c:
22822           overlay: fix check for pixels buffer change.
22823           A GstVideoOverlayRectangle is created whenever the underlying pixels data
22824           change. However, when global-alpha is supported, it is possible to re-use
22825           the same GstVideoOverlayRectangle but with a change to the global-alpha
22826           value. This process causes a change of sequence number, so we can no longer
22827           check for that.
22828           Still, if sequence numbers did not change, then there was no change in
22829           global-alpha either. So, we need a way to compare the underlying GstBuffer
22830           pointers. There is no API to retrieve the original pixels buffer from
22831           a GstVideoOverlayRectangle. So, we use the following heuristics:
22832           1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
22833           format flags from which the GstVideoOverlayRectangle was created. This
22834           will work if there was no prior consumer of the GstVideoOverlayRectangle
22835           with alternate (non-"native") format flags.
22836           2. In overlay_rectangle_has_changed_pixels(), we have to use the same
22837           gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
22838           with flags that match the subpicture. This is needed to cope with
22839           platforms that don't support global-alpha in HW, so the gst-video
22840           layer takes care of that and fixes this up with a possibly new
22841           GstBuffer, and hence pixels data (or) in-place by caching the current
22842           global-alpha value applied. So we have to determine the rectangle
22843           was previously used, based on what previous flags were used to
22844           retrieve the ARGB pixels buffer.
22845
22846 2013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22847
22848         * gst-libs/gst/vaapi/gstvaapicontext.c:
22849           overlay: optimize cache at the GstVideoOverlayRectangle level.
22850           We previously assumed that an overlay composition changed if the number
22851           of overlay rectangles in there actually changed, or that the rectangle
22852           was updated, and thus its seqnum was also updated.
22853           Now, we can cope with cases where the GstVideoOverlayComposition grew
22854           by one or a few more overlay rectangles, and the initial overlay rectangles
22855           are kept as is.
22856
22857 2013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22858
22859         * gst-libs/gst/vaapi/gstvaapicontext.c:
22860           overlay: simplify caching of GstVideoOverlayComposition objects.
22861           Create the GPtrArray once in the _init() function and destroy it only
22862           in the _finalize() function. Then use overlay_clear() to remove all
22863           subpicture associations for intermediate updates, don't recreate the
22864           GPtrArray.
22865           Make GstVaapiOverlayRectangle a reference counted object. Also make
22866           sure that overlay_rectangle_new() actually creates and associates the
22867           VA subpicture.
22868
22869 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
22870
22871         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22872         * gst-libs/gst/vaapi/gstvaapiutils.c:
22873         * gst-libs/gst/vaapi/gstvaapiutils.h:
22874           overlay: add support for global-alpha.
22875           Handle global-alpha from GstVideoOverlayComposition API. Likewise,
22876           the same code path could also work for premultiplied-alpha but this
22877           was not tested.
22878           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22879
22880 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
22881
22882         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22883         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22884         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22885         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
22886         * gst-libs/gst/vaapi/gstvaapisurface.c:
22887         * tests/image.c:
22888         * tests/test-subpicture.c:
22889           subpicture: add support for global-alpha.
22890           Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
22891           with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
22892           to address this feature.
22893           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22894
22895 2013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22896
22897         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
22898         * gst-libs/gst/vaapi/gstvaapiutils.c:
22899         * gst-libs/gst/vaapi/gstvaapiutils.h:
22900           subpicture: add premultiplied-alpha and global-alpha feature flags.
22901           Add premultiplied-alpha and global-alpha feature flags, along with converters
22902           between VA-API and gstreamer-vaapi definitions. Another round of helpers is
22903           also necessary for GstVideoOverlayComposition API.
22904
22905 2013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22906
22907         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22908           display: allow image/subpicture formats with additional flags.
22909           Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
22910           and any additional flags needed. Currently, all flags are set to zero.
22911
22912 2013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22913
22914         * gst-libs/gst/codecparsers/Makefile.am:
22915         * gst-libs/gst/video/Makefile.am:
22916         * tests/Makefile.am:
22917           libs: fix build of submodule wrappers.
22918           Make sure to build codecparsers/ and videoutils/ sources against the
22919           newly generated headers when out-of-source builds are used.
22920
22921 2013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22922
22923         * configure.ac:
22924           configure: fix checks for packages installed in non-standard roots.
22925
22926 2013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22927
22928         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
22929           decoder: fix mini object implementation on 64-bit systems.
22930           Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
22931           pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
22932           Only a gsize can hold all bits of a pointer.
22933           Thanks to Ouping Zhang for spotting this error.
22934
22935 2013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22936
22937         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22938           mpeg2: optimize scan for the end of the frame.
22939           Heuristic: if the second start-code is available, check whether that
22940           one marks the start of a new frame because e.g. this is a sequence
22941           or picture header. This doesn't save much, since we already cache the
22942           results.
22943
22944 2013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22945
22946         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22947           mpeg2: optimize scan for start codes.
22948           Accelerate scan for start codes by skipping up to 3 bytes per iteration.
22949           A start code prefix is defined by the following bytes: 00 00 01. Thus,
22950           for any group of 3 bytes (xx yy zz), we have the following possible cases:
22951           1. If zz != 1, this cannot be a start code, then skip 3 bytes;
22952           2. If yy != 0, this cannot be a start code, then skip 2 bytes;
22953           3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
22954           4. xx == 00, yy == 00, zz == 1, we have match!
22955           This algorithm requires to peek bytes from the adapter. This increases the
22956           amount of bytes copied to a temporary buffer, but this process is much faster
22957           than scanning for all the bytes and using shift/masks. So, overall, this is
22958           a win.
22959
22960 2013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22961
22962         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22963           mpeg2: drop useless gst_adapter_peek().
22964           Drop useless gst_adapter_peek() since the returned buffer was not used
22965           and this could incur superfluous memcpy().
22966
22967 2013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22968
22969         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22970           mpeg2: cosmetics: move parse_slice() down.
22971
22972 2013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22973
22974         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22975           mpeg2: avoid too many allocations of parser info objects.
22976           Move parsing back to decoding step, but keep functions separate for now.
22977           This is needed for future optimizations that may introduce some meta data
22978           for parsed info attached to codec frames.
22979
22980 2013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22981
22982         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
22983         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22984           decoder: decoder units are no longer dynamically allocated objects.
22985
22986 2013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22987
22988         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22989         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
22990         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
22991           decoder: optimize pre-allocation of decoder units.
22992           Optimize pre-allocation of decoder units, thus avoiding un-necessary
22993           memory reallocations. The heuristic used is that we could have around
22994           one slice unit per macroblock line.
22995
22996 2013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22997
22998         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22999         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
23000         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
23001         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23002         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
23003           decoder: use an array of units instead of a single-linked list.
23004           Use a GArray to hold decoder units in a frame, instead of a single-linked
23005           list. This makes 'append' calls faster, but not that much. At least, this
23006           makes things clearer.
23007
23008 2013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23009
23010         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23011         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23012         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23013         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23014         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23015         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23016         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
23017         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
23018         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
23019           decoder: refactor decoder unit API.
23020           Allocate decoder unit earlier in the main parse() function and don't
23021           delegate this task to derived classes. The ultimate purpose is to get
23022           rid of dynamic allocation of decoder units.
23023
23024 2013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23025
23026         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23027           mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
23028           Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
23029           from GstVaapiDecoderUnit for MPEG-2 specific parser information.
23030
23031 2013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23032
23033         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23034           h264: introduce parser info instead of H.264 specific decoder unit.
23035           Use a new GstVaapiParserInfoH264 data structure instead of deriving
23036           from GstVaapiDecoderUnit for H.264 specific parser information.
23037
23038 2013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23039
23040         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23041           h264: set default values for some header fields.
23042           The SPS, PPS and slice headers are not fully zero-initialized in the
23043           codecparsers/ library. Rather, the standard upstream behaviour is to
23044           initialize only certain syntax elements with some inferred values if
23045           they are not present in the bitstream.
23046           At the gstreamer-vaapi decoder level, we need to further initialize
23047           certain syntax elements with some sensible default values so that to
23048           not complicate VA drivers that just pass those verbatim to the HW,
23049           and also avoid an memset() of the whole decoder unit.
23050           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23051           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23052
23053 2013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23054
23055         * ext/codecparsers:
23056           codecparsers: update to gst-vaapi-rebased commit b47983a.
23057           b47983a h264: add inferred value for slice_beta_offset_div2
23058
23059 2013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23060
23061         * gst/vaapi/gstvaapidecode.c:
23062         * gst/vaapi/gstvaapidownload.c:
23063         * gst/vaapi/gstvaapipluginbuffer.c:
23064         * gst/vaapi/gstvaapipluginbuffer.h:
23065         * gst/vaapi/gstvaapipostproc.c:
23066         * gst/vaapi/gstvaapisink.c:
23067         * gst/vaapi/gstvaapiupload.c:
23068         * gst/vaapi/gstvaapiuploader.c:
23069           plugins: cope with new GstVaapiVideoMeta API.
23070           Update plugin elements with the new GstVaapiVideoMeta API.
23071           This also fixes support for subpictures/overlay because GstVideoDecoder
23072           generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
23073           is marked as read-only. However, when comes in the textoverlay element
23074           for example, it checks whether the input buffer is writable. Since that
23075           buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
23076           does not preserve the parent field, the generated buffer in textoverlay
23077           is not exploitable because we lost all VA specific information.
23078           Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
23079           all information are preserved through gst_buffer_copy() since the latter
23080           does copy metadata (qdata in this case).
23081
23082 2013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23083
23084         * gst-libs/gst/vaapi/Makefile.am:
23085         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23086         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23087         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
23088         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23089         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
23090         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
23091           videobuffer: wrap video meta into a surface buffer.
23092           Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
23093           no longer necessary but for compatibility with GStreamer 0.10 APIs or users
23094           expecting a GstSurfaceBuffer like Clutter.
23095
23096 2013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23097
23098         * gst-libs/gst/vaapi/Makefile.am:
23099         * gst-libs/gst/vaapi/gstvaapivideometa.c:
23100         * gst-libs/gst/vaapi/gstvaapivideometa.h:
23101           videobuffer: add video meta information.
23102           Add new GstVaapiVideoMeta object that holds all information needed to
23103           convey gst-vaapi specific data as a GstBuffer.
23104
23105 2013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23106
23107         * gst/vaapi/gstvaapidecode.c:
23108           vaapidecode: fix calculation of the time-out value.
23109           Fix calculation of the time-out value for cases where no VA surface is
23110           available for decoding. In this case, we need to wait until downstream
23111           sink consumed at least one surface. The time-out was miscalculated as
23112           it was always set to <current-time> + one second, which is not suitable
23113           for streams with larger gaps.
23114
23115 2013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23116
23117         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23118           decoder: always use the calculated presentation timestamp.
23119           Use PTS value computed by the decoder, which could also be derived from
23120           the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
23121           the original one was miscomputed or only represented a DTS instead.
23122
23123 2013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23124
23125         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23126           h264: don't create sub-buffer for slice data.
23127
23128 2013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23129
23130         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23131           decoder: create new context when encoded resolution changes.
23132           Create a new VA context if the encoded surface size changes because we
23133           need to keep the underlying surface pool until the last one was released.
23134           Otherwise, either of the following cases could have happened: (i) release
23135           a VA surface to an inexistent pool, or (ii) release VA surface to an
23136           existing surface pool, but with different size.
23137
23138 2013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23139
23140         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23141           mpeg2: don't create sub-buffer for slice data.
23142           Avoid creating a GstBuffer for slice data. Rather, directly use the codec
23143           frame input buffer data. This is possible because the codec frame is valid
23144           until end_frame() where we submit the VA buffers for decoding. Anyway, the
23145           slice data buffer is copied into the VA buffer when it is created.
23146
23147 2013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23148
23149         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23150           mpeg2: minor clean-ups.
23151           Drop explicit initialization of most fields that are implicitly set to
23152           zero. Remove some useless checks for NULL pointers.
23153
23154 2013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23155
23156         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23157           mpeg2: optimize scan for the second start code.
23158           Optimize scan for the second start code, on the next parse() call so that
23159           to avoid scanning again earlier bytes where we didn't find any start code.
23160
23161 2013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23162
23163         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23164           mpeg2: use sequence_display_extension() to compute PAR.
23165           Also compute pixel-aspect-ratio from sequence_display_extension(),
23166           should it exist in the bitstream.
23167
23168 2013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23169
23170         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23171           mpeg2: handle sequence_display_extension().
23172
23173 2012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23174
23175         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23176           mpeg2: implement {start,end}_frame() hooks.
23177           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
23178           that to create new VA context earlier and submit VA pictures to the
23179           HW for decoding as soon as possible. i.e. don't wait for the next
23180           frame to start decoding the previous one.
23181
23182 2012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23183
23184         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23185           mpeg2: parse slice() header earlier.
23186           Parse slice() header and first macroblock position earlier in _parse()
23187           function instead of waiting for the _decode() stage. This doesn't change
23188           anything but readability.
23189
23190 2012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23191
23192         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23193           mpeg2: add codec specific decoder unit.
23194           Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
23195           GstMpegVideoPacket and additional parsed header info. Besides, we now
23196           parse as early as in the _parse() function so that to avoid un-necessary
23197           creation of sub-buffers in _decode() for video packets that are not slices.
23198
23199 2012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23200
23201         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23202         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
23203         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
23204         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
23205           decoder: introduce lists of units to decode before/after frame.
23206           Theory of operations: all units marked as "slice" are moved to the "units"
23207           list. Since this list only contains slice data units, the prev_slice pointer
23208           was removed. Besides, we now maintain two extra lists of units to be decoded
23209           before or after slice data units.
23210           In particular, all units in the "pre_units" list will be decoded before
23211           GstVaapiDecoder::start_frame() is called and units in the "post_units"
23212           list will be decoded after GstVaapiDecoder::end_frame() is called.
23213
23214 2013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23215
23216         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23217         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23218           decoder: drop useless checks for codec objects.
23219           Codec objects are used internally only and they are bound to be created
23220           with a valid GstVaapiDecoder object.
23221
23222 2012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23223
23224         * gst/vaapi/gstvaapidecode.c:
23225           vaapidecode: use GST_ERROR to print error messages.
23226
23227 2012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23228
23229         * gst/vaapi/gstvaapidecode.c:
23230           vaapidecode: avoid double release of frame on error.
23231           Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
23232           was already called before and it returned an error. In that case, we were
23233           releasing the frame again, thus leading to a "double-free" condition.
23234
23235 2012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23236
23237         * .gitmodules:
23238         * autogen.sh:
23239         * configure.ac:
23240         * ext/Makefile.am:
23241         * ext/videoutils:
23242         * gst-libs/gst/Makefile.am:
23243         * gst-libs/gst/vaapi/Makefile.am:
23244         * gst-libs/gst/video/Makefile.am:
23245         * gst/vaapi/Makefile.am:
23246           Add videoutils submodule for GstVideoDecoder APIs.
23247
23248 2012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23249
23250         * configure.ac:
23251           configure: check for GstVideoDecoder API.
23252           GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
23253           this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
23254           parties may either use upstream git 0.10 branch or backport the necessary support
23255           for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
23256
23257 2012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23258
23259         * docs/reference/libs/libs.core.types:
23260           docs: remove obsolete gst_vaapi_surface_proxy_get_type().
23261           GstVaapiSurfaceProxy is no longer based on the GType system.
23262
23263 2012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23264
23265         * docs/reference/libs/libs-sections.txt:
23266           docs: fix entries for GstVaapiSurfaceProxy.
23267
23268 2012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23269
23270         * NEWS:
23271           NEWS: updates.
23272
23273 2012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23274
23275         * configure.ac:
23276         * gst-libs/gst/vaapi/Makefile.am:
23277           Bump library major version.
23278           Increase library major so that to cope with API/ABI incompatible changes
23279           since 0.4.x series and avoid user issues.
23280
23281 2012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23282
23283         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23284           surfaceproxy: minor clean-ups.
23285
23286 2012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23287
23288         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23289         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23290         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23291           surfaceproxy: drop accessors to obsolete attributes.
23292           Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
23293           VA surface. i.e. drop any other attribute like timestamp, duration,
23294           interlaced or top-field-first.
23295
23296 2012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23297
23298         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23299         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23300         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23301         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23302         * gst/vaapi/gstvaapidecode.c:
23303           decoder: maintain decoded frames as GstVideoCodecFrame objects.
23304           Maintain decoded surfaces as GstVideoCodecFrame objects instead of
23305           GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
23306           the strict minimum: a context and a surface.
23307
23308 2012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23309
23310         * gst/vaapi/gstvaapidecode.c:
23311           vaapidecode: output all decoded frames as soon as possible.
23312           Make sure to push all decoded frames downstream as soon as possible.
23313           This makes sure we don't need to wait for a new frame to be ready to
23314           be decoded before receiving new decoded frames.
23315           This also separates the decode process and the output process. The latter
23316           could be moved to a specific GstTask later on.
23317
23318 2012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23319
23320         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23321         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23322           decoder: add gst_vaapi_decoder_get_frame() API.
23323           Add new gst_vaapi_decoder_get_frame() function meant to be used with
23324           gst_vaapi_decoder_decode(). The purpose is to return the next decoded
23325           frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
23326           as the user-data object.
23327
23328 2012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23329
23330         * gst/vaapi/gstvaapipostproc.c:
23331           vaapipostproc: use GstBuffer flags for TFF.
23332           Determine whether the buffer represents the top-field only by checking for
23333           the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
23334           flag. Also trust "interlaced" caps to determine whether the input frame
23335           is interleaved or not.
23336
23337 2012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23338
23339         * gst/vaapi/gstvaapipostproc.c:
23340           vaapipostproc: handle video sub-buffers.
23341           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
23342           for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
23343
23344 2012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23345
23346         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23347           h264: optimize initialization process of decoder units.
23348           Decoder units were zero-initialized, including the SPS/PPS/slice headers.
23349           The latter don't require zero-initialization since the codecparsers/ lib
23350           will do so for key variables already. This is not a great value per se but
23351           at least it makes it possible to check whether the default initialization
23352           decisions made in the codecparsers/ lib were right or not.
23353           This can be reverted if this exposes too many issues.
23354
23355 2012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23356
23357         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23358           h264: minor clean-ups.
23359           Drop explicit initialization of most fields that are implicitly set to
23360           zero. Drop helper macros for casting to GstVaapiPictureH264 or
23361           GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
23362
23363 2012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23364
23365         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23366           h264: drop GstVaapiSliceH264 object.
23367           Use standard GstVaapiSlice object from now on since we already have
23368           parsed and recorded the slice headers (GstH264SliceHdr decode units).
23369
23370 2012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23371
23372         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23373           h264: detect new pictures from decode-units.
23374           Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
23375           of assuming frame boundaries when first_mb_in_slice is zero.
23376
23377 2012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23378
23379         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23380           h264: implement {start,end}_frame() hooks.
23381           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
23382           that to create new VA context earlier and submit VA pictures to the
23383           HW for decoding as soon as possible. i.e. don't wait for the next
23384           frame to start decoding the previous one.
23385
23386 2012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23387
23388         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23389           h264: optimize scan for the second start code.
23390           Optimize scan for the second start code, on the next parse() call so that
23391           to avoid scanning again earlier bytes where we didn't find any start code.
23392
23393 2012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23394
23395         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23396           h264: add codec specific decoder unit.
23397           Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
23398           NAL unit header (GstH264NalUnit) and additional parsed header info.
23399           Besides, we now parse headers as early as in the _parse() function so
23400           that to avoid un-necessary creation of sub-buffers in _decode() for
23401           NAL units that are not slices.
23402           This is a performance win by ~+1.1% only.
23403
23404 2012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23405
23406         * gst/vaapi/gstvaapisink.c:
23407           vaapisink: handle sub video-buffers.
23408           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
23409           for non raw YUV cases. Make sure vaapisink now understands those buffers.
23410
23411 2012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23412
23413         * gst/vaapi/gstvaapidecode.c:
23414           vaapidecode: use gst_vaapi_decoder_get_codec_state().
23415           Directly use the GstVideoCodecState associated with the VA decoder
23416           instead of parsing caps again.
23417           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23418           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23419
23420 2012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23421
23422         * gst/vaapi/gstvaapidecode.c:
23423           vaapidecode: use more standard helpers.
23424           Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
23425           in more places.
23426
23427 2012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23428
23429         * gst/vaapi/gstvaapidecode.c:
23430         * gst/vaapi/gstvaapidecode.h:
23431           vaapidecode: move to GstVideoDecoder base class.
23432           Make vaapidecode derive from the standard GstVideoDecoder base element
23433           class. This simplifies the code to the strict minimum for the decoder
23434           element and makes it easier to port to GStreamer 1.x API.
23435           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23436           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23437
23438 2012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23439
23440         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23441           jpeg: initial port to new GstVaapiDecoder API
23442
23443 2012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23444
23445         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
23446           vc1: initial port to new GstVaapiDecoder API
23447
23448 2012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23449
23450         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23451           h264: initial port to new GstVaapiDecoder API
23452
23453 2012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23454
23455         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23456           mpeg4: initial port to new GstVaapiDecoder API
23457
23458 2012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23459
23460         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23461           mpeg2: initial port to new GstVaapiDecoder API.
23462
23463 2012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23464
23465         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23466         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23467         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23468         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
23469         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23470         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23471           decoder: use GstVideoCodecState.
23472           Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
23473           it with a new gst_vaapi_decoder_get_codec_state() function. This makes
23474           it possible to drop picture size (width, height) information, framerate
23475           (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
23476           and interlace mode (is_interlaced field).
23477           This is a new API with backwards compatibility maintained. In particular,
23478           gst_vaapi_decoder_get_caps() is still available.
23479           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23480           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23481
23482 2012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23483
23484         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23485         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23486         * tests/test-decode.c:
23487         * tests/test-subpicture.c:
23488           decoder: update gst_vaapi_decoder_get_surface() semantics.
23489           Align gst_vaapi_decoder_get_surface() semantics with the rest of the
23490           API. That is, return a GstVaapiDecoderStatus and the decoded surface
23491           as a handle to GstVaapiSurfaceProxy in parameter.
23492           This is an API/ABI change.
23493
23494 2012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23495
23496         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23497           decoder: use standard helper functions.
23498           Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
23499           whenever necessary.
23500
23501 2012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23502
23503         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23504         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23505         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23506           decoder: expose new parse/decode API.
23507           Introduce new decoding process whereby a GstVideoCodecFrame is created
23508           first. Next, input stream buffers are accumulated into a GstAdapter,
23509           that is then passed to the _parse() function. The GstVaapiDecoder object
23510           accumulates all parsed units and when a complete frame or field is
23511           detected, that GstVideoCodecFrame is passed to the _decode() function.
23512           Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
23513           process was successful.
23514
23515 2012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23516
23517         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23518         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23519           decoder: add {start,end}_frame() hooks.
23520           The start_frame() hook is called prior to traversing all decode-units
23521           for decoding. The unit argument represents the first slice in the frame.
23522           Some codecs (e.g. H.264) need to wait for the first slice in order to
23523           determine the actual VA context parameters.
23524
23525 2012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23526
23527         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23528         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23529         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23530           decoder: add new GstVaapiDecoder API.
23531           Split decoding process into two steps: (i) parse incoming bitstreams
23532           into simple decoder-units until the frame or field is complete; and
23533           (ii) decode the whole frame or field at once.
23534           This is an ABI change.
23535
23536 2012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23537
23538         * gst-libs/gst/vaapi/Makefile.am:
23539         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
23540         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
23541           decoder: add new "decoder-frame" object.
23542           Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
23543           (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
23544           an extension to GstVideoCodecFrame for VA decoder purposes. It is available
23545           as the user-data member element.
23546           This is a libgstvaapi internal object.
23547
23548 2012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23549
23550         * gst-libs/gst/vaapi/Makefile.am:
23551         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
23552         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
23553           decoder: add new "decoder-unit" object.
23554           Introduce GstVaapiDecoderUnit which represents a fragment of the source
23555           stream to be decoded. For instance, a decode-unit will be a NAL unit for
23556           H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
23557           streams.
23558           This is a libgstvaapi internal object.
23559
23560 2012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23561
23562         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23563           Port GstVaapiFrameStore to GstVaapiMiniObject.
23564
23565 2012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23566
23567         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23568         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23569         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23570         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23571         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23572           Port codec objects to GstVaapiMiniObject.
23573
23574 2012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23575
23576         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23577         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23578         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23579         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23580         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23581         * gst/vaapi/gstvaapidecode.c:
23582         * gst/vaapi/gstvaapipluginbuffer.c:
23583         * tests/test-decode.c:
23584         * tests/test-subpicture.c:
23585           surfaceproxy: port to GstVaapiMiniObject.
23586           GstVaapiSurfaceProxy does not use any particular functionality from
23587           GObject. Actually, it only needs a basic object type with reference
23588           counting.
23589           This is an API and ABI change.
23590
23591 2012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23592
23593         * gst-libs/gst/vaapi/Makefile.am:
23594         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
23595         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
23596           Add GstVaapiMiniObject.
23597           Introduce a new reference counted object that is very lightweight and
23598           also provides flags and user-data functionalities. Initialization and
23599           finalization times are reduced by up to a factor 5x vs GstMiniObject
23600           from GStreamer 0.10 stack.
23601           This is a libgstvaapi internal object.
23602
23603 2012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23604
23605         * tests/Makefile.am:
23606         * tests/test-decode.c:
23607         * tests/test-mpeg4.c:
23608         * tests/test-mpeg4.h:
23609           tests: add test for MPEG-4:2 decoding.
23610
23611 2012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23612
23613         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23614           h264: initialize VA context before allocating the first slice.
23615           Fix decode_slice() to ensure a VA context exists prior to creating a
23616           new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
23617           context ID. i.e. the latter was not initialized, thus causing failures
23618           on Cedar Trail for example.
23619
23620 2012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
23621
23622         * configure.ac:
23623           configure: install plugin elements in GST_PLUGIN_PATH, if set.
23624           If GST_PLUGIN_PATH environment variable exists and points to a valid
23625           directory, then use it as the system installation path for gst-vaapi
23626           plugin elements.
23627           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23628
23629 2012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23630
23631         * configure.ac:
23632           configure: downgrade glib required version to 2.28.
23633
23634 2012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23635
23636         * gst-libs/gst/vaapi/glibcompat.h:
23637         * gst/vaapi/gstvaapi.c:
23638           libs: fix compatibility with glib 2.28.
23639           Always prefer non deprecated APIs by default and provide compatibility
23640           glue for older glib versions when necessary.
23641
23642 2012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23643
23644         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23645         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23646         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
23647         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
23648           libs: use glib >= 2.32 semantics for mutexes.
23649           Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
23650           and termination. Basically, the new mutex objects can be used as static
23651           mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
23652
23653 2012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23654
23655         * gst-libs/gst/vaapi/Makefile.am:
23656           libs: only export gst_vaapi_*() symbols.
23657           This fixes symbol clashes between the gst-vaapi built-in codecparsers/
23658           library and the system-provided one, mainly used by videoparses/. Now,
23659           only symbols with the gst_vaapi_* prefix will be exported, if they are
23660           not marked as "hidden" to libgstvaapi.
23661
23662 2012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23663
23664         * gst/vaapi/gstvaapiuploader.c:
23665           vaapiupload: reset direct-rendering to zero when changing caps.
23666           Make sure to reset direct-rendering flag to zero when caps are changed,
23667           and only derive it to one when the next checks succeed.
23668
23669 2012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23670
23671         * gst/vaapi/gstvaapiupload.c:
23672           vaapiupload: fix sink caps to report the supported set of YUV caps.
23673           Try to allocate the GstVaapiUploader helper object prior to listing the
23674           supported image formats. Otherwise, only a single generic caps is output
23675           with no particular pixel format referenced in there.
23676
23677 2012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
23678
23679         * gst/vaapi/gstvaapiupload.c:
23680         * gst/vaapi/gstvaapiupload.h:
23681           vaapiupload: use new GstVaapiUploader helper.
23682           Use GstVaapiUploader helper that automatically handles direct rendering
23683           mode, thus making the "direct-rendering" property obsolete and hence it
23684           is now removed.
23685           The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
23686           really well supported and it could actually trigger degraded performance.
23687           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23688
23689 2012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23690
23691         * gst/vaapi/gstvaapisink.c:
23692         * gst/vaapi/gstvaapiuploader.c:
23693         * gst/vaapi/gstvaapiuploader.h:
23694           vaapisink: compute and expose the supported set of YUV caps.
23695           Make vaapisink expose only the set of supported caps for raw YUV buffers.
23696           Add gst_vaapi_uploader_get_caps() helper function to determine the set
23697           of supported YUV caps as source (for images). This function actually
23698           tries to zero and upload each image to a 64x64 test surface. Of course,
23699           this relies on VA drivers to not claim success if vaPutImage() is not
23700           correctly supported.
23701
23702 2012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23703
23704         * NEWS:
23705         * gst/vaapi/Makefile.am:
23706         * gst/vaapi/gstvaapisink.c:
23707         * gst/vaapi/gstvaapisink.h:
23708         * gst/vaapi/gstvaapiuploader.c:
23709         * gst/vaapi/gstvaapiuploader.h:
23710           vaapisink: add support for raw YUV buffers.
23711           Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
23712           It is up to the caller to negotiate source caps (for images) and output
23713           caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
23714           to help decide between the creation of a GstVaapiVideoBuffer or a regular
23715           GstBuffer on sink pads.
23716           Signed-off-by: Zhao Halley <halley.zhao@intel.com>
23717           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23718
23719 2012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23720
23721         * gst-libs/gst/vaapi/gstvaapiimage.c:
23722           image: fix GstVaapiImage map and unmap.
23723           Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
23724           structure correctly filled in if the image was already mapped.
23725           Likewise, make gst_vaapi_image_unmap() return TRUE if the image
23726           was already unmapped.
23727
23728 2012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
23729
23730         * NEWS:
23731         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23732           videobuffer: fix memory leak for surface and image.
23733           Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
23734           thus resulting on actual memory leak of GstVaapiImage when using them
23735           for downloads/uploads from VA surfaces and more specifically surfaces
23736           when the pipeline is shutdown. i.e. vaTerminate() was never called
23737           because the resources were not unreferenced, and thus not deallocated
23738           in the end.
23739           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23740
23741 2012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23742
23743         * NEWS:
23744           NEWS: updates.
23745
23746 2012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23747
23748         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23749           h264: fix picture size in macroblocks.
23750           The picture size signalled by sps->{width,height} is the actual size with
23751           cropping applied, not the original size derived from pic_width_in_mbs_minus1
23752           and pic_height_in_map_units_minus1. VA driver expects that original size,
23753           uncropped.
23754           There is another issue pending: frame cropping information needs to be
23755           taken care of.
23756
23757 2012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23758
23759         * gst-libs/gst/codecparsers/Makefile.am:
23760           codecparsers: always build parserutils first.
23761           Fix commit 18245b4 so that to link and build parserutils.[ch] first.
23762           This is needed since that's the common dependency for actual codec
23763           parsers (gstvc1parser.c for instance).
23764
23765 2012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23766
23767         * gst-libs/gst/codecparsers/Makefile.am:
23768           codecparsers: always build the VC-1 parser library.
23769           ... this is useful to make sure pixel-aspect-ratio and framerate
23770           information are correctly parsed since we have no means to detect
23771           that at configure time.
23772
23773 2012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23774
23775         * configure.ac:
23776         * gst-libs/gst/codecparsers/Makefile.am:
23777         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23778           mpeg2: fix PAR calculation from commit bd11bae.
23779           Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
23780           correct PAR values. While doing so, require a newer version of the
23781           bitstream parser library.
23782           Note: it may be necessary to also parse the Sequence_Display_Extension()
23783           header.
23784           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23785           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23786
23787 2012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23788
23789         * gst-libs/gst/vaapi/Makefile.am:
23790           Fix build with the GNU gold linker.
23791           In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
23792           and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
23793
23794 2012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
23795
23796         * configure.ac:
23797         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23798         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23799         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23800           wayland: port to 1.0 version of the protocol.
23801           This patch updates to relect the 1.0 version of the protocol. The main
23802           changes are the switch to wl_registry for global object notifications
23803           and the way that the event queue and file descriptor is processed.
23804           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23805
23806 2012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23807
23808         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23809           h264: fix incorrect integration of previous commit (4d31e1e).
23810           git am got confused somehow, though the end result doesn't change at
23811           all since we require both SPS and PPS to be parsed prior to decoding
23812           the first slice.
23813
23814 2012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23815
23816         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23817           h264: start decoding slices after first SPS/PPS activation.
23818           Only start decoding slices when at least one SPS and PPS got activated.
23819           This fixes cases when a source represents a substream of another stream
23820           and no SPS and PPS was inserted before the first slice of the generated
23821           substream.
23822
23823 2012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23824
23825         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23826           h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
23827           ... for interlaced streams. The short_ref[] and long_ref[] arrays may
23828           contain up to 32 fields but VA ReferenceFrames[] array expects up to
23829           16 reference frames, thus including both fields.
23830
23831 2012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23832
23833         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23834           h264: fix interlaced stream decoding with MMCO.
23835           Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
23836           is equal to 1, i.e. when memory management control operations are used. In
23837           particular, when field_pic_flag is set to 0, the new reference flags shall
23838           be applied to both fields.
23839
23840 2012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23841
23842         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23843           h264: add initial support for interlaced streams.
23844           Decoded frames are only output when they are complete, i.e. when both
23845           fields are decoded. This also means that the "interlaced" caps is not
23846           propagated to vaapipostproc or vaapisink elements. Another limitation
23847           is that interlaced bitstreams with MMCO are unlikely to work.
23848
23849 2012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23850
23851         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23852           h264: split remove_reference_at() into finer units.
23853           Split remove_reference_at() into a function that actually removes the
23854           specified entry from the short-term or long-term reference picture array,
23855           and a function that sets reference flags to the desired value, possibly
23856           zero. The latters marks the picture as "unused for reference".
23857
23858 2012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23859
23860         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23861           decoder: fix gst_vaapi_picture_new_field() object type.
23862           Fix gst_vaapi_picture_new_field() to preserve the original picture type.
23863           e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
23864           shall generate a GstVaapiPictureH264 object.
23865
23866 2012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23867
23868         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23869           h264: add picture structure for reference picture marking process.
23870           Introduce new `structure' field to the H.264 specific picture structure
23871           so that to simplify the reference picture marking process. That local
23872           picture structure is derived from the original picture structure, as
23873           defined by the syntax elements field_pic_flag and bottom_field_flag.
23874
23875 2012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23876
23877         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23878           h264: introduce new frame store structure.
23879           The frame store represents a Decoded Picture Buffer entry, which can
23880           hold up to two fields. So far, the frame store is only used to hold
23881           full frames.
23882
23883 2012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23884
23885         * ext/codecparsers:
23886           codecparsers: update to gst-vaapi-rebased commit 73d6aab.
23887           73d6aab h264: fix rbsp_more_data() implementation
23888           25d04cf h264: fix error code for invalid size parsed in SPS
23889           84798e5 fix FSF address
23890
23891 2012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23892
23893         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23894           h264: minor clean-ups.
23895           Move DPB flush up if the current picture to decode is an IDR. Besides,
23896           don't bother to check for IDR pictures in dpb_add() function since an
23897           explicit DPB flush was already performed in this case.
23898
23899 2012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23900
23901         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23902           h264: simplify reference picture marking process.
23903           ... to build the short_ref[] and long_ref[] lists from the DPB, instead
23904           of maintaining them separately. This avoids refs/unrefs while making it
23905           possible to generate the list based on the actual picture structure.
23906           This also ensures that the list of generated ReferenceFrames[] actually
23907           matches what reference frames are available in the DPB. i.e. short_ref[]
23908           and long_ref[] entries are implied from the DPB, so there is no risk of
23909           having "dangling" references.
23910
23911 2012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23912
23913         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23914           h264: introduce per-field POC in GstVaapiPictureH264.
23915           Use the POC member available in the GstVaapiPicture base class and
23916           get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
23917           and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
23918           initialized to INT_MAX, so that to simplify picture POC calculation
23919           for non frame pictures.
23920
23921 2012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23922
23923         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23924           h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
23925           Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
23926           reference bits, thus simplifying the reference picture marking process
23927           to only track a single set of reference flags. Also introduce a new
23928           long_term_frame_idx member.
23929
23930 2012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23931
23932         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23933           h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
23934
23935 2012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23936
23937         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23938           h264: fill in GstVaapiPicture structure.
23939           ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
23940
23941 2012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23942
23943         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23944           h264: add vaapi_fill_picture() helper.
23945           Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
23946           to VAPictureH264 structure. This is preparatory work to get rid of the
23947           local VAPictureH264 member in GstVaapiPictureH264.
23948
23949 2012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23950
23951         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23952           h264: fix activation order of picture and sequence parameters.
23953           Delay ensure_context() until we actually need a VA context for allocating
23954           new VA surfaces, and then GstVaapiPictures, but also when a real activation
23955           of a new picture parameter set occurs, thus also implying an activation
23956           of the related sequence parameter set.
23957           The most important thing was to drop the global pps and sps pointers since
23958           they may not have matched the currently activated picture parameter or
23959           sequence parameter sets at the specified decode point.
23960           Anoter positive side-effect is that this cleans up all occurrences of
23961           decode_current_picture() to only keep those useful in decode_picture(),
23962           before a new picture is allocated, or in decode_sequence_end() when
23963           an end-of-stream or end-of-sequence condition occurred.
23964
23965 2012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23966
23967         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23968           h264: fix scaling list generation.
23969           ... aka fix regression from efaab79. In particular, ScalingList8x8[]
23970           array was partially copied to the VAIQMatrixBufferH264. While we are
23971           at it, also improve bounds checking and avoid copying 8x8 scaling
23972           lists if transform_8x8_mode_flag is set to 0.
23973
23974 2012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23975
23976         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23977           h264: fix detection of picture boundaries.
23978           Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
23979           unit of a primary coded picture.
23980
23981 2012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23982
23983         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23984           h264: optimize handling of scaling lists.
23985           Don't copy scaling lists twice to an intermediate state. Rather, directly
23986           use the scaling lists from GstH264PPS since they would match those provided
23987           by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
23988           available in the bitstream.
23989
23990 2012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23991
23992         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
23993           h264: simplify code when MMCO is 5.
23994           Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
23995           is now updated accordingly to the standard. Besides, MMCO = 5 specific
23996           operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
23997
23998 2012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23999
24000         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24001           h264: fix MMCO-based reference picture marking process.
24002           Fix adaptive memory control decoded reference picture marking process
24003           implementation for operations 2 to 6, thus also fixing support for
24004           long-term reference pictures.
24005
24006 2012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24007
24008         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24009           h264: move MMCO handlers out of the loop (cosmetics).
24010           This change only splits each individual MMCO handler into several functions
24011           dedicated for each operation. This is needed to perform further work later
24012           on.
24013
24014 2012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24015
24016         * Makefile.am:
24017           debian: fix make dist for packaging.
24018           bzip2 tarballs are now used, so update the deb.upstream dependencies
24019           to include dist-bzip2 instead of plain old dist, and use the correct
24020           tar extract options to handle that format.
24021
24022 2012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24023
24024         * configure.ac:
24025           configure: generate bzip2 tarballs in ustar format by default.
24026
24027 2012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24028
24029         * configure.ac:
24030           configure: bump glib required version to 2.31.2.
24031           Use new Thread API. In particular, g_mutex_init() and g_cond_init()
24032           rather than g_mutex_new() and g_cond_new() respectively.
24033
24034 2012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
24035
24036         * gst/vaapi/gstvaapidecode.c:
24037         * gst/vaapi/gstvaapidecode.h:
24038           vaapidecode: adopt non-deprecrated glib locking primitive pattern.
24039           The use of heap allocated GMutex/GCond is deprecated. Instead place them
24040           inside the structure they are locking.
24041           These changes switch to use g_mutex_init/g_cond_init rather than the heap
24042           allocation functions.
24043           Because we cannot test for a NULL pointer for the GMutex/GCond we must
24044           initialise inside the GObject _init function and clear inside the _finalize
24045           which is guaranteed to only be called once and after the object is no longer
24046           in use.
24047
24048 2012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24049
24050         * gst/vaapi/gstvaapidecode.c:
24051           vaapidecode: fix compiler warnings.
24052           Don't care of the return value for gst_vaapi_decoder_put_buffer()
24053           during destruction of the element. Don't print out (uninitialised)
24054           error code when allocation of video buffer failed.
24055
24056 2012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24057
24058         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24059           h264: add flag to compile with strict DPB ordering mode.
24060           Allow build with strict DPB ordering mode whereby evicted entries
24061           are replaced by the next entries, in order instead of optimizing
24062           it away with the last entry in the DPB.
24063           This is only useful for debugging purpose, against a reference SW
24064           decoder for example.
24065
24066 2012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24067
24068         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24069           h264: drop extra code covered by built-in codecparsers.
24070           GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
24071           a newer version of codecparsers/ are used if the system provided one is
24072           now recent enough to have those required extensions.
24073
24074 2012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24075
24076         * gst-libs/gst/codecparsers/Makefile.am:
24077           codecparsers: fix generation of symlinks.
24078           Try to improve dependencies while generating symlinks to externally
24079           maintained copy of codecparsers (derived from upstream git master
24080           tree).
24081
24082 2012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24083
24084         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24085           vc1: use framerate information from bitstream parser.
24086
24087 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24088
24089         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24090           vc1: use pixel-aspect-ratio from bitstream parser.
24091           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24092           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24093
24094 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24095
24096         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24097           mpeg2: use pixel-aspec-ratio information from bitstream parser.
24098           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24099           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24100
24101 2012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24102
24103         * configure.ac:
24104         * gst-libs/gst/codecparsers/Makefile.am:
24105           codecparsers: h264: use submodule sources.
24106           Use newer sources from the codecparsers/ submodule for
24107           - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
24108           - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
24109
24110 2012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24111
24112         * .gitignore:
24113         * configure.ac:
24114         * gst-libs/gst/codecparsers/Makefile.am:
24115         * gst-libs/gst/codecparsers/gstjpegparser.c:
24116         * gst-libs/gst/codecparsers/gstjpegparser.h:
24117         * gst-libs/gst/vaapi/Makefile.am:
24118           codecparsers: jpeg: use submodule sources.
24119
24120 2012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24121
24122         * .gitmodules:
24123         * Makefile.am:
24124         * autogen.sh:
24125         * configure.ac:
24126         * ext/Makefile.am:
24127         * ext/codecparsers:
24128           Add codecparsers submodule.
24129
24130 2012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24131
24132         * .gitignore:
24133           .gitignore: updates.
24134
24135 2012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24136
24137         * autogen.sh:
24138           autogen: fix check for gtkdocize and autoreconf.
24139           If gtkdocize or autoreconf programs were not found, then the autogen.sh
24140           script would fail to report that correctly because test -z was not passed
24141           any argument (empty string "" in this case).
24142
24143 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24144
24145         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24146           h264: use pixel-aspect-ratio from SPS header.
24147           Propagate pixel-aspect-ratio determined by the GStreamer codecparser
24148           from the sequence headers.
24149           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
24150           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24151
24152 2012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24153
24154         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24155           h264: add decode_nalu() helper function.
24156           Split decode_buffer() into the core infrastructure that determines
24157           the NAL units contained in the adapter and the actual function that
24158           decodes the NAL unit.
24159
24160 2012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24161
24162         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24163           h264: fix end-of-stream conditions (flush).
24164           Decode pending data in the adapter prior to processing the actual
24165           code for end-of-stream.
24166
24167 2012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24168
24169         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24170           mpeg2: add decode_packet() helper function.
24171           Split decode_buffer() into the core infrastructure that determines
24172           the packets contained in the adapter and the actual function that
24173           decodes the packet data.
24174
24175 2012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24176
24177         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24178           mpeg2: fix end-of-stream conditions (flush).
24179           Decode pending data in the adapter prior to processing the actual
24180           code for end-of-stream. Initial code from Feng Yuan.
24181
24182 2012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24183
24184         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24185           mpeg2: fix memory leak of empty packets.
24186           Fix memory leakage of empty packets, i.e. packets that only contain
24187           the start code prefix. In particular, free empty user-data packets.
24188           Besides, the codec parser will already fail gracefully if the packet
24189           to parse does not have the minimum required size. So, we can also
24190           completely drop the block of code that used to handle packets of size 4
24191           (including the start code).
24192
24193 2012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24194
24195         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24196           mpeg2: fix return value for "no-data" conditions.
24197           Fix return value when the second scan for start code fails. This means
24198           there is not enough data to determine the full extents of the current
24199           packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
24200           in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
24201
24202 2012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24203
24204         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24205           decoder: refine semantics of gst_vaapi_decoder_put_buffer().
24206           Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
24207           buffer is passed on. An empty buffer is a buffer with a NULL data pointer
24208           or with a size equals to zero. In this case, that buffer is simply
24209           skipped and the function returns TRUE. A NULL buffer argument still
24210           marks the end-of-stream.
24211
24212 2012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24213
24214         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24215         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24216           decoder: drop unused functions.
24217
24218 2012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
24219
24220         * gst/vaapi/gstvaapidecode.c:
24221           vaapidecode: flush buffers when receiving EOS.
24222           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24223
24224 2012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24225
24226         * debian.upstream/Makefile.am:
24227           debian: fix make dist for packaging.
24228
24229 2012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24230
24231         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24232         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24233           wayland: cosmetics (remove tabs).
24234
24235 2012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
24236
24237         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24238           wayland: add support for windowed mode.
24239           Rather than always making the surface fullscreen instead implement the
24240           set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
24241           fullscreen on not depending on that.
24242           Reviewed-by: Joe Konno <joe.konno@intel.com>
24243           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24244
24245 2012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24246
24247         * configure.ac:
24248           Bump version for development.
24249
24250 2012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24251
24252         * README:
24253         * configure.ac:
24254           Fix and document build dependencies better.
24255
24256 2012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24257
24258         * debian.upstream/control.in:
24259           debian: fix GStreamer build dependencies.
24260
24261 2012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24262
24263         * configure.ac:
24264         * debian.upstream/control.in:
24265           debian: fix Wayland build dependencies.
24266
24267 2012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24268
24269         * debian.upstream/control.in:
24270           debian: fix conditional build of packages.
24271           Make it still possible to build package even if one of the build dependencies
24272           for a specific video backend is not available.
24273
24274 2012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24275
24276         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24277         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24278           utils: drop unused GLX helpers.
24279           Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
24280           extensions since they are not used throughout gstreamer-vaapi.
24281
24282 2012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24283
24284         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24285           utils: fix build with <GL/glext.h> version >= 85.
24286           Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
24287           This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
24288           GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
24289           GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
24290           thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
24291           Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
24292           newer versions of the <GL/glext.h> header.
24293
24294 2012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24295
24296         * configure.ac:
24297           configure: update VA-API version requirements.
24298           VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
24299
24300 2012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24301
24302         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24303           h264: review and report errors accordingly.
24304           Use GST_ERROR() to report real errors instead of hiding them into
24305           GST_DEBUG().
24306
24307 2012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24308
24309         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24310           h264: exclusively use GstAdapter, drop sub-buffer hack.
24311           Maintaining the sub-buffer is rather suboptimal especially since we
24312           were also maintaining a GstAdapter. Now, we only use the GstAdapter
24313           thus requiring minor extra parsing when receiving avcC buffers.
24314
24315 2012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24316
24317         * README:
24318           README: updates.
24319
24320 2012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24321
24322         * NEWS:
24323           NEWS: updates.
24324
24325 2012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24326
24327         * debian.upstream/gstreamer-vaapi.install.in:
24328           debian: fix packaging on recent Ubuntu platforms.
24329           Use explicit GStreamer plugins path.
24330
24331 2012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24332
24333         * docs/reference/libs/libs-docs.xml.in:
24334         * docs/reference/libs/libs.core.types:
24335           docs: fix build for make dist.
24336
24337 2012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
24338
24339         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24340           wayland: set opaque region for YUV surface.
24341           This allows the compositor to optimize redraws and cull away changes
24342           obscured by the video surface.
24343           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24344
24345 2012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24346
24347         * configure.ac:
24348           configure: fix check for libva-glx and libva-drm.
24349
24350 2012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24351
24352         * gst-libs/gst/vaapi/glibcompat.h:
24353           glibcompat: add replacement for g_cond_wait_until().
24354
24355 2012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24356
24357         * gst/vaapi/gstvaapidecode.c:
24358         * gst/vaapi/gstvaapidownload.c:
24359         * gst/vaapi/gstvaapipostproc.c:
24360         * gst/vaapi/gstvaapisink.c:
24361         * gst/vaapi/gstvaapiupload.c:
24362           plugins: include "sysdeps.h" instead of "config.h".
24363
24364 2012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24365
24366         * gst-libs/gst/codecparsers/gstjpegparser.c:
24367           codecparsers: jpeg: add missing includes.
24368
24369 2012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24370
24371         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24372         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24373         * gst/vaapi/gstvaapidecode.c:
24374           vaapidecode: don't reset decoder if codec type is the same.
24375           Reset, i.e. destroy then create, the decoder in _setcaps() handler only
24376           if the underlying codec type actually changed. This makes it possible
24377           to be more tolerant with certain MPEG-2 streams that get parsed to
24378           form caps that are compatible with the previous state but minor changes
24379           to "codec-data".
24380
24381 2012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24382
24383         * gst/vaapi/gstvaapidecode.c:
24384           vaapidecode: simplify codec lookup from caps.
24385           Add new gst_vaapi_codec_from_caps() helper to determine codec type from
24386           the specified caps. Don't globally expose this function since this is
24387           really trivial and only used in the vaapidecode element.
24388
24389 2012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24390
24391         * gst/vaapi/gstvaapidecode.c:
24392         * gst/vaapi/gstvaapidecode.h:
24393           vaapidecode: improve "no free surface" conditions.
24394           Previously, vaapidecode would wait up to one second until a free surface
24395           is available, or it aborts decoding. Now, vaapidecode waits until the
24396           last decoded surface was to be presented, plus one second. Besides, end
24397           times are now expressed relative to the monotonic clock.
24398
24399 2012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24400
24401         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24402         * gst/vaapi/gstvaapidecode.c:
24403           decoder: propagate buffer duration downstream.
24404
24405 2012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24406
24407         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24408         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24409           surfaceproxy: add "duration" property.
24410
24411 2012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24412
24413         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24414         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24415         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24416         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24417         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24418         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24419         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24420           decoder: cope with new GstVaapiContextInfo based API.
24421           Update decoders to report the maximum number of reference frames to use.
24422
24423 2012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24424
24425         * gst-libs/gst/vaapi/gstvaapicontext.c:
24426           context: JPEG codec does not need any reference frame.
24427
24428 2012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24429
24430         * gst-libs/gst/vaapi/gstvaapicontext.c:
24431         * gst-libs/gst/vaapi/gstvaapicontext.h:
24432           context: allow number of reference frames to be set.
24433           Make it possible to specify the maximum number of references to use within
24434           a single VA context. This helps reducing GPU memory allocations to the useful
24435           number of references to be used.
24436
24437 2012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24438
24439         * gst/vaapi/gstvaapipostproc.c:
24440           vaapipostproc: fix deinterlace-{mode,method} types definition.
24441
24442 2012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24443
24444         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24445           mpeg4: fix debug info for unsupported profile.
24446
24447 2012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24448
24449         * gst-libs/gst/vaapi/gstvaapicontext.c:
24450         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24451         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24452         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24453         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24454         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24455         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24456         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24457         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24458         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24459         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24460         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24461         * gst-libs/gst/vaapi/gstvaapiimage.c:
24462         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24463         * gst-libs/gst/vaapi/gstvaapiobject.c:
24464         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24465         * gst-libs/gst/vaapi/gstvaapisurface.c:
24466         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24467         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24468         * gst-libs/gst/vaapi/gstvaapitexture.c:
24469         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24470         * gst-libs/gst/vaapi/gstvaapivalue.c:
24471         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24472         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
24473         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
24474         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24475         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24476         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24477         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24478         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24479         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24480           libs: fix build in strict ISO C mode.
24481
24482 2012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24483
24484         * gst/vaapi/gstvaapi.c:
24485         * gst/vaapi/gstvaapidecode.c:
24486         * gst/vaapi/gstvaapidownload.c:
24487         * gst/vaapi/gstvaapipostproc.c:
24488         * gst/vaapi/gstvaapisink.c:
24489         * gst/vaapi/gstvaapiupload.c:
24490           plugins: fix build in strict ISO C mode.
24491
24492 2012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24493
24494         * pkgconfig/gstreamer-vaapi-glx.pc.in:
24495         * pkgconfig/gstreamer-vaapi-x11.pc.in:
24496         * pkgconfig/gstreamer-vaapi.pc.in:
24497           pkgconfig: fix dependencies and slightly improve description.
24498           Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
24499           descriptions with clearer renderer names.
24500
24501 2012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
24502
24503         * gst/vaapi/gstvaapidecode.c:
24504           vaapidecode: acquire lock only if the mutex exists.
24505           When playback stops the GstVaapiDecode object is reset into a clean
24506           state. However, surfaces may still be referenced by library users and
24507           unreferencing them after the reset triggers an access to an unset mutex.
24508           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24509
24510 2012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24511
24512         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24513           decoder: drop extraneous return for void function.
24514
24515 2012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24516
24517         * gst-libs/gst/vaapi/gstvaapiimage.c:
24518           image: don't use (void *) pointer arithmetic.
24519
24520 2012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
24521
24522         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24523         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24524         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24525         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24526         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
24527         * gst-libs/gst/vaapi/gstvaapiprofile.h:
24528         * gst-libs/gst/vaapi/gstvaapisurface.h:
24529         * gst-libs/gst/vaapi/gstvaapitypes.h:
24530         * gst/vaapi/gstvaapipostproc.h:
24531           Do not forward declare enums.
24532           Forward declaring enums is not allowed by the C standard and aborts
24533           compilation if the header file is included in a C++ project.
24534           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24535
24536 2012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24537
24538         * configure.ac:
24539           configure: fix check for VA/DRM API.
24540
24541 2012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24542
24543         * gst/vaapi/gstvaapisink.c:
24544           vaapisink: fix calculation of window size.
24545           If either dimension is out-of-bounds, then scale window to fit the
24546           display size, even if the output is to be rotated. Use the standard
24547           gst_video_sink_center_rect() function to center and scale the window
24548           wrt. the outer (display) bounds.
24549
24550 2012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
24551
24552         * gst/vaapi/gstvaapisink.c:
24553         * gst/vaapi/gstvaapisink.h:
24554           vaapisink: add video rotation support.
24555           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24556
24557 2012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24558
24559         * gst/vaapi/gstvaapipluginutil.h:
24560           pluginutils: add G_PRIMITIVE_SWAP() helper macro.
24561           This macro helps swapping variables while maintaining the correct underlying
24562           and primitive type.
24563
24564 2012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24565
24566         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24567           display: fix display aspect ratio when display is rotated.
24568
24569 2012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24570
24571         * configure.ac:
24572         * gst-libs/gst/vaapi/Makefile.am:
24573         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24574         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24575           display: fix physical display size when display is rotated.
24576
24577 2012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24578
24579         * gst-libs/gst/vaapi/gstvaapivalue.c:
24580           display: fix GstVaapiRotation enumeration of values.
24581
24582 2012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24583
24584         * docs/reference/libs/libs-docs.xml.in:
24585         * docs/reference/libs/libs-sections.txt:
24586         * gst-libs/gst/vaapi/Makefile.am:
24587         * gst-libs/gst/vaapi/gstvaapivideosink.c:
24588         * gst-libs/gst/vaapi/gstvaapivideosink.h:
24589         * gst/vaapi/gstvaapidecode.c:
24590         * gst/vaapi/gstvaapidownload.c:
24591         * gst/vaapi/gstvaapipostproc.c:
24592         * gst/vaapi/gstvaapisink.c:
24593         * gst/vaapi/gstvaapiupload.c:
24594           vaapisink: drop obsolete GstVaapiVideoSink interface.
24595           This interface was deprecated since 0.3.x series when the GstVideoContext
24596           interface was added to the main GStreamer APIs.
24597
24598 2012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24599
24600         * gst/vaapi/gstvaapisink.c:
24601         * gst/vaapi/gstvaapisink.h:
24602           vaapisink: automatically detect overlay rendering mode.
24603           Retain the VA surface until another surface is to be displayed only
24604           if VA display rendering mode is determined to be "overlay" mode.
24605
24606 2012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24607
24608         * gst/vaapi/gstvaapisink.c:
24609         * gst/vaapi/gstvaapisink.h:
24610           vaapisink: retain VA surface until another one is displayed.
24611           Keep VA surface proxy associated with the surface that is currently
24612           being displayed. This makes sure that surface is not released back
24613           to the pool of surfaces free to use for decoding. This is necessary
24614           with VA driver implementations that support rendering to an overlay
24615           pipe. Otherwise, there could be cases where we are decoding into a
24616           surface that is being displayed, hence some flickering.
24617
24618 2012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24619
24620         * gst/vaapi/gstvaapisink.h:
24621           vaapisink: fix build with older toolchains.
24622           Don't re-declare GstVaapiTexture if USE_GLX mode is set.
24623
24624 2012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24625
24626         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24627           display: partially revert 8ebe4d6.
24628           Don't try to fix up the initial values, this could make things worse.
24629           Simply assume the driver does not support the capability in this case.
24630
24631 2012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24632
24633         * tests/test-display.c:
24634           tests: dump VA display properties.
24635
24636 2012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24637
24638         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24639           display: fix validation process of properties during discovery.
24640           Some VA drivers (e.g. EMGD) can have completely random values for initial
24641           display attributes. So, try to improve the discovery process to check the
24642           initial display attribute values actually fall within valid bounds. If not,
24643           try to reset those to some sensible values like the default value reported
24644           through vaQueryDisplayAttributes().
24645
24646 2012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24647
24648         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24649         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24650           display: add color balance properties.
24651           Add support for hue, saturation, brightness and contrast attributes.
24652
24653 2012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24654
24655         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24656           display: initialize default attribute values.
24657           Ensure the display attribute is actually supported by trying to retrieve
24658           its current value during GstVaapiDisplay creation.
24659
24660 2012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24661
24662         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24663           display: raise "notify" for property changes.
24664
24665 2012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24666
24667         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24668         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24669           display: expose display attributes as GObject properties.
24670           Expose VA display "render-mode" and "rotation" attributes as standard
24671           GObject properties.
24672
24673 2012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24674
24675         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24676           display: install properties in batch.
24677           Use g_object_class_install_properties() to install GstVaapiDisplay properties.
24678           It is useful to maintain properties as GParamSpec so that to be able to raise
24679           "notify" signals by id instead of by name in the future.
24680
24681 2012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24682
24683         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24684           display: fix gst_vaapi_display_has_property().
24685           Append the "render-mode" and "rotation" properties, should they be supported
24686           by the underlying VA driver.
24687
24688 2012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
24689
24690         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24691         * gst-libs/gst/vaapi/gstvaapidisplay.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/gstvaapivalue.c:
24696         * gst-libs/gst/vaapi/gstvaapivalue.h:
24697           display: add support for rotation modes.
24698           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24699
24700 2012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24701
24702         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24703         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24704         * gst-libs/gst/vaapi/gstvaapitypes.h:
24705         * gst-libs/gst/vaapi/gstvaapivalue.c:
24706         * gst-libs/gst/vaapi/gstvaapivalue.h:
24707           display: add support for rendering modes.
24708           A rendering mode can be "overlay" or "texture"'ed blit.
24709           The former mode implies that a VA surface used for rendering can't be
24710           re-used right away for decoding, so the sink shall make provisions to
24711           retain the associated surface proxy until the next surface is to be
24712           displayed.
24713           The latter mode implies that the VA surface is implicitly copied to an
24714           intermediate backing store, or back buffer of a frame buffer, so the
24715           associated surface proxy can be disposed right away.
24716
24717 2012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24718
24719         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24720         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24721         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24722           display: add initial support for display attributes.
24723           The VA display attributes are mapped to properties so that to maintain the
24724           GStreamer terminology. Properties are to be identified by name, but internal
24725           functions are available to lookup the property by the actual VA display
24726           attribute type.
24727
24728 2012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24729
24730         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24731           jpeg: fix end-of-image (EOI) handler.
24732           decode_current_picture() was converted to return a gboolean instead
24733           of a GstVaapiDecoderStatus, so we were not getting out of the decode
24734           loop as expected, or could cause an error instead.
24735           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24736
24737 2012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24738
24739         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24740           mpeg2: include start code into VA slice data buffer.
24741           Integrate the start code prefix in the slice data buffer that is submitted
24742           to the hardware. VA-API specifies that slice_data_offset is the offset to
24743           the first byte of slice data. And, for MPEG-2, slice() data begins with
24744           the slice_start_code. Some VA driver implementations (EMGD) expect this.
24745
24746 2012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
24747
24748         * autogen.sh:
24749           autogen: fix configure script generation when srcdir != builddir.
24750           This patch allows for regenerating the configure script from a build
24751           directory that is not the actual source directory.
24752           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24753
24754 2012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
24755
24756         * configure.ac:
24757           configure: use new libtool syntax.
24758           This now requires libtool >= 2.2 to regenerate the configure script.
24759           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24760
24761 2012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
24762
24763         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24764           decoder: use g_object_notify_by_pspec().
24765           Use g_object_notify_by_pspec() instead of g_object_notify() so that to
24766           avoid a property name lookup. i.e. this makes notifications faster to
24767           the `vaapidecode' element.
24768           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24769
24770 2012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24771
24772         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24773           wayland: handle de-interlacing flags.
24774           VA/Wayland API was updated to allow flags for bob deinterlacing.
24775           More elaborated filters will require a complete VA/VPP pipeline.
24776
24777 2012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24778
24779         * gst-libs/gst/codecparsers/gstjpegparser.c:
24780           jpeg: fix default quantization tables.
24781           Two elements in the luminance quantization table were wrong. So,
24782           gst_jpeg_get_default_quantization_tables() now reconstructs tables
24783           in zig-zag order from the standard ones (Tables K.1 and K.2).
24784
24785 2012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24786
24787         * gst-libs/gst/codecparsers/gstjpegparser.c:
24788           jpeg: compute default Huffman tables.
24789           ... instead of having them pre-calculated. This saves around 1.5 KB
24790           of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
24791           to do more work. Though, the client application may have to call that
24792           function at most once, only.
24793
24794 2012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24795
24796         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24797           display: drop VAProfileNone entries from debug messages.
24798
24799 2012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
24800
24801         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24802           display: query for supported display attributes.
24803           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24804
24805 2012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
24806
24807         * gst-libs/gst/vaapi/gstvaapiutils.c:
24808         * gst-libs/gst/vaapi/gstvaapiutils.h:
24809           utils: add string_of_VADisplayAttributeType() helper.
24810           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24811
24812 2012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24813
24814         * gst/vaapi/gstvaapisink.c:
24815           vaapisink: handle VA/DRM API.
24816           This is not useful in practice but for raw performance evaluation when
24817           the sink is invoked with display=drm sync=false. fakesink could also be
24818           used though.
24819
24820 2012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24821
24822         * gst/vaapi/Makefile.am:
24823         * gst/vaapi/gstvaapipluginutil.c:
24824           plugins: add support for headless pipelines.
24825
24826 2012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24827
24828         * tests/Makefile.am:
24829         * tests/output.c:
24830         * tests/test-display.c:
24831         * tests/test-windows.c:
24832           tests: add support for headless decoding.
24833
24834 2012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24835
24836         * NEWS:
24837         * configure.ac:
24838         * debian.upstream/Makefile.am:
24839         * debian.upstream/control.in:
24840         * debian.upstream/libgstvaapi-drm.install.in:
24841         * gst-libs/gst/vaapi/Makefile.am:
24842         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24843         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24844         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24845         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24846         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24847         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24848         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24849         * pkgconfig/Makefile.am:
24850         * pkgconfig/gstreamer-vaapi-drm.pc.in:
24851           Add initial support for VA/DRM.
24852
24853 2012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24854
24855         * configure.ac:
24856         * gst-libs/gst/vaapi/Makefile.am:
24857           Fix build without X11 (again).
24858           Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
24859           files list wrt. x11, glx and wayland backends.
24860
24861 2012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24862
24863         * configure.ac:
24864         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24865         * gst-libs/gst/vaapi/gstvaapicompat.h:
24866         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24867           jpeg: update to the latest VA-API changes (0.32.1+).
24868
24869 2012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24870
24871         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24872         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24873         * gst/vaapi/gstvaapisink.c:
24874           wayland: implement display ::get_size*() hooks.
24875
24876 2012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24877
24878         * gst/vaapi/gstvaapipluginutil.c:
24879           plugins: prefer X11 rendering over GLX.
24880           Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
24881           for rendering instead of texturing.
24882
24883 2012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
24884
24885         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24886           wayland: use scale fullscreen method.
24887           This makes the compositor scale the surface to fit and preserves aspect
24888           ratio.
24889           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24890
24891 2012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
24892
24893         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24894           wayland: respond to ping/pong protocol so we're not deemed unresponsive.
24895           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24896
24897 2012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24898
24899         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24900           wayland: fix double disconnect of display.
24901
24902 2012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24903
24904         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24905           wayland: mangle display name for cache lookups.
24906
24907 2012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24908
24909         * configure.ac:
24910         * debian.upstream/Makefile.am:
24911         * debian.upstream/control.in:
24912         * debian.upstream/libgstvaapi-wayland.install.in:
24913         * pkgconfig/Makefile.am:
24914         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
24915           wayland: add packaging files.
24916
24917 2012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24918
24919         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24920         * gst/vaapi/gstvaapipluginutil.c:
24921         * gst/vaapi/gstvaapisink.c:
24922         * pkgconfig/Makefile.am:
24923           Fix build without X11.
24924
24925 2012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24926
24927         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24928         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24929         * gst/vaapi/Makefile.am:
24930         * gst/vaapi/gstvaapipluginutil.c:
24931         * gst/vaapi/gstvaapisink.c:
24932           plugins: add support for Wayland.
24933
24934 2012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24935
24936         * tests/Makefile.am:
24937         * tests/output.c:
24938         * tests/test-display.c:
24939         * tests/test-windows.c:
24940           tests: add support for Wayland.
24941
24942 2012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24943
24944         * NEWS:
24945         * configure.ac:
24946         * gst-libs/gst/vaapi/Makefile.am:
24947         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24948         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24949         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24950         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24951         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24952         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24953           Add initial support for VA/Wayland.
24954           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24955
24956 2012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24957
24958         * gst/vaapi/gstvaapipluginbuffer.c:
24959           plugins: fix creation of video buffer from surface proxy.
24960           Fix a regression introduced with commit 8ef490a.
24961
24962 2012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24963
24964         * gst/vaapi/gstvaapipluginbuffer.c:
24965         * gst/vaapi/gstvaapipluginutil.c:
24966           plugins: use new display types more.
24967           In particular, simplify gst_vaapi_reply_to_query() with display types.
24968           Likewise for creating new video buffers.
24969
24970 2012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24971
24972         * gst/vaapi/gstvaapidecode.c:
24973         * gst/vaapi/gstvaapidownload.c:
24974         * gst/vaapi/gstvaapipluginutil.c:
24975         * gst/vaapi/gstvaapipluginutil.h:
24976         * gst/vaapi/gstvaapipostproc.c:
24977         * gst/vaapi/gstvaapisink.c:
24978         * gst/vaapi/gstvaapiupload.c:
24979           plugins: fix display type selection and propagation.
24980           If vaapisink is in the GStreamer pipeline, then we shall allocate a
24981           unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
24982           queries from vaapidecode shall get a valid answer from vaapisink.
24983
24984 2012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24985
24986         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24987           display: fix destruction of mutex.
24988
24989 2012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24990
24991         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24992         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24993         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24994         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24995         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24996         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24997         * gst/vaapi/gstvaapipluginutil.c:
24998         * gst/vaapi/gstvaapipluginutil.h:
24999         * gst/vaapi/gstvaapisink.c:
25000           display: add display types.
25001           Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
25002           we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
25003           type to "any", and add a "display-type" attribute.
25004
25005 2012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25006
25007         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25008           display: use prefixed display names for cache lookups.
25009           This improves display name comparisons by always allocating a valid display
25010           name. This also helps to disambiguate lookups by name in the global display
25011           cache, should a new backend be implemented.
25012
25013 2012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25014
25015         * gst/vaapi/gstvaapipluginutil.h:
25016           plugins: declare helper functions as internal.
25017
25018 2012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25019
25020         * docs/reference/libs/libs-sections.txt:
25021         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25022         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25023         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
25024         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25025         * gst/vaapi/Makefile.am:
25026         * gst/vaapi/gstvaapidecode.c:
25027         * gst/vaapi/gstvaapidownload.c:
25028         * gst/vaapi/gstvaapipluginbuffer.c:
25029         * gst/vaapi/gstvaapipluginbuffer.h:
25030         * gst/vaapi/gstvaapipostproc.c:
25031         * gst/vaapi/gstvaapiupload.c:
25032           videobuffer: drop deprecated functions.
25033           Move video buffer creation routines to plugin elements. That exclusively
25034           uses *_typed_new*() variants.
25035
25036 2012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25037
25038         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25039         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25040           videobuffer: mark video buffer creation routines as deprecated.
25041           The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
25042           plugin elements. So deprecate any explicit creation routines that are not the
25043           new *_typed_new*() variants.
25044
25045 2012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25046
25047         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25048         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
25049         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
25050           videobuffer: factor out base and GLX implementations.
25051           Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
25052           This avoids duplication of code, and makes it possible to further implement
25053           generic video buffer creation routines that automatically map to base or GLX
25054           variants.
25055
25056 2012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25057
25058         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25059           utils: fix gl_create_context() with parent context set.
25060           If GLX window was created from a foreign Display, then that same Display shall
25061           be used for subsequent glXMakeCurrent(). This means that gl_create_context()
25062           will now use the same Display that the parent, if available.
25063           This fixes cluttersink with the Intel GenX VA driver.
25064
25065 2012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25066
25067         * gst/vaapi/gstvaapidecode.c:
25068         * gst/vaapi/gstvaapidownload.c:
25069         * gst/vaapi/gstvaapipluginutil.c:
25070         * gst/vaapi/gstvaapipluginutil.h:
25071         * gst/vaapi/gstvaapipostproc.c:
25072         * gst/vaapi/gstvaapisink.c:
25073         * gst/vaapi/gstvaapiupload.c:
25074           pluginutils: improve automatic display type selection.
25075
25076 2012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25077
25078         * gst/vaapi/gstvaapipluginutil.c:
25079         * gst/vaapi/gstvaapipluginutil.h:
25080           pluginutils: cosmetics (indentation fixes).
25081
25082 2012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25083
25084         * configure.ac:
25085           configure: simplify video outputs summary.
25086
25087 2012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25088
25089         * configure.ac:
25090         * gst/vaapi/gstvaapipluginutil.c:
25091         * gst/vaapi/gstvaapipluginutil.h:
25092         * gst/vaapi/gstvaapisink.c:
25093         * gst/vaapi/gstvaapisink.h:
25094           configure: drop check for --enable-vaapisink-glx.
25095           vaapisink is now built with support for multiple display types, whenever
25096           they are enabled. The new "display" attribute is used to select a particular
25097           renderer.
25098
25099 2012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25100
25101         * configure.ac:
25102         * gst-libs/gst/vaapi/gstvaapicompat.h:
25103         * gst/vaapi/Makefile.am:
25104         * gst/vaapi/gstvaapidecode.c:
25105         * gst/vaapi/gstvaapidownload.c:
25106         * gst/vaapi/gstvaapipluginutil.c:
25107         * gst/vaapi/gstvaapipostproc.c:
25108         * gst/vaapi/gstvaapiupload.c:
25109         * tests/test-display.c:
25110           configure: drop check for --enable-vaapi-glx.
25111           This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
25112           support, or fallback to TFP+FBO if this API is not found. Now, we check for
25113           the VA/GLX API by default if --enable-glx is set. If this API is not found,
25114           we now default to use TFP+FBO.
25115           Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
25116           will be removed in the future. If GLX rendering is requested, then the VA/GLX
25117           API shall be used as it covers most usages. e.g. AMD driver can't render to
25118           an X pixmap yet.
25119
25120 2012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25121
25122         * tests/output.c:
25123           tests: allow GLX output, if available and selected.
25124
25125 2012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25126
25127         * tests/Makefile.am:
25128         * tests/output.c:
25129         * tests/output.h:
25130         * tests/test-decode.c:
25131         * tests/test-subpicture.c:
25132         * tests/test-surfaces.c:
25133           tests: use common display and window creation routines.
25134           Add new --output option to select the renderer. Use --list-outputs to
25135           print a list of supported renderers.
25136
25137 2012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25138
25139         * tests/Makefile.am:
25140           tests: move encoded bitstreams to libutils.la.
25141
25142 2012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25143
25144         * tests/Makefile.am:
25145           tests: build convenience library for common utilities.
25146
25147 2012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25148
25149         * tests/Makefile.am:
25150         * tests/test-display.c:
25151           tests: simplify build with various display options.
25152
25153 2012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25154
25155         * configure.ac:
25156           configure: improve checks for X11.
25157
25158 2012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25159
25160         * tests/Makefile.am:
25161           configure: fix previous commit for GLX deps.
25162
25163 2012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25164
25165         * configure.ac:
25166         * gst-libs/gst/vaapi/Makefile.am:
25167           configure: improve checks for GLX.
25168
25169 2012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25170
25171         * configure.ac:
25172         * gst-libs/gst/vaapi/gstvaapicompat.h:
25173         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25174         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
25175         * gst-libs/gst/vaapi/gstvaapiutils.h:
25176           Drop support for obsolete VA-API versions < 0.30.4.
25177
25178 2012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25179
25180         * configure.ac:
25181         * gst-libs/gst/Makefile.am:
25182         * gst-libs/gst/gstutils_version.h.in:
25183         * gst/vaapi/gstvaapisink.c:
25184           vaapisink: drop checks for new APIs used by default.
25185           GStreamer -base plugins >= 0.10.31 are now required, so the checks for
25186           new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
25187           are no longer necessary.
25188
25189 2012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25190
25191         * configure.ac:
25192           configure: cosmetics and some minor changes.
25193           - Better grouping of feature checks
25194           - Sort list of config files to generate
25195
25196 2012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25197
25198         * configure.ac:
25199         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25200         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
25201         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25202         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25203         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
25204         * gst-libs/gst/vaapi/gstvaapiutils.h:
25205         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
25206         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
25207           Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
25208
25209 2012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25210
25211         * gst-libs/gst/vaapi/Makefile.am:
25212         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
25213         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
25214           Drop obsolete GstVaapiTSB.
25215           It has been replaced with a GstAdapter and gst_adapter_prev_pts().
25216
25217 2012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25218
25219         * docs/reference/libs/libs-sections.txt:
25220           docs: add missing entries for the JPEG decoder.
25221
25222 2012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25223
25224         * configure.ac:
25225         * gst-libs/gst/vaapi/Makefile.am:
25226         * gst/vaapi/gstvaapidecode.c:
25227         * tests/test-decode.c:
25228         * tests/test-subpicture.c:
25229           Drop all references to USE_CODEC_PARSERS.
25230
25231 2012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25232
25233         * NEWS:
25234         * configure.ac:
25235         * docs/reference/libs/libs-sections.txt:
25236         * docs/reference/libs/libs.core.types:
25237         * gst-libs/gst/vaapi/Makefile.am:
25238         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25239         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
25240         * gst/vaapi/gstvaapidecode.c:
25241         * gst/vaapi/gstvaapidecode.h:
25242         * tests/test-decode.c:
25243         * tests/test-subpicture.c:
25244           Drop FFmpeg-based decoders.
25245           GStreamer codecparsers-based decoders are the only supported decoders now.
25246           Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
25247
25248 2012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
25249
25250         * configure.ac:
25251         * debian.upstream/control.in:
25252           configure: bump glib required version to 2.28.
25253           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25254
25255 2012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
25256
25257         * gst/vaapi/gstvaapidecode.h:
25258         * gst/vaapi/gstvaapidownload.h:
25259         * gst/vaapi/gstvaapipostproc.h:
25260         * gst/vaapi/gstvaapisink.h:
25261         * gst/vaapi/gstvaapiupload.h:
25262           plugins: declare _get_type() functions as const.
25263           Declaring a function as const enables better optimization of calls to
25264           the function.
25265           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25266
25267 2012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
25268
25269         * gst/vaapi/gstvaapidecode.c:
25270         * gst/vaapi/gstvaapidownload.c:
25271         * gst/vaapi/gstvaapipostproc.c:
25272         * gst/vaapi/gstvaapisink.c:
25273         * gst/vaapi/gstvaapiupload.c:
25274           plugins: use g_clear_object() wherever applicable.
25275           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25276
25277 2012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
25278
25279         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25280         * gst-libs/gst/vaapi/gstvaapicontext.h:
25281         * gst-libs/gst/vaapi/gstvaapidecoder.h:
25282         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
25283         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
25284         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
25285         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
25286         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
25287         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
25288         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25289         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
25290         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25291         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
25292         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
25293         * gst-libs/gst/vaapi/gstvaapiimage.h:
25294         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
25295         * gst-libs/gst/vaapi/gstvaapiobject.h:
25296         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
25297         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
25298         * gst-libs/gst/vaapi/gstvaapisurface.h:
25299         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
25300         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25301         * gst-libs/gst/vaapi/gstvaapitexture.h:
25302         * gst-libs/gst/vaapi/gstvaapivalue.h:
25303         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25304         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25305         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
25306         * gst-libs/gst/vaapi/gstvaapivideopool.h:
25307         * gst-libs/gst/vaapi/gstvaapivideosink.h:
25308         * gst-libs/gst/vaapi/gstvaapiwindow.h:
25309         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
25310         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
25311           libs: declare _get_type() functions as const.
25312           Declaring a function as const enables better optimization of calls
25313           to the function.
25314           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25315
25316 2012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
25317
25318         * gst-libs/gst/vaapi/glibcompat.h:
25319         * gst-libs/gst/vaapi/gstvaapicontext.c:
25320         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25321         * gst-libs/gst/vaapi/gstvaapiobject.c:
25322         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25323         * gst-libs/gst/vaapi/gstvaapisurface.c:
25324         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25325         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25326         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25327         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25328           libs: use g_clear_object() wherever applicable.
25329           This is a preferred thread-safe version. Also add an inline version of
25330           g_clear_object() if compiling with glib < 2.28.
25331           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25332
25333 2012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
25334
25335         * .gitignore:
25336         * configure.ac:
25337         * docs/reference/libs/Makefile.am:
25338         * gst-libs/gst/vaapi/Makefile.am:
25339         * gst-libs/gst/vaapi/gstvaapimarshal.list:
25340         * gst-libs/gst/vaapi/gstvaapiobject.c:
25341           libs: use generic g_cclosure_marshal_VOID__VOID().
25342           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25343
25344 2012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25345
25346         * configure.ac:
25347         * gst-libs/gst/vaapi/glibcompat.h:
25348           glibcompat: drop explicit check for g_list_free_full().
25349
25350 2012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25351
25352         * configure.ac:
25353           Bump version for development.
25354
25355 2012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25356
25357         * gst-libs/gst/codecparsers/Makefile.am:
25358           jpeg: fix make dist.
25359
25360 2012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
25361
25362         * autogen.sh:
25363         * configure.ac:
25364         * docs/Makefile.am:
25365           configure: fix build without gtk-doc support.
25366           Also do not generate tamplate files as all the documentation is inline.
25367           Drop un-needed code in autogen.sh as well.
25368           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25369
25370 2012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
25371
25372         * Makefile.am:
25373         * autogen.sh:
25374         * configure.ac:
25375           configure: put m4 macros and autogenerated files into m4/ directory.
25376           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25377
25378 2012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
25379
25380         * configure.ac:
25381           configure: drop deprecated autoconf macros.
25382           Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
25383           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25384
25385 2012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
25386
25387         * configure.ac:
25388           configure: don't use AC_SUBST for some variables.
25389           PKG_CHECK_MODULES already does this for us.
25390           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25391
25392 2012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25393
25394         * gst/vaapi/gstvaapidecode.c:
25395         * gst/vaapi/gstvaapidownload.c:
25396         * gst/vaapi/gstvaapipostproc.c:
25397         * gst/vaapi/gstvaapiupload.c:
25398           plugins: add support for GstImplementsInterface.
25399
25400 2012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
25401
25402         * configure.ac:
25403         * gst/vaapi/gstvaapidecode.c:
25404         * gst/vaapi/gstvaapidownload.c:
25405         * gst/vaapi/gstvaapipostproc.c:
25406         * gst/vaapi/gstvaapisink.c:
25407         * gst/vaapi/gstvaapiupload.c:
25408           plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
25409           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25410
25411 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
25412
25413         * configure.ac:
25414         * gst/vaapi/gstvaapisink.c:
25415           plugins: do not use deprecated GStreamer -base symbols.
25416           Bump GStreamer plugins -base required version to 0.10.31, needed for
25417           gst_x_overlay_got_window_handle().
25418           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25419
25420 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
25421
25422         * configure.ac:
25423         * gst/vaapi/gstvaapidecode.c:
25424         * gst/vaapi/gstvaapidownload.c:
25425         * gst/vaapi/gstvaapipostproc.c:
25426         * gst/vaapi/gstvaapisink.c:
25427         * gst/vaapi/gstvaapiupload.c:
25428           plugins: do not use deprecated core GStreamer symbols.
25429           Bump GStreamer required version to 0.10.14, needed for
25430           gst_element_class_set_details_simple().
25431           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25432
25433 2012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25434
25435         * tests/test-decode.c:
25436           tests: fix build without JPEG decoder support.
25437
25438 2012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25439
25440         * tests/Makefile.am:
25441         * tests/test-decode.c:
25442         * tests/test-jpeg.c:
25443         * tests/test-jpeg.h:
25444           tests: add test for JPEG decoding.
25445
25446 2012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25447
25448         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25449           jpeg: update to match latest parser API.
25450
25451 2012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25452
25453         * gst-libs/gst/codecparsers/gstjpegparser.c:
25454         * gst-libs/gst/codecparsers/gstjpegparser.h:
25455           codecparsers: jpeg: tweak parser API.
25456           ... to allow for more consistent parsing API among various codec parsers.
25457           In particular, drop use of GList.
25458
25459 2012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25460
25461         * configure.ac:
25462           jpeg: fix configure check for VA/JPEG decoding API.
25463
25464 2012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25465
25466         * gst-libs/gst/vaapi/gstvaapiprofile.c:
25467           jpeg: fix build with VA-API < 0.32.0.
25468
25469 2012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25470
25471         * NEWS:
25472           NEWS: updates.
25473
25474 2012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25475
25476         * configure.ac:
25477           Bump version for development.
25478
25479 2012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25480
25481         * NEWS:
25482         * configure.ac:
25483           0.3.7.
25484
25485 2012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25486
25487         * NEWS:
25488           NEWS: updates.
25489
25490 2012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
25491
25492         * gst/vaapi/gstvaapipluginutil.c:
25493           vaapiplugin: fix build when compiling without GLX.
25494           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25495
25496 2012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25497
25498         * configure.ac:
25499           configure: disable FFmpeg-based decoders.
25500           FFmpeg decoders are still available through the --enable-ffmpeg option
25501           but are no longer maintained.
25502
25503 2012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25504
25505         * gst-libs/gst/vaapi/Makefile.am:
25506           Fix build with recent GStreamer stack.
25507
25508 2012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25509
25510         * configure.ac:
25511         * gst-libs/gst/vaapi/gstvaapicompat.h:
25512         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25513           jpeg: update to current VA/JPEG decoding API.
25514
25515 2012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25516
25517         * gst-libs/gst/codecparsers/gstjpegparser.c:
25518         * gst-libs/gst/codecparsers/gstjpegparser.h:
25519         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25520           codecparsers: jpeg: track valid quantization and Huffman tables.
25521           Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
25522           to determine whether a table actually changed since the last user
25523           synchronization point. That way, this makes it possible for some
25524           hardware accelerated decoding solution to upload only those tables
25525           that changed.
25526
25527 2012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
25528
25529         * gst-libs/gst/codecparsers/gstjpegparser.c:
25530           codecparsers: jpeg: use U_READ_UINT*() wherever possible.
25531           Use GstByteReader *_unchecked() variants as much as possible.
25532           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25533
25534 2012-06-04 16:20:13 +0800  Wind Yuan <feng.yuan@intel.com>
25535
25536         * gst-libs/gst/codecparsers/gstjpegparser.c:
25537         * gst-libs/gst/codecparsers/gstjpegparser.h:
25538         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25539           jpeg: add new GstJpegHuffmanTables structure.
25540           Add new GstJpegHuffmanTables helper structure to hold all possible
25541           AC/DC Huffman tables available to all components.
25542           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25543
25544 2012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
25545
25546         * gst-libs/gst/codecparsers/gstjpegparser.c:
25547         * gst-libs/gst/codecparsers/gstjpegparser.h:
25548         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25549           jpeg: make gst_jpeg_parse() support multiple scans.
25550           gst_jpeg_parse() now gathers all scans available in the supplied
25551           buffer. A scan comprises of the scan header and any entropy-coded
25552           segments or restart marker following it. The size and offset to
25553           the associated data (ECS + RST segments) are append to a new
25554           GstJpegScanOffsetSize structure.
25555           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25556
25557 2012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
25558
25559         * gst-libs/gst/codecparsers/gstjpegparser.c:
25560         * gst-libs/gst/codecparsers/gstjpegparser.h:
25561         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25562           jpeg: update to match latest parser API.
25563           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25564
25565 2012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25566
25567         * gst-libs/gst/codecparsers/gstjpegparser.h:
25568           jpeg: simplify and optimize parser API.
25569
25570 2012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
25571
25572         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25573           mpeg: fix picture used to determine backward_reference_vop_coding_type.
25574           Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
25575           but Gwenole did not apply all the bits.
25576           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25577
25578 2012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
25579
25580         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25581           mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
25582           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25583
25584 2012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
25585
25586         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25587           mpeg4: handle skipped frames (vop_hdr->coded = 0).
25588           Gracefully skip non VOP coded frames.
25589           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25590
25591 2012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
25592
25593         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25594           mpeg4: fix timestamp issues on too fast playback.
25595           Improve generation of presentation timestamps to be less sensitive
25596           to input stream errors. In practise, GOP is also a synchronization
25597           point for PTS calculation.
25598           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25599
25600 2012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25601
25602         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
25603           Fix build without JPEG decoder.
25604
25605 2012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
25606
25607         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25608           mpeg4: fix VOP coding type of backward reference pictures.
25609           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25610
25611 2012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
25612
25613         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25614           mpeg4: fix handling of temporal reference distances.
25615           TRD and TRB fields are not large enough to hold the difference of PTS
25616           expressed with nanosecond resolution. So, compute them from the original
25617           VOP info.
25618           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25619
25620 2012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25621
25622         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25623           dpb: mpeg2: cosmetics.
25624           Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
25625
25626 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
25627
25628         * configure.ac:
25629         * gst-libs/gst/vaapi/Makefile.am:
25630         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
25631         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25632         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25633         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
25634         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25635         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25636         * gst-libs/gst/vaapi/gstvaapiprofile.c:
25637         * gst-libs/gst/vaapi/gstvaapiprofile.h:
25638         * gst/vaapi/gstvaapidecode.c:
25639           Add initial JPEG decoder.
25640           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25641
25642 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
25643
25644         * configure.ac:
25645         * gst-libs/gst/Makefile.am:
25646         * gst-libs/gst/codecparsers/Makefile.am:
25647         * gst-libs/gst/codecparsers/gstjpegparser.c:
25648         * gst-libs/gst/codecparsers/gstjpegparser.h:
25649         * gst-libs/gst/vaapi/Makefile.am:
25650           codecparsers: add JPEG parser.
25651           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25652
25653 2012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
25654
25655         * gst/vaapi/gstvaapidecode.c:
25656           vaapidecode: fix VA display type.
25657           Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
25658           wrapper.
25659           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25660
25661 2012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25662
25663         * gst/vaapi/gstvaapidecode.c:
25664           vaapidecode: fix includes when compiling for a single API.
25665
25666 2012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25667
25668         * NEWS:
25669         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25670           mpeg2: fix calculation of macroblock_offset.
25671           Fix decoding of streams with extra slice() information before the first
25672           macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
25673
25674 2012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25675
25676         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25677           mpeg2: fix interpolation of GOP TSN from new PTS.
25678           New GOP TSN base could be mis-calculated. In particular, this fixes
25679           decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
25680
25681 2012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25682
25683         * NEWS:
25684         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25685         * gst-libs/gst/vaapi/gstvaapiprofile.h:
25686           mpeg2: fix decoding of high profile streams.
25687           Allow MPEG-2 High profile streams only if the HW supports that profile
25688           or no High profile specific bits are used, and thus Main profile could
25689           be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
25690           set to 11 and no sequence_scalable_extension() was parsed.
25691
25692 2012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25693
25694         * NEWS:
25695         * gst/vaapi/gstvaapidecode.c:
25696           vaapidecode: report unsupported codec profiles.
25697           Try to gracefully abort when the HW does not support the requested
25698           profile. There is no fallback unless profiles are correctly parsed
25699           and matched through caps beforehand.
25700
25701 2012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
25702
25703         * NEWS:
25704         * gst/vaapi/gstvaapisink.c:
25705           vaapisink: don't resize a 'foreign' X-window.
25706           Don't forcibly resize foreign X windows. The user is responsible for
25707           their size and vaapisink shall not change this.
25708           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25709
25710 2012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
25711
25712         * NEWS:
25713         * gst/vaapi/gstvaapisink.c:
25714         * gst/vaapi/gstvaapisink.h:
25715           vaapisink: recalculate render rect only if caps are negotiated.
25716           Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
25717           caps got negotiated. Besides, when a foreign window is provided by the
25718           user, so should the render rect.
25719           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25720
25721 2012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25722
25723         * configure.ac:
25724           Bump version for development.
25725
25726 === release 0.3.6 ===
25727
25728 2012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25729
25730         * configure.ac:
25731           0.3.6.
25732
25733 2012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25734
25735         * docs/reference/libs/libs-docs.xml.in:
25736         * docs/reference/libs/libs-sections.txt:
25737         * docs/reference/plugins/plugins-docs.xml.in:
25738         * docs/reference/plugins/plugins-sections.txt:
25739         * docs/reference/plugins/plugins.types:
25740         * gst-libs/gst/vaapi/gstvaapiimage.c:
25741         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25742         * gst/vaapi/gstvaapipostproc.c:
25743           Fix a few documentation issues.
25744
25745 2012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25746
25747         * NEWS:
25748         * README:
25749           Update introduction and changelog.
25750
25751 2012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25752
25753         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25754         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
25755         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25756           mpeg2: allocate dummy picture for first field based I-frame.
25757           In P-pictures, prediction shall be made from the two most recently
25758           decoded reference fields. However, when the first I-frame is a field,
25759           the next field of the current picture could be a P-picture but only a
25760           single field was decoded so far. In this case, create a dummy picture
25761           with POC = -1 that will be used as reference.
25762           Some VA drivers would error out if P-pictures don't have a forward
25763           reference picture. This is true in general but not in this very specific
25764           initial case.
25765
25766 2012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25767
25768         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25769           mpeg2: fix simple to main profile fallback.
25770           Allow fallback from simple to main profile when the HW decoder does
25771           not support the former profile and that no sequence_header_extension()
25772           is available to point out this.
25773
25774 2012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
25775
25776         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25777           mpeg4: improve error checking while decoding packets.
25778           decode_picture() could return an error when an MPEG-4 profile is not
25779           supported for example. In this case, the underlying VA context is not
25780           allocated and no other proper action can be taken. Likewise on exit
25781           from decode_slice().
25782           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25783
25784 2012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25785
25786         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25787         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25788         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25789         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25790           decoder: use POC to maintain the DPB.
25791           Introduce a POC field in GstVaapiPicture so that to store simpler sequential
25792           numbers. A signed 32-bit integer should be enough for 1 year of continuous
25793           video streaming at 60 Hz.
25794           Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
25795           This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
25796
25797 2012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25798
25799         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25800           mpeg2: rework generation of presentation timestamps.
25801           Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
25802           i.e. demuxer could not determine the PTS or the generated PTS is lower than
25803           max PTS from past pictures, then try to fix it up based on the duration of
25804           a frame.
25805           For picture PTS, simply use the GOP PTS formerly computed then use TSN to
25806           reconstruct a current time. Also now handle wrapped TSN correctly.
25807
25808 2012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25809
25810         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25811           mpeg2: ignore empty user-data packets.
25812           Fix tcela-8.bits conformance test.
25813
25814 2012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25815
25816         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25817           mpeg2: review and report errors accordingly.
25818           Use GST_ERROR() to report real errors instead of hiding them into
25819           GST_DEBUG().
25820
25821 2012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25822
25823         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25824           mpeg2: fix invalid interlaced frame in progressive sequence.
25825           Some streams, badly constructed, could have signaled an interlaced
25826           frame while the sequence was meant to be progressive. Warn and force
25827           frame to be progressive in this case.
25828
25829 2012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25830
25831         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25832         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25833           mpeg2: add support for interlaced streams.
25834           Pictures are submitted to the HW for rendering only when both fields
25835           are decoded or current picture is a full frame.
25836
25837 2012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25838
25839         * gst-libs/gst/vaapi/Makefile.am:
25840         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25841         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
25842         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25843           mpeg2: add new decoded picture buffer infrastructure.
25844           Decoded pictures are now maintained into DPB, similarly to H.264.
25845           The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
25846
25847 2012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25848
25849         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25850         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25851         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25852           decoder: add first-field flag to picture.
25853           Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
25854           member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
25855           as the first field. Any subsequent allocated field will become the second field.
25856
25857 2012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25858
25859         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
25860         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
25861         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25862         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25863           decoder: allow pictures to be cloned for field decoding.
25864           Add gst_vaapi_picture_new_field() function that clones a picture, while
25865           preserving the parent picture surface. i.e. the surface proxy reference
25866           count is increased and other fields copied as is. Besides, the picture
25867           is reset into a "non-output" mode.
25868
25869 2012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25870
25871         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25872         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25873         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25874           decoder: rework picture field flags.
25875           Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
25876           could be propagated to the surface proxy when it is pushed for rendering.
25877           Besides, top and bottom fields are now expressed with picture structure flags
25878           from GstVaapiSurfaceRenderFlags.
25879
25880 2012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25881
25882         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25883         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25884           decoder: add OUTPUT flag to pictures.
25885           Allow pictures to be marked as output gst_vaapi_picture_output().
25886
25887 2012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25888
25889         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25890         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
25891         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25892           decoder: fix semantics of SKIPPED pictures.
25893           If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
25894           will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
25895           has nothing to do with rendering. This only means that the currently decoded
25896           picture is just a copy of its reference picture.
25897
25898 2012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25899
25900         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25901         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25902         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25903         * gst/vaapi/gstvaapipostproc.c:
25904           vaapipostproc: get "interlaced" attribute from surface proxy.
25905           Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
25906           vaapipostproc so that to handles cases where bitstream is interlaced
25907           but almost only frame pictures are generated. In this case, we should
25908           not be alternating between top/bottom fields.
25909
25910 2012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25911
25912         * README:
25913         * debian.upstream/control.in:
25914         * gst/vaapi/Makefile.am:
25915         * gst/vaapi/gstvaapi.c:
25916         * gst/vaapi/gstvaapipostproc.c:
25917         * gst/vaapi/gstvaapipostproc.h:
25918           vaapipostproc: add new element for video postprocessing.
25919           Add vaapipostproc element for video postprocessing. So far, only basic
25920           bob deinterlacing is implemented. Interlaced mode is automatically
25921           detected based on sink caps ("interlaced" field).
25922
25923 2012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25924
25925         * docs/reference/libs/libs-sections.txt:
25926         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25927         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25928         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25929         * gst/vaapi/gstvaapisink.c:
25930           videobuffer: add surface render flags.
25931           Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
25932           to be set to the video buffer. In particular, this is mostly useful for
25933           basic deinterlacing.
25934
25935 2012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25936
25937         * gst-libs/gst/vaapi/gstvaapicompat.h:
25938           compat: add compatibility glue with VA-API 0.34+ (WIP).
25939
25940 2012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25941
25942         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25943           h264: skip all Filler Data NALs.
25944
25945 2012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
25946
25947         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25948           mpeg4: check for decoder status prior to decoding packet.
25949           Make sure there is a VA surface free prior to decoding the current frame.
25950           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25951
25952 2012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
25953
25954         * gst/vaapi/gstvaapidecode.c:
25955         * gst/vaapi/gstvaapidecode.h:
25956           decode: delay NEWSEGMENT event if vaapidecode element was not linked.
25957           Rationale: playbin2 links all elements at run-time. Once vaapidecode
25958           is created and a NEWSEGMENT event arrives, downstream element may not
25959           be ready yet. So, delay this event until next element is chained in,
25960           otherwise basesink could output "Received buffer without a new-segment.
25961           Assuming timestamps start from 0".
25962           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25963
25964 2012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
25965
25966         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25967           mpeg2: fix GOP timestamps when incorrect data is received.
25968           Some streams have incorrect GOP timestamps, or nothing set at all.
25969           i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
25970           from demuxer timestamps, which are monotonic.
25971           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25972
25973 2012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
25974
25975         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25976           mpeg2: don't decode anything before the first sequence_header().
25977           Skip all pictures prior to the first sequence_header(). Besides,
25978           skip all picture_data() if there was no prior picture_header().
25979           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25980
25981 2012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
25982
25983         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25984           ffmpeg: add support for interlaced streams.
25985           Evaluate interlaced stream properties.
25986           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25987
25988 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
25989
25990         * gst/vaapi/gstvaapidecode.c:
25991           vaapidecode: propagate interlaced and TFF properties downstream.
25992           Propagate "interlaced" caps downstream and set "tff" buffer flag
25993           appropriately to output buffers for interlaced pictures.
25994           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25995
25996 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
25997
25998         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25999         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26000           decoder: maintain caps for interlaced streams.
26001           Extend GstVaapiDecoder base object to maintain caps with "interlaced"
26002           property.
26003           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26004
26005 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
26006
26007         * docs/reference/libs/libs-sections.txt:
26008         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26009         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26010           surfaceproxy: add TFF property.
26011           Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
26012           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26013
26014 2012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26015
26016         * AUTHORS:
26017           AUTHORS: update to match current authors.
26018
26019 2012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26020
26021         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26022           mpeg2: fix is_first_field calculation.
26023           Reset is_first_field for frame pictures. Factor out locations where
26024           the flag is updated.
26025
26026 2012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26027
26028         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26029           mpeg2: catch incorrect picture_structure from bitstreams.
26030           Assume "frame" picture structure if the syntax element was zero or if
26031           progressive_frame is set.
26032
26033 2012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26034
26035         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26036           mpeg2: fix slice_vertical_position calculation (again).
26037           VA-API expects slice_vertical_position as the initial position from the
26038           bitstream. i.e. the direct slice() information. VA drivers will be fixed
26039           accordingly.
26040
26041 === release 0.3.5 ===
26042
26043 2012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26044
26045         * gst/vaapi/gstvaapidecode.c:
26046           Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
26047           This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
26048           For gst_element_class_get_pad_template(), no unreferencing is necessary
26049           according to the GStreamer documentation.
26050
26051 2012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26052
26053         * configure.ac:
26054         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26055           h264: fix slice_data_bit_offset calculation.
26056           Unlike what VA-API documentation defines, the slice_data_bit_offset
26057           represents the offset to the first macroblock in the slice data, minus
26058           any emulation prevention bytes in the slice_header().
26059           This fix copes with binary-only VA drivers that won't be fixed any
26060           time soon. Besides, this aligns with the current FFmpeg behaviour
26061           that was based on those proprietary drivers implementing the API
26062           incorrectly.
26063
26064 2012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
26065
26066         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26067           h264: skip all Access Unit (AU) NALs.
26068           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26069
26070 2012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
26071
26072         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26073           h264: fix modification process of reference picture lists.
26074           Construction of RefPicList0/1 could be off by one element.
26075           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26076
26077 2012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26078
26079         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26080           mpeg2: fix size calculation from sequence_extension().
26081           Original values from sequence_header() are 12-bit and the remaining
26082           2 most significant bits are coming from sequence_extension().
26083           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26084
26085 2012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26086
26087         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26088           mpeg2: fix slice_vertical_position calculation.
26089           Make sure to adjust slice_vertical_position if picture structure
26090           is a top or bottom field.
26091
26092 2012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26093
26094         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26095           decoder: add picture structure flags.
26096
26097 2012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26098
26099         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26100           mpeg2: fix decoding at end-of-sequence.
26101
26102 2012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26103
26104         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26105           mpeg2: fix slice_horizontal_position calculation.
26106
26107 2012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26108
26109         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26110           mpeg2: drop useless mb_y and mb_height members.
26111
26112 2012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26113
26114         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26115           mpeg2: fix decoding of multiple slices with same slice_vertical_position.
26116           6.3.15 says that "some slices may have the same slice_vertical_position,
26117           since slices may start and finish anywhere". So, we can't submit the current
26118           picture to the HW right away since subsequent slices would be missing.
26119
26120 2012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26121
26122         * gst-libs/gst/vaapi/gstvaapiimage.c:
26123           image: fix source stride in picture copy.
26124
26125 2012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26126
26127         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26128           decoder: fix double buffer free with some VA drivers.
26129           vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
26130           push the VA buffer object into a list of free buffers to be re-used. However,
26131           reference pictures (and data) that was kept would explicitly release the VA
26132           buffer object later on, thus possibly destroying a valid (re-used) object.
26133           Besides, some other VA drivers don't support correctly the vaRenderPicture()
26134           semantics for VA buffers disposal and would leak memory if there is no explicit
26135           vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
26136           right after vaRenderPicture(). All VA drivers need to be aligned.
26137
26138 2012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26139
26140         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26141           h264: complete any current picture decoder before SPS / PPS change.
26142           This ensures the VA context is clear when the encoded resolution
26143           changes. i.e. make sure older picture is decoded with the older
26144           VA context before it changes.
26145
26146 2012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26147
26148         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26149           h264: create VA context earlier when SPS is parsed.
26150
26151 2012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26152
26153         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26154           h264: don't allocate too big data structures on stack.
26155
26156 2012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26157
26158         * gst-libs/gst/vaapi/glibcompat.h:
26159         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26160         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26161           glib: map deprecated API to glib >= 2.32 equivalents.
26162           GStaticMutex and GStaticRecMutex are now replaced with GMutex and
26163           GRecMutex, which no longer require any prior call to g_thread_init().
26164
26165 2012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26166
26167         * gst-libs/gst/vaapi/gstvaapiutils.h:
26168         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
26169         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
26170           glib: fix includes.
26171
26172 2012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26173
26174         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26175         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26176         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26177         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26178           cosmetics: fix warnings (drop unused variables).
26179
26180 2012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26181
26182         * gst/vaapi/gstvaapidecode.c:
26183           vaapidecode: fix another pad template ref leak.
26184
26185 2012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26186
26187         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26188         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26189         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26190           mpeg2: fix crash when there is no free surface to decode into.
26191
26192 2012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
26193
26194         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26195           display: skip profiles which have no entrypoints.
26196           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26197
26198 2012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26199
26200         * gst/vaapi/gstvaapiupload.c:
26201           vaapiupload: use g_object_unref() for GstVaapiImage.
26202
26203 2012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26204
26205         * gst/vaapi/gstvaapidecode.c:
26206         * gst/vaapi/gstvaapidownload.c:
26207         * gst/vaapi/gstvaapisink.c:
26208         * gst/vaapi/gstvaapiupload.c:
26209           plugins: fix pad template ref leaks.
26210
26211 2012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26212
26213         * configure.ac:
26214           Bump version for development.
26215
26216 === release 0.3.4 ===
26217
26218 2012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26219
26220         * NEWS:
26221         * configure.ac:
26222           0.3.4.
26223
26224 2012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26225
26226         * README:
26227           README: updates.
26228           Mention codecparsers-based decoders, FFmpeg is now optional. Update
26229           list of support HW.
26230
26231 2012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26232
26233         * NEWS:
26234           NEWS: updates.
26235
26236 2012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26237
26238         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26239           decoder: allocate proxy surface earlier.
26240           This simplifies gst_vaapi_picture_output() to only update the presentation
26241           timestamp and submit the proxy to the decoder for output.
26242
26243 2012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26244
26245         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26246           decoder: fix memory leak of VA objects on exit.
26247           On sequence end, if the last decoded picture is not output for rendering,
26248           then the proxy surface is not created. In this case, the original surface
26249           must be released explicitly to the context.
26250
26251 2012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26252
26253         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26254           mpeg2: use GstAdapter to track input sequence.
26255           This fixes possible memory leaks and improves performance by removing
26256           some extra copies.
26257
26258 2012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26259
26260         * configure.ac:
26261         * gst-libs/gst/vaapi/Makefile.am:
26262         * gst-libs/gst/vaapi/glibcompat.h:
26263         * gst-libs/gst/vaapi/sysdeps.h:
26264           Add glib compatibility glue for older versions.
26265
26266 2012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26267
26268         * gst-libs/gst/vaapi/Makefile.am:
26269         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26270         * gst-libs/gst/vaapi/gstvaapicontext.c:
26271         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26272         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26273         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26274         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26275         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26276         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26277         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26278         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26279         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26280         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26281         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26282         * gst-libs/gst/vaapi/gstvaapiimage.c:
26283         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26284         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26285         * gst-libs/gst/vaapi/gstvaapiobject.c:
26286         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26287         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26288         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26289         * gst-libs/gst/vaapi/gstvaapisurface.c:
26290         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26291         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26292         * gst-libs/gst/vaapi/gstvaapitexture.c:
26293         * gst-libs/gst/vaapi/gstvaapiutils.c:
26294         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26295         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
26296         * gst-libs/gst/vaapi/gstvaapivalue.c:
26297         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26298         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
26299         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
26300         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26301         * gst-libs/gst/vaapi/gstvaapivideosink.c:
26302         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26303         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26304         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26305         * gst-libs/gst/vaapi/sysdeps.h:
26306           Add header for system-dependent definitions.
26307
26308 2012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26309
26310         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26311         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26312         * gst-libs/gst/vaapi/gstvaapiutils.c:
26313         * gst-libs/gst/vaapi/gstvaapiutils.h:
26314           decoder: optimize slice data buffers initialization.
26315           VA drivers may have a faster means to transfer user buffers to GPU
26316           buffers than using memcpy(). In particular, on Intel Gen graphics, we
26317           can use pwrite(). This provides for faster upload of bitstream and can
26318           help higher bitrates.
26319           vaapi_create_buffer() helper function was also updated to allow for
26320           un-mapped buffers and pre-initialized data for buffers.
26321
26322 2012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26323
26324         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26325           h264: simplify RefPicList reconstruction.
26326
26327 2012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26328
26329         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26330           h264: flush DPB when the end of the sequence is reached.
26331
26332 2012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26333
26334         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26335           h264: handle Decoded Picture Buffer (DPB).
26336
26337 2012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26338
26339         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26340           h264: fix pred_weight_table() reconstruction.
26341           Only the explicit pred_weight_table(), possibly with the inferred default
26342           values, shall be required. e.g. don't fill in the table if weighted_pred_flag
26343           is not set for P/SP slices.
26344
26345 2012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26346
26347         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26348           h264: execute reference picture marking process (MMCO).
26349
26350 2012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26351
26352         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26353           h264: fix presentation timestamps.
26354
26355 2012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26356
26357         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26358           h264: execute reference picture marking process (sliding window).
26359
26360 2012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26361
26362         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26363           h264: handle avcC format for decoding buffers.
26364
26365 2011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26366
26367         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26368           h264: handle codec-data.
26369           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26370
26371 2011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26372
26373         * gst-libs/gst/vaapi/Makefile.am:
26374         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26375         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
26376         * gst/vaapi/gstvaapidecode.c:
26377         * tests/test-decode.c:
26378           Add initial H.264 decoder.
26379
26380 2012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26381
26382         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26383         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26384           decoder: retain proxy surface until the GstVaapiPicture is destroyed.
26385           Keep a valid reference to the proxy in GstVaapiPicture so that frames
26386           marked as "used for reference" could be kept during the lifetime of the
26387           picture. i.e. don't release them too soon as they could be re-used right
26388           away.
26389
26390 2012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26391
26392         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26393         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26394         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26395           decoder: properly reference count pictures.
26396           This fixes cases where a GstVaapiPicture would be destroyed whereas
26397           there is still a valid instance of it in either prev, current or
26398           next picture.
26399
26400 2012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26401
26402         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26403         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26404         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26405         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26406           decoder: simplify output of decoded frames.
26407           Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
26408           Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
26409           is already set correctly and reference count increased, if necessary.
26410
26411 2012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26412
26413         * gst-libs/gst/vaapi/Makefile.am:
26414         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26415         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
26416         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26417         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26418         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26419         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26420         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26421         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26422         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26423           decoder: rework the internal VA objects API.
26424           The new API simplifies a lot reference counting and makes it more
26425           flexible for future additions/changes. The GstVaapiCodecInfo is
26426           also gone. Rather, new helper macros are provided to allocate
26427           picture, slice and quantization matrix parameter buffers.
26428
26429 2012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26430
26431         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26432         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26433           decoder: allow slices to be attached to pictures later.
26434
26435 2011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26436
26437         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26438         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26439           decoder: add ref_count to GstVaapiPicture.
26440
26441 2012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26442
26443         * gst/vaapi/gstvaapisink.c:
26444           vaapisink: cap window size to the maximum display size.
26445
26446 2012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
26447
26448         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26449         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
26450           profile: match video/x-h263 as H.263 Baseline profile.
26451           HACK: qtdemux does not report profiles for H.263. So, assume plain
26452           "video/x-h263" is H.263 Baseline profile.
26453           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26454
26455 2012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26456
26457         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26458         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
26459           display: report H.263 Baseline profile.
26460           HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
26461           profile (VAProfileMPEG4Simple) is supported.
26462
26463 2012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26464
26465         * gst-libs/gst/vaapi/Makefile.am:
26466         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
26467           Add template for workarounds.
26468
26469 2012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26470
26471         * tests/test-decode.c:
26472           tests: error out if FFmpeg|codecparsers are not supported.
26473
26474 2012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26475
26476         * docs/reference/libs/libs-sections.txt:
26477         * gst-libs/gst/vaapi/gstvaapisurface.h:
26478         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
26479           surface: don't expose gst_vaapi_surface_get_parent_context().
26480           gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
26481           It's just an internal helper function. However, it's still possible to get
26482           the parent context through the "parent-context" property.
26483
26484 2012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26485
26486         * tests/Makefile.am:
26487         * tests/test-subpicture.c:
26488           tests: fix build without FFmpeg.
26489
26490 2012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26491
26492         * configure.ac:
26493           Bump version for development.
26494
26495 === release 0.3.3 ===
26496
26497 2012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26498
26499         * NEWS:
26500         * configure.ac:
26501           0.3.3.
26502
26503 2012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26504
26505         * README:
26506         * debian.upstream/copyright:
26507         * gst-libs/gst/vaapi/gstvaapicontext.c:
26508         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26509         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26510         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26511         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26512         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26513         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26514         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26515         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26516         * gst-libs/gst/vaapi/gstvaapiimage.c:
26517         * gst-libs/gst/vaapi/gstvaapiimage.h:
26518         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26519         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26520         * gst-libs/gst/vaapi/gstvaapiutils.c:
26521         * gst-libs/gst/vaapi/gstvaapiutils.h:
26522         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26523         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26524         * gst/vaapi/gstvaapi.c:
26525         * gst/vaapi/gstvaapidecode.c:
26526         * gst/vaapi/gstvaapidownload.c:
26527         * gst/vaapi/gstvaapidownload.h:
26528         * gst/vaapi/gstvaapipluginutil.c:
26529         * gst/vaapi/gstvaapipluginutil.h:
26530         * gst/vaapi/gstvaapisink.c:
26531         * gst/vaapi/gstvaapiupload.c:
26532         * gst/vaapi/gstvaapiupload.h:
26533         * tests/test-decode.c:
26534           legal: fix year for some copyright notices.
26535
26536 2012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26537
26538         * gst-libs/gst/vaapi/gstvaapicontext.c:
26539         * gst-libs/gst/vaapi/gstvaapicontext.h:
26540         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26541         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26542         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26543         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26544         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26545         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26546         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26547         * gst-libs/gst/vaapi/gstvaapiimage.c:
26548         * gst-libs/gst/vaapi/gstvaapiimage.h:
26549         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26550         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
26551         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26552         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26553         * gst-libs/gst/vaapi/gstvaapisurface.c:
26554         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26555         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26556         * gst-libs/gst/vaapi/gstvaapiutils.c:
26557         * gst-libs/gst/vaapi/gstvaapiutils.h:
26558         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26559         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
26560         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26561         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26562         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26563         * gst/vaapi/gstvaapidownload.h:
26564         * gst/vaapi/gstvaapisink.h:
26565         * gst/vaapi/gstvaapiupload.h:
26566         * tests/test-decode.c:
26567           legal: add Intel copyright on modified files.
26568
26569 2012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26570
26571         * gst-libs/gst/vaapi/gstvaapi_priv.h:
26572         * gst-libs/gst/vaapi/gstvaapicompat.h:
26573         * gst-libs/gst/vaapi/gstvaapicontext.c:
26574         * gst-libs/gst/vaapi/gstvaapicontext.h:
26575         * gst-libs/gst/vaapi/gstvaapidebug.h:
26576         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26577         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26578         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26579         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26580         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26581         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26582         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26583         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26584         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26585         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26586         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26587         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26588         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26589         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26590         * gst-libs/gst/vaapi/gstvaapiimage.c:
26591         * gst-libs/gst/vaapi/gstvaapiimage.h:
26592         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26593         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
26594         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26595         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26596         * gst-libs/gst/vaapi/gstvaapiobject.c:
26597         * gst-libs/gst/vaapi/gstvaapiobject.h:
26598         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
26599         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26600         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26601         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26602         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26603         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26604         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26605         * gst-libs/gst/vaapi/gstvaapisurface.c:
26606         * gst-libs/gst/vaapi/gstvaapisurface.h:
26607         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26608         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26609         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26610         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26611         * gst-libs/gst/vaapi/gstvaapitexture.c:
26612         * gst-libs/gst/vaapi/gstvaapitexture.h:
26613         * gst-libs/gst/vaapi/gstvaapitypes.h:
26614         * gst-libs/gst/vaapi/gstvaapiutils.c:
26615         * gst-libs/gst/vaapi/gstvaapiutils.h:
26616         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26617         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
26618         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
26619         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
26620         * gst-libs/gst/vaapi/gstvaapivalue.c:
26621         * gst-libs/gst/vaapi/gstvaapivalue.h:
26622         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26623         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26624         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26625         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26626         * gst-libs/gst/vaapi/gstvaapivideosink.c:
26627         * gst-libs/gst/vaapi/gstvaapivideosink.h:
26628         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26629         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26630         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26631         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
26632         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26633         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26634         * gst/vaapi/gstvaapidecode.c:
26635         * gst/vaapi/gstvaapidecode.h:
26636         * gst/vaapi/gstvaapidownload.c:
26637         * gst/vaapi/gstvaapidownload.h:
26638         * gst/vaapi/gstvaapisink.c:
26639         * gst/vaapi/gstvaapisink.h:
26640         * gst/vaapi/gstvaapiupload.c:
26641         * gst/vaapi/gstvaapiupload.h:
26642         * tests/image.c:
26643         * tests/image.h:
26644         * tests/test-decode.c:
26645         * tests/test-decode.h:
26646         * tests/test-display.c:
26647         * tests/test-h264.c:
26648         * tests/test-h264.h:
26649         * tests/test-mpeg2.c:
26650         * tests/test-mpeg2.h:
26651         * tests/test-surfaces.c:
26652         * tests/test-textures.c:
26653         * tests/test-vc1.c:
26654         * tests/test-vc1.h:
26655         * tests/test-windows.c:
26656           legal: fix copyright notices to include "Copyright" term.
26657
26658 2011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
26659
26660         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26661         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26662           mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
26663           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26664
26665 2011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
26666
26667         * gst-libs/gst/vaapi/Makefile.am:
26668         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26669         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26670         * gst/vaapi/gstvaapidecode.c:
26671           Add initial MPEG-4 decoder.
26672           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26673
26674 2011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26675
26676         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26677         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26678           vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
26679           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26680
26681 2011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26682
26683         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26684           vc1: fix codec-data decoding for WMV3 format.
26685
26686 2011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26687
26688         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26689           vc1: fix presentation timestamps.
26690
26691 2011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26692
26693         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26694           vc1: fix MV mode packing.
26695
26696 2011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26697
26698         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26699           vc1: handle codec-data.
26700
26701 2011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26702
26703         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26704           vc1: handle encapsulated bitstreams.
26705
26706 2011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26707
26708         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26709         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26710         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26711           vc1: fix bitplanes decoding.
26712
26713 2011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26714
26715         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26716           vc1: fix BFRACTION reconstruction.
26717
26718 2011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26719
26720         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26721           vc1: fix framerate calculation.
26722
26723 2011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26724
26725         * gst-libs/gst/vaapi/Makefile.am:
26726         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26727         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26728         * gst/vaapi/gstvaapidecode.c:
26729         * tests/test-decode.c:
26730           Add initial VC-1 decoder.
26731
26732 2012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
26733
26734         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26735           mpeg2: fix first field detection.
26736           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26737
26738 2012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26739
26740         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26741           mpeg2: fix quantisation matrix construction.
26742
26743 2011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26744
26745         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26746         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26747           mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
26748           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26749
26750 2011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26751
26752         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26753           mpeg2: fix packets spanning over two buffers.
26754
26755 2011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26756
26757         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26758           mpeg2: ignore system start codes (PES headers).
26759
26760 2011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26761
26762         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26763           mpeg2: handle closed_gop.
26764
26765 2011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26766
26767         * gst-libs/gst/vaapi/Makefile.am:
26768         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26769         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26770         * gst/vaapi/gstvaapidecode.c:
26771         * tests/test-decode.c:
26772           Add initial MPEG-2 decoder.
26773
26774 2011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26775
26776         * configure.ac:
26777         * gst-libs/gst/vaapi/Makefile.am:
26778         * gst/vaapi/gstvaapidecode.c:
26779         * tests/test-decode.c:
26780           Allow conditional build of GStreamer/FFmpeg bitstream parsers.
26781
26782 2011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26783
26784         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26785         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26786           Add VA decoder helpers.
26787
26788 2011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26789
26790         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26791           decoder: add new error codes.
26792           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
26793           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
26794
26795 2011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26796
26797         * gst-libs/gst/vaapi/Makefile.am:
26798         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
26799         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
26800           Add timestamp buffer store helper utils.
26801
26802 2011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26803
26804         * gst-libs/gst/vaapi/gstvaapiutils.c:
26805         * gst-libs/gst/vaapi/gstvaapiutils.h:
26806           Add VA buffer helpers.
26807
26808 2012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26809
26810         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26811           utils: slight improvements to gl_bind_texture().
26812
26813 2012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26814
26815         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26816           utils: pretty-print output of gl_get_error_string().
26817
26818 2012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26819
26820         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26821           utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
26822
26823 2012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26824
26825         * gst-libs/gst/vaapi/gstvaapiutils.c:
26826           utils: simplify string of VAProfile/VAEntrypoint.
26827
26828 2012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26829
26830         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26831         * gst-libs/gst/vaapi/gstvaapiutils.c:
26832         * gst-libs/gst/vaapi/gstvaapiutils.h:
26833           utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
26834
26835 2012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26836
26837         * NEWS:
26838           NEWS: updates.
26839
26840 2012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26841
26842         * tests/test-decode.c:
26843           tests: check for shared VA displays (display cache).
26844
26845 2012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26846
26847         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26848           display: always free VA display cache if it is empty.
26849
26850 2012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26851
26852         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26853         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26854         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26855         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26856         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26857           display: use VA display cache for X11 and GLX winsys.
26858
26859 2012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26860
26861         * gst-libs/gst/vaapi/Makefile.am:
26862         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26863         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
26864         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
26865           display: implement a VA display cache.
26866
26867 2012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26868
26869         * gst/vaapi/gstvaapipluginutil.c:
26870           vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
26871           This ensures the display name provided to gst_vaapi_display_*_new()
26872           maps to the system defaults, instead of forcing "" that could be different
26873           from the current DISPLAY name.
26874
26875 2011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
26876
26877         * gst/vaapi/gstvaapiupload.c:
26878           vaapiupload: only set caps on newly created buffers.
26879           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26880
26881 2012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26882
26883         * gst/vaapi/gstvaapisink.c:
26884           vaapisink: ensure VA display in GstBaseSink::start() hook.
26885           This ensures a VA display is ready by the time upstream elements request
26886           for it.
26887
26888 2011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
26889
26890         * gst/vaapi/gstvaapisink.c:
26891           vaapisink: don't leak GL texture.
26892           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26893
26894 2012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26895
26896         * gst/vaapi/gstvaapisink.c:
26897           vaapisink: fix calculation of render region.
26898
26899 2012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26900
26901         * gst/vaapi/gstvaapisink.c:
26902           vaapisink: automatically fit video to window.
26903
26904 2012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26905
26906         * gst/vaapi/gstvaapisink.c:
26907           vaapisink: implement GstXOverlay::set_render_rectangle().
26908
26909 2012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26910
26911         * gst-libs/gst/vaapi/gstvaapiwindow.c:
26912           window: always check geometry when the window is mapped.
26913
26914 2012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
26915
26916         * gst-libs/gst/vaapi/gstvaapiutils.c:
26917           Add missing profiles from VA-API 0.32.0.
26918           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26919
26920 2012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26921
26922         * .gitignore:
26923           .gitignore: add test-subpicture.
26924
26925 2012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26926
26927         * configure.ac:
26928           Bump version for development.
26929
26930 === release 0.3.2 ===
26931
26932 2012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26933
26934         * NEWS:
26935         * configure.ac:
26936           0.3.2.
26937
26938 2012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26939
26940         * tests/Makefile.am:
26941           tests: fix make dist (ship with test-subpicture-data.h).
26942
26943 2012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26944
26945         * NEWS:
26946           NEWS: updates.
26947
26948 2012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26949
26950         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26951         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26952         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26953           decoder: fix possible leak of VA surfaces.
26954           Under some circumstances, we could have leaked a surface, thus not
26955           releasing it to the pool of available surfaces in the VA context.
26956           The strategy is now to use a proxy earlier and automatically ref/unref
26957           whenever necessary. In particular, during the lifetime needed for FFmpeg.
26958
26959 2012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26960
26961         * docs/reference/libs/libs-sections.txt:
26962         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26963         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26964           surfaceproxy: add helper to retrieve the VA surface ID.
26965
26966 2012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26967
26968         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26969           surfaceproxy: simplify destruction.
26970           Also make sure to always make sure to release the surface back to the
26971           pool of surfaces in the associated VA context, if any.
26972
26973 2012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26974
26975         * gst/vaapi/gstvaapidecode.c:
26976           vaapidecode: fix deinitialization order.
26977
26978 2012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26979
26980         * gst-libs/gst/vaapi/gstvaapicontext.c:
26981           context: avoid self reference loops with surfaces.
26982
26983 2012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26984
26985         * debian.upstream/control.in:
26986           debian: update control.in description for new plugins.
26987
26988 2012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26989
26990         * gst/vaapi/gstvaapiupload.c:
26991           vaapiupload: use new gst_vaapi_append_surface_caps() helper.
26992           This also fixes extra structures, beyond the one at index 0, to hold
26993           the right additional values.
26994
26995 2012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26996
26997         * gst/vaapi/gstvaapiupload.c:
26998           vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
26999
27000 2012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27001
27002         * README:
27003         * docs/reference/plugins/plugins-docs.xml.in:
27004         * docs/reference/plugins/plugins-sections.txt:
27005         * docs/reference/plugins/plugins.types:
27006         * gst/vaapi/Makefile.am:
27007         * gst/vaapi/gstvaapi.c:
27008         * gst/vaapi/gstvaapidownload.c:
27009         * gst/vaapi/gstvaapidownload.h:
27010           vaapidownload: add new plugin to download pixels from VA surfaces.
27011
27012 2012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27013
27014         * gst/vaapi/gstvaapipluginutil.c:
27015         * gst/vaapi/gstvaapipluginutil.h:
27016           vaapipluingutils: add helper to append surface caps to YUV caps.
27017
27018 2012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27019
27020         * docs/reference/libs/libs-sections.txt:
27021         * gst-libs/gst/vaapi/gstvaapiimage.c:
27022         * gst-libs/gst/vaapi/gstvaapiimage.h:
27023           image: add helpers to extract pixels to user buffers.
27024
27025 2012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27026
27027         * gst-libs/gst/vaapi/gstvaapiimage.c:
27028           image: simplify initialization of raw images from video buffers.
27029
27030 2012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27031
27032         * gst-libs/gst/vaapi/gstvaapiimage.c:
27033           image: fix update from NV12 buffers.
27034
27035 2012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27036
27037         * gst/vaapi/gstvaapiupload.c:
27038           vaapiupload: fix memory leak in _init() function.
27039
27040 2012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27041
27042         * NEWS:
27043         * README:
27044         * debian.upstream/control.in:
27045         * docs/reference/plugins/plugins-docs.xml.in:
27046         * docs/reference/plugins/plugins-sections.txt:
27047         * docs/reference/plugins/plugins.types:
27048         * gst/vaapi/Makefile.am:
27049         * gst/vaapi/gstvaapi.c:
27050         * gst/vaapi/gstvaapiupload.c:
27051         * gst/vaapi/gstvaapiupload.h:
27052           Rename vaapiconvert element to vaapiupload.
27053
27054 2012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27055
27056         * configure.ac:
27057           Bump version for development.
27058
27059 === release 0.3.1 ===
27060
27061 2012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27062
27063         * NEWS:
27064         * configure.ac:
27065           0.3.1.
27066
27067 2011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27068
27069         * NEWS:
27070           NEWS: updates.
27071
27072 2011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27073
27074         * gst-libs/gst/vaapi/gstvaapisurface.c:
27075         * gst-libs/gst/vaapi/gstvaapisurface.h:
27076         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27077         * gst/vaapi/gstvaapisink.c:
27078           surface: apply composition to the parent context, if requested.
27079
27080 2011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27081
27082         * docs/reference/libs/libs-sections.txt:
27083         * gst-libs/gst/vaapi/gstvaapicontext.c:
27084         * gst-libs/gst/vaapi/gstvaapicontext.h:
27085           context: make it possible to apply composition globally.
27086
27087 2011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27088
27089         * gst-libs/gst/vaapi/gstvaapisurface.c:
27090           surface: fix associate subpicture to not report deassociation errors.
27091
27092 2011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27093
27094         * gst-libs/gst/vaapi/gstvaapisurface.c:
27095           surface: fix typo in debug message.
27096
27097 2011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27098
27099         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27100         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27101         * gst-libs/gst/vaapi/gstvaapisurface.c:
27102           subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
27103
27104 2011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27105
27106         * docs/reference/libs/libs-sections.txt:
27107         * gst-libs/gst/vaapi/Makefile.am:
27108         * gst-libs/gst/vaapi/gstvaapicontext.c:
27109         * gst-libs/gst/vaapi/gstvaapisurface.c:
27110         * gst-libs/gst/vaapi/gstvaapisurface.h:
27111         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
27112           surface: record parent context.
27113
27114 2011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27115
27116         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27117         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27118         * gst/vaapi/gstvaapidecode.c:
27119         * gst/vaapi/gstvaapisink.c:
27120           Fix warnings.
27121
27122 2011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27123
27124         * gst-libs/gst/vaapi/gstvaapisurface.c:
27125         * gst-libs/gst/vaapi/gstvaapisurface.h:
27126         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27127         * gst/vaapi/gstvaapisink.c:
27128           Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
27129
27130 2011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27131
27132         * configure.ac:
27133           configure: check for GstVideoOverlayComposition.
27134
27135 2011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27136
27137         * NEWS:
27138           NEWS: updates.
27139
27140 2011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27141
27142         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27143           converter: add support for GstVideoOverlayComposition planes.
27144           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27145
27146 2011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
27147
27148         * gst/vaapi/gstvaapisink.c:
27149           vaapisink: handle GstVideoOverlayComposition planes.
27150           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27151
27152 2011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27153
27154         * gst-libs/gst/vaapi/gstvaapisurface.c:
27155           surface: use unscaled overlay rectangle for blending.
27156
27157 2011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27158
27159         * gst-libs/gst/vaapi/gstvaapisurface.c:
27160           surface: fix VA image leak when an error occurred.
27161
27162 2011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27163
27164         * gst-libs/gst/vaapi/gstvaapisurface.c:
27165         * gst-libs/gst/vaapi/gstvaapisurface.h:
27166           surface: add helper to handle GstVideoOverlayComposition.
27167           This helper resets the subpictures to reflect the current composition
27168           layers provided with the buffers.
27169           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27170
27171 2011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27172
27173         * docs/reference/libs/libs-sections.txt:
27174         * gst-libs/gst/vaapi/Makefile.am:
27175         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27176         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27177         * gst/vaapi/gstvaapiconvert.c:
27178           image: add gst_vaapi_image_format_from_video() helper.
27179
27180 2011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27181
27182         * gst-libs/gst/vaapi/gstvaapiimage.c:
27183         * gst-libs/gst/vaapi/gstvaapiimage.h:
27184           image: allow updates from GstVaapiImageRaw.
27185
27186 2011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27187
27188         * gst-libs/gst/vaapi/gstvaapiimage.c:
27189         * gst-libs/gst/vaapi/gstvaapiimage.h:
27190         * gst/vaapi/gstvaapiconvert.c:
27191         * tests/test-subpicture.c:
27192           image: allow partial updates.
27193
27194 2011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27195
27196         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27197           subpicture: fix doc for gst_vaapi_subpicture_set_image().
27198
27199 2011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27200
27201         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27202           display: fix has_image_format() to check against subpicture formats.
27203
27204 2011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27205
27206         * tests/test-subpicture.c:
27207           tests: fix subpicture test.
27208
27209 2011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
27210
27211         * tests/Makefile.am:
27212         * tests/test-subpicture-data.c:
27213         * tests/test-subpicture-data.h:
27214         * tests/test-subpicture.c:
27215           tests: add test for subpictures.
27216           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27217
27218 2011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27219
27220         * gst/vaapi/gstvaapiconvert.c:
27221         * gst/vaapi/gstvaapidecode.c:
27222           Add missing video context queries.
27223           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27224
27225 2011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27226
27227         * configure.ac:
27228           Bump version for development.
27229
27230 2011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27231
27232         * gst-libs/gst/video/Makefile.am:
27233         * gst-libs/gst/video/gstbasevideocodec.c:
27234         * gst-libs/gst/video/gstbasevideocodec.h:
27235         * gst-libs/gst/video/gstbasevideodecoder.c:
27236         * gst-libs/gst/video/gstbasevideodecoder.h:
27237         * gst-libs/gst/video/gstbasevideoutils.c:
27238         * gst-libs/gst/video/gstbasevideoutils.h:
27239           Drop unused copy of GstBaseVideoDecoder.
27240
27241 === release 0.3.0 ===
27242
27243 2011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27244
27245         * NEWS:
27246         * configure.ac:
27247           0.3.0.
27248
27249 2011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27250
27251         * README:
27252           README: update dependencies.
27253
27254 2011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27255
27256         * NEWS:
27257           NEWS: updates.
27258
27259 2011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27260
27261         * configure.ac:
27262           configure: check for GstBaseSink 'query' vfunc.
27263
27264 2011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27265
27266         * gst/vaapi/Makefile.am:
27267           vaapiplugin: include local build dir to CFLAGS for generated files.
27268
27269 2011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27270
27271         * autogen.sh:
27272           autogen: don't configure if NO_CONFIGURE variable is set.
27273
27274 2011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27275
27276         * gst/vaapi/gstvaapidecode.c:
27277         * gst/vaapi/gstvaapidecode.h:
27278           vaapidecode: return sink caps template if decoder is in NULL state.
27279           Otherwise, the decoder would always create its own X display instead
27280           of probing it from the downstream element, which is not reliable.
27281           e.g. DISPLAY is not :0 or when running on Wayland.
27282           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27283
27284 2011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27285
27286         * gst/vaapi/gstvaapiconvert.c:
27287         * gst/vaapi/gstvaapidecode.c:
27288           vaapiplugin: properly set surface type to "vaapi" in caps.
27289
27290 2011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27291
27292         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27293           decoder: drop unused headers.
27294
27295 2011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27296
27297         * gst/vaapi/gstvaapiconvert.c:
27298         * gst/vaapi/gstvaapidecode.c:
27299           vaapiplugin: properly set opengl support in caps.
27300           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27301
27302 2011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27303
27304         * gst/vaapi/gstvaapiconvert.c:
27305         * gst/vaapi/gstvaapidecode.c:
27306           vaapiplugin: allocate GLX buffers when supported.
27307           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27308
27309 2011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27310
27311         * gst-libs/gst/vaapi/Makefile.am:
27312         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27313         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
27314         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
27315         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
27316         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
27317         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
27318           videobuffer: add GLX buffer support.
27319           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27320
27321 2011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27322
27323         * gst-libs/gst/vaapi/Makefile.am:
27324         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27325         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27326           Port to GstSurfaceBuffer interface.
27327           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27328
27329 2011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27330
27331         * gst/vaapi/gstvaapidecode.c:
27332         * gst/vaapi/gstvaapisink.c:
27333           Don't use downstream buffer allocation.
27334           With the new video/x-surface abstraction, we can't rely on having a VA
27335           specific sink downstream. Also, there was no particular reason to do that.
27336           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27337
27338 2011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27339
27340         * gst-libs/gst/vaapi/Makefile.am:
27341         * gst-libs/gst/vaapi/gstvaapicontext.c:
27342         * gst-libs/gst/vaapi/gstvaapisurface.h:
27343         * gst/vaapi/gstvaapiconvert.c:
27344         * gst/vaapi/gstvaapisink.c:
27345         * tests/Makefile.am:
27346         * tests/test-surfaces.c:
27347           Change caps to use new video/x-surface generic type.
27348           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27349
27350 2011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
27351
27352         * configure.ac:
27353         * gst-libs/gst/vaapi/Makefile.am:
27354         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
27355         * gst/vaapi/Makefile.am:
27356         * gst/vaapi/gstvaapiconvert.c:
27357         * gst/vaapi/gstvaapidecode.c:
27358         * gst/vaapi/gstvaapipluginutil.c:
27359         * gst/vaapi/gstvaapipluginutil.h:
27360         * gst/vaapi/gstvaapisink.c:
27361         * gst/vaapi/gstvaapisink.h:
27362           Port to GstVideoContext interface.
27363           This new interface allows for upstream and downstream display sharing
27364           that works in both static and dynamic pipelines.
27365           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27366
27367 2011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27368
27369         * gst/vaapi/gstvaapisink.c:
27370           vaapisink: use GST_ERROR to print error messages.
27371
27372 2011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27373
27374         * gst/vaapi/Makefile.am:
27375           vaapiplugin: link against VA/GLX when enabled.
27376
27377 2011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27378
27379         * gst/vaapi/gstvaapiconvert.c:
27380         * gst/vaapi/gstvaapisink.c:
27381           Add Intel copyright information.
27382
27383 2011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27384
27385         * gst/vaapi/gstvaapisink.c:
27386           vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
27387
27388 2011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27389
27390         * .gitignore:
27391         * configure.ac:
27392         * gst-libs/gst/Makefile.am:
27393         * gst-libs/gst/gstutils_version.h.in:
27394           Add new GStreamer version check utilities.
27395
27396 2011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27397
27398         * gst/vaapi/gstvaapisink.c:
27399           vaapisink: replace the deprecated xoverlay API with the new one.
27400           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27401
27402 2011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27403
27404         * configure.ac:
27405           configure: allow for pre-releases.
27406
27407 2011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27408
27409         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27410           display: destroy display on creation failure.
27411           This allows element to detect that the display creation has actually
27412           failed.
27413           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27414
27415 2011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27416
27417         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27418           display: don't crash when config is empty.
27419           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27420
27421 2011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27422
27423         * README:
27424         * debian.upstream/copyright:
27425           doc: mention Collabora copyrights.
27426
27427 2011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27428
27429         * .gitignore:
27430           .gitignore: refine for generated docs.
27431
27432 2011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27433
27434         * configure.ac:
27435         * docs/reference/plugins/Makefile.am:
27436         * gst/Makefile.am:
27437         * gst/vaapi/Makefile.am:
27438         * gst/vaapi/gstvaapi.c:
27439         * gst/vaapi/gstvaapiconvert.c:
27440         * gst/vaapi/gstvaapiconvert.h:
27441         * gst/vaapi/gstvaapidecode.c:
27442         * gst/vaapi/gstvaapidecode.h:
27443         * gst/vaapi/gstvaapisink.c:
27444         * gst/vaapi/gstvaapisink.h:
27445         * gst/vaapiconvert/Makefile.am:
27446         * gst/vaapidecode/Makefile.am:
27447           Group all plugins into the same bundle
27448           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27449
27450 2011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27451
27452         * configure.ac:
27453           Bump version for development.
27454
27455 2011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27456
27457         * configure.ac:
27458         * debian.upstream/control.in:
27459           debian: build against upstream libva packages.
27460
27461 2011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27462
27463         * docs/reference/libs/Makefile.am:
27464         * docs/reference/plugins/Makefile.am:
27465         * tests/Makefile.am:
27466           Fix build on Ubuntu 11.10 (Oneric).
27467
27468 2011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27469
27470         * NEWS:
27471           0.2.7.
27472
27473 2011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27474
27475         * .gitignore:
27476           Adding ignore file
27477           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27478
27479 2011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
27480
27481         * gst/vaapiconvert/gstvaapiconvert.c:
27482         * gst/vaapidecode/gstvaapidecode.c:
27483         * gst/vaapisink/gstvaapisink.c:
27484           Update license in plugin definition
27485           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27486
27487 2011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27488
27489         * NEWS:
27490         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27491           decoder: fix use of invalid data at the end-of-stream.
27492
27493 2011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27494
27495         * gst/vaapiconvert/gstvaapiconvert.c:
27496           vaapiconvert: fix some warnings.
27497
27498 2011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27499
27500         * configure.ac:
27501         * debian.upstream/changelog.in:
27502         * debian.upstream/control.in:
27503         * debian.upstream/copyright:
27504         * gst/vaapiconvert/gstvaapiconvert.c:
27505         * gst/vaapidecode/gstvaapidecode.c:
27506         * gst/vaapisink/gstvaapisink.c:
27507           Update with my current e-mail address.
27508
27509 2011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27510
27511         * NEWS:
27512         * README:
27513           Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
27514
27515 2011-10-18 09:18:20 +0200  warly <warly@warly.org>
27516
27517         * tests/image.c:
27518         * tests/image.h:
27519         * tests/test-decode.c:
27520         * tests/test-decode.h:
27521         * tests/test-display.c:
27522         * tests/test-h264.c:
27523         * tests/test-h264.h:
27524         * tests/test-mpeg2.c:
27525         * tests/test-mpeg2.h:
27526         * tests/test-surfaces.c:
27527         * tests/test-textures.c:
27528         * tests/test-vc1.c:
27529         * tests/test-vc1.h:
27530         * tests/test-windows.c:
27531           switch tests licence to LGPL v2.1+
27532
27533 2011-10-18 09:06:52 +0200  warly <warly@warly.org>
27534
27535         * COPYING:
27536         * README:
27537         * debian.upstream/copyright:
27538         * gst/vaapiconvert/gstvaapiconvert.c:
27539         * gst/vaapiconvert/gstvaapiconvert.h:
27540         * gst/vaapidecode/gstvaapidecode.c:
27541         * gst/vaapidecode/gstvaapidecode.h:
27542         * gst/vaapisink/gstvaapisink.c:
27543         * gst/vaapisink/gstvaapisink.h:
27544           move plugins to LGPL v2.1+
27545
27546 2011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27547
27548         * gst/vaapidecode/gstvaapidecode.c:
27549           vaapidecode: fix sink caps to not expose size information.
27550           This fixes this particular issue:
27551           GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
27552           a real subset of its template caps
27553
27554 2011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27555
27556         * NEWS:
27557         * gst/vaapidecode/gstvaapidecode.c:
27558           vaapidecode: fix decoding of MPEG-2 PS files.
27559
27560 2011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27561
27562         * gst-libs/gst/vaapi/Makefile.am:
27563           Cosmetics (sort source files).
27564
27565 2011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27566
27567         * gst/vaapiconvert/gstvaapiconvert.c:
27568         * gst/vaapiconvert/gstvaapiconvert.h:
27569           vaapiconvert: fix direct-rendering caps detection.
27570
27571 2011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27572
27573         * gst-libs/gst/vaapi/gstvaapiimage.c:
27574           Fix gst_vaapi_image_new_with_image().
27575
27576 2011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27577
27578         * gst/vaapiconvert/gstvaapiconvert.c:
27579           vaapiconvert: warn when surface failed to be updated with image.
27580
27581 2011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27582
27583         * gst/vaapiconvert/gstvaapiconvert.c:
27584           vaapiconvert: fix autodetection for vaDeriveImage() support.
27585
27586 2011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27587
27588         * gst/vaapiconvert/gstvaapiconvert.c:
27589           vaapiconvert: fix memory leak (VA surface image).
27590
27591 2011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27592
27593         * NEWS:
27594         * gst/vaapiconvert/gstvaapiconvert.c:
27595           vaapiconvert: fix direct-rendering mode.
27596
27597 2011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27598
27599         * docs/reference/libs/libs-sections.txt:
27600         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27601         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27602           Add gst_vaapi_video_buffer_new_from_buffer().
27603           Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
27604           Any image, surface or surface proxy will be inherited from the source buffer
27605           if it is a GstVaapiVideoBuffer.
27606
27607 2011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27608
27609         * gst/vaapiconvert/gstvaapiconvert.c:
27610           vaapiconvert: protect access to direct_rendering.
27611
27612 2011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27613
27614         * gst/vaapiconvert/gstvaapiconvert.c:
27615           vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
27616
27617 2011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27618
27619         * NEWS:
27620         * README:
27621         * debian.upstream/copyright:
27622         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27623         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27624         * gst-libs/gst/vaapi/gstvaapisurface.h:
27625         * gst/vaapidecode/gstvaapidecode.c:
27626         * gst/vaapidecode/gstvaapidecode.h:
27627           Add Intel copyright information.
27628
27629 2011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27630
27631         * NEWS:
27632           Updates.
27633
27634 2011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27635
27636         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27637           Fix build with newer FFmpeg versions.
27638
27639 2011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27640
27641         * gst/vaapidecode/gstvaapidecode.c:
27642         * gst/vaapidecode/gstvaapidecode.h:
27643           Fix decoding of MPEG-2 TS files.
27644
27645 2011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27646
27647         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27648           Report caps update only once per video resolution change.
27649
27650 2011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27651
27652         * gst-libs/gst/vaapi/gstvaapisurface.h:
27653           Add canonical form (type name) of VA surface caps.
27654
27655 2011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27656
27657         * configure.ac:
27658           Bump version for development.
27659
27660 2011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27661
27662         * configure.ac:
27663           Use pretty build output with automake >= 1.11.
27664
27665 2011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27666
27667         * gst/vaapiconvert/Makefile.am:
27668         * gst/vaapidecode/Makefile.am:
27669         * gst/vaapisink/Makefile.am:
27670         * tests/Makefile.am:
27671           Fix build with libva headers not in a standard include dir.
27672
27673 === release 0.2.6 ===
27674
27675 2011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
27676
27677         * configure.ac:
27678           0.2.6.
27679
27680 2011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
27681
27682         * gst-libs/gst/vaapi/gstvaapi_priv.h:
27683         * gst-libs/gst/vaapi/gstvaapicompat.h:
27684         * gst-libs/gst/vaapi/gstvaapicontext.c:
27685         * gst-libs/gst/vaapi/gstvaapicontext.h:
27686         * gst-libs/gst/vaapi/gstvaapidebug.h:
27687         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27688         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27689         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27690         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
27691         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27692         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27693         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27694         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27695         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27696         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
27697         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27698         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27699         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27700         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
27701         * gst-libs/gst/vaapi/gstvaapiimage.c:
27702         * gst-libs/gst/vaapi/gstvaapiimage.h:
27703         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27704         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27705         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
27706         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
27707         * gst-libs/gst/vaapi/gstvaapiobject.c:
27708         * gst-libs/gst/vaapi/gstvaapiobject.h:
27709         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27710         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27711         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
27712         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27713         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27714         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27715         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27716         * gst-libs/gst/vaapi/gstvaapisurface.c:
27717         * gst-libs/gst/vaapi/gstvaapisurface.h:
27718         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27719         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
27720         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27721         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27722         * gst-libs/gst/vaapi/gstvaapitexture.c:
27723         * gst-libs/gst/vaapi/gstvaapitexture.h:
27724         * gst-libs/gst/vaapi/gstvaapitypes.h:
27725         * gst-libs/gst/vaapi/gstvaapiutils.c:
27726         * gst-libs/gst/vaapi/gstvaapiutils.h:
27727         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27728         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27729         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
27730         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
27731         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27732         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27733         * gst-libs/gst/vaapi/gstvaapivalue.c:
27734         * gst-libs/gst/vaapi/gstvaapivalue.h:
27735         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27736         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
27737         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27738         * gst-libs/gst/vaapi/gstvaapivideopool.h:
27739         * gst-libs/gst/vaapi/gstvaapivideosink.c:
27740         * gst-libs/gst/vaapi/gstvaapivideosink.h:
27741         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27742         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27743         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27744         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27745         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27746         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27747         * gst/vaapiconvert/gstvaapiconvert.c:
27748         * gst/vaapiconvert/gstvaapiconvert.h:
27749         * gst/vaapidecode/gstvaapidecode.c:
27750         * gst/vaapidecode/gstvaapidecode.h:
27751         * gst/vaapisink/gstvaapisink.c:
27752         * gst/vaapisink/gstvaapisink.h:
27753         * tests/image.c:
27754         * tests/image.h:
27755         * tests/test-decode.c:
27756         * tests/test-decode.h:
27757         * tests/test-display.c:
27758         * tests/test-h264.c:
27759         * tests/test-h264.h:
27760         * tests/test-mpeg2.c:
27761         * tests/test-mpeg2.h:
27762         * tests/test-surfaces.c:
27763         * tests/test-textures.c:
27764         * tests/test-vc1.c:
27765         * tests/test-vc1.h:
27766         * tests/test-windows.c:
27767           Update copyright notice.
27768
27769 2011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
27770
27771         * NEWS:
27772         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27773         * gst-libs/gst/vaapi/gstvaapisurface.c:
27774         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27775         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27776         * gst-libs/gst/vaapi/gstvaapitexture.c:
27777         * gst-libs/gst/vaapi/gstvaapiutils.c:
27778         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27779         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27780         * gst-libs/gst/vaapi/gstvaapivalue.c:
27781         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27782         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27783         * gst-libs/gst/vaapi/gstvaapivideosink.c:
27784         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27785         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27786         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27787           Fix licensing terms.
27788
27789 2010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27790
27791         * NEWS:
27792           0.2.5.
27793
27794 2010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27795
27796         * debian.upstream/copyright:
27797           Fix license terms...
27798
27799 2010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27800
27801         * gst/vaapisink/gstvaapisink.c:
27802           Render pretty background only in use-reflection=true mode.
27803
27804 2010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27805
27806         * NEWS:
27807           Updates.
27808
27809 2010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27810
27811         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27812           Drop the GLX 1.3 requirement.
27813
27814 2010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27815
27816         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27817         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27818           Call the GLX/Pixmap related functions through the vtable.
27819
27820 2010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27821
27822         * NEWS:
27823         * configure.ac:
27824         * gst-libs/gst/vaapi/Makefile.am:
27825         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27826           Drop dependency on libavformat.
27827
27828 2010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27829
27830         * gst-libs/gst/video/gstbasevideodecoder.c:
27831         * gst-libs/gst/video/gstbasevideodecoder.h:
27832           Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
27833
27834 2010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27835
27836         * gst-libs/gst/video/gstbasevideodecoder.c:
27837         * gst-libs/gst/video/gstbasevideoutils.c:
27838         * gst-libs/gst/video/gstbasevideoutils.h:
27839           Drop superfluous functions.
27840
27841 2010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27842
27843         * gst-libs/gst/video/gstbasevideodecoder.c:
27844           Really drop any dependency on libgstvideo. i.e. inline the helpers.
27845
27846 2010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27847
27848         * gst-libs/gst/video/gstbasevideodecoder.c:
27849           Further drop dependency on libgstvideo.
27850
27851 2010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27852
27853         * gst-libs/gst/video/Makefile.am:
27854         * gst-libs/gst/video/gstbasevideocodec.c:
27855         * gst-libs/gst/video/gstbasevideocodec.h:
27856         * gst-libs/gst/video/gstbasevideodecoder.c:
27857         * gst-libs/gst/video/gstbasevideodecoder.h:
27858         * gst-libs/gst/video/gstbasevideoutils.c:
27859         * gst-libs/gst/video/gstbasevideoutils.h:
27860           Add GstBaseVideoDecoder from gst-plugins-bad git.
27861
27862 2010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27863
27864         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27865           Fix GLX version check.
27866
27867 2010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27868
27869         * NEWS:
27870         * configure.ac:
27871           Bump version for development.
27872
27873 2010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27874
27875         * NEWS:
27876         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27877           Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
27878
27879 2010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27880
27881         * NEWS:
27882           Update changelog.
27883
27884 2010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27885
27886         * gst-libs/gst/vaapi/gstvaapicompat.h:
27887           Fix build with older VA-API 0.29-sds.
27888
27889 === release 0.2.4 ===
27890
27891 2010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27892
27893         * gst/vaapisink/gstvaapisink.c:
27894         * gst/vaapisink/gstvaapisink.h:
27895           Fix upscaling in foreign window (Totem).
27896
27897 2010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27898
27899         * gst/vaapisink/gstvaapisink.c:
27900           Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
27901
27902 2010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27903
27904         * NEWS:
27905         * gst/vaapisink/gstvaapisink.c:
27906           Fix video rendering rect within an embedder window (Totem).
27907
27908 2010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27909
27910         * NEWS:
27911         * gst/vaapisink/gstvaapisink.c:
27912           Disable GLX rendering when vaapisink uses a foreign X window.
27913
27914 2010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27915
27916         * gst/vaapisink/gstvaapisink.c:
27917           Simplify GLX rendering code.
27918
27919 2010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27920
27921         * configure.ac:
27922           Bump version for development.
27923
27924 === release 0.2.3 ===
27925
27926 2010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27927
27928         * NEWS:
27929           0.2.3.
27930
27931 2010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27932
27933         * gst/vaapidecode/gstvaapidecode.c:
27934           Wait for at most one second for a VA surface to become available.
27935
27936 2010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27937
27938         * README:
27939         * configure.ac:
27940           Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
27941
27942 2010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27943
27944         * NEWS:
27945         * README:
27946         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27947           Fix decoder caps to report codec aliases.
27948
27949 2010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27950
27951         * NEWS:
27952         * gst/vaapidecode/gstvaapidecode.c:
27953         * gst/vaapidecode/gstvaapidecode.h:
27954           Fix VC-1 decoding through the playbin2 pipeline.
27955
27956 2010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27957
27958         * docs/reference/libs/libs-sections.txt:
27959         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27960         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27961         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27962         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27963           Regularly update and expose decoder caps.
27964
27965 2010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27966
27967         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27968         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
27969         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27970           Add mechanism to reinsert buffer leftovers into the queue.
27971
27972 2010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27973
27974         * NEWS:
27975         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27976           Fix memory leak of encoded buffers.
27977
27978 2010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27979
27980         * docs/reference/libs/libs-sections.txt:
27981         * gst-libs/gst/vaapi/gstvaapicontext.c:
27982         * gst-libs/gst/vaapi/gstvaapicontext.h:
27983         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27984         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27985           Check for out-of-free-surfaces condition.
27986
27987 2010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27988
27989         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27990           Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
27991
27992 2010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27993
27994         * gst/vaapisink/gstvaapisink.c:
27995           Improve debug info for gst_vaapisink_ensure_render_rect().
27996
27997 2010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27998
27999         * configure.ac:
28000           Bump version for development.
28001
28002 === release 0.2.2 ===
28003
28004 2010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28005
28006         * NEWS:
28007           0.2.2.
28008
28009 2010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28010
28011         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28012           Improve previous fix.
28013
28014 2010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28015
28016         * NEWS:
28017         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28018           Fix a crash in the FFmpeg decoder on close.
28019
28020 2010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28021
28022         * README:
28023           Sort platforms by name.
28024
28025 2010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28026
28027         * NEWS:
28028         * configure.ac:
28029           Bump version for development.
28030
28031 2010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28032
28033         * gst/vaapisink/gstvaapisink.c:
28034           Add debug info for _show_frame().
28035
28036 2010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28037
28038         * Makefile.am:
28039           Nuke older build dir.
28040
28041 2010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28042
28043         * debian.upstream/control.in:
28044           Fix packaging deps.
28045
28046 2010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28047
28048         * NEWS:
28049           Cosmetics.
28050
28051 2010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28052
28053         * NEWS:
28054         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28055           Fix OpenGL texture internal format (Clutter).
28056
28057 2010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28058
28059         * NEWS:
28060           Respin release.
28061
28062 2010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28063
28064         * gst/vaapisink/gstvaapisink.c:
28065           Debug video & display PARs.
28066
28067 2010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28068
28069         * gst/vaapisink/gstvaapisink.c:
28070           Use XGetGeometry() to retrieve the window size.
28071
28072 === release 0.2.1 ===
28073
28074 2010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28075
28076         * gst/vaapisink/gstvaapisink.c:
28077           Move code around.
28078
28079 2010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28080
28081         * gst/vaapisink/gstvaapisink.c:
28082           Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
28083
28084 2010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28085
28086         * README:
28087           Drop obsolete comment.
28088
28089 2010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28090
28091         * NEWS:
28092           0.2.1.
28093
28094 2010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28095
28096         * gst/vaapidecode/gstvaapidecode.c:
28097           Fix GstVaapiDisplay refcounting in vaapidecode.
28098
28099 2010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28100
28101         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
28102           Fix comment.
28103
28104 2010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28105
28106         * gst/vaapisink/gstvaapisink.c:
28107         * gst/vaapisink/gstvaapisink.h:
28108           Fix render rect when the foreign window size changes.
28109
28110 2010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28111
28112         * NEWS:
28113         * configure.ac:
28114         * gst/vaapisink/Makefile.am:
28115         * gst/vaapisink/gstvaapisink.c:
28116           Add GstXOverlay interface to vaapisink (e.g. for Totem).
28117
28118 2010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28119
28120         * README:
28121           Update deps to match configure.ac versions.
28122
28123 2010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28124
28125         * gst/vaapiconvert/gstvaapiconvert.c:
28126         * gst/vaapidecode/gstvaapidecode.c:
28127         * gst/vaapisink/gstvaapisink.c:
28128           Cosmetics.
28129
28130 2010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28131
28132         * NEWS:
28133         * gst/vaapidecode/Makefile.am:
28134         * gst/vaapidecode/gstvaapidecode.c:
28135         * gst/vaapidecode/gstvaapidecode.h:
28136           Fix vaapidecode to expose the HW supported caps only.
28137
28138 2010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28139
28140         * gst/vaapidecode/gstvaapidecode.c:
28141           Initialize decoder earlier.
28142
28143 2010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28144
28145         * NEWS:
28146         * README:
28147         * gst/vaapidecode/gstvaapidecode.c:
28148           Fix integration within the playbin2 pipeline.
28149
28150 2010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28151
28152         * docs/reference/libs/Makefile.am:
28153           Exclude gstvaapiutils_gst.h from docs for now.
28154
28155 2010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28156
28157         * gst/vaapiconvert/gstvaapiconvert.c:
28158         * gst/vaapidecode/gstvaapidecode.c:
28159         * gst/vaapisink/gstvaapisink.c:
28160           Raise VA-API plugins ranks.
28161
28162 2010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28163
28164         * gst-libs/gst/vaapi/Makefile.am:
28165         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
28166         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
28167           Add gst_vaapi_display_lookup_downstream() helper.
28168
28169 2010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28170
28171         * gst/vaapidecode/gstvaapidecode.c:
28172           Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
28173
28174 2010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28175
28176         * docs/reference/libs/libs-sections.txt:
28177         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28178         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28179         * gst/vaapisink/gstvaapisink.c:
28180           Expose VA display through GstVaapiVideoBuffer.
28181
28182 2010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28183
28184         * gst/vaapidecode/gstvaapidecode.c:
28185           Simplify gst_vaapidecode_set_caps() and fix memory leak.
28186
28187 2010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28188
28189         * docs/reference/libs/libs-sections.txt:
28190         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28191         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28192           Expose video pool display.
28193
28194 2010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28195
28196         * gst-libs/gst/vaapi/gstvaapivideosink.c:
28197           Stop iteration if there is no more element to examine.
28198
28199 2010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28200
28201         * gst/vaapiconvert/gstvaapiconvert.c:
28202         * gst/vaapidecode/gstvaapidecode.c:
28203         * gst/vaapisink/gstvaapisink.c:
28204           Improve plugin details.
28205
28206 2010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28207
28208         * gst-libs/gst/vaapi/gstvaapisurface.h:
28209         * gst/vaapiconvert/gstvaapiconvert.c:
28210         * gst/vaapidecode/gstvaapidecode.c:
28211         * gst/vaapisink/gstvaapisink.c:
28212           Factor out VA surface caps.
28213
28214 2010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28215
28216         * gst/vaapidecode/gstvaapidecode.c:
28217           Add gst_vaapidecode_ensure_display() helper for set-caps.
28218
28219 2010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28220
28221         * configure.ac:
28222           Bump version for development.
28223
28224 === release 0.2.0 ===
28225
28226 2010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28227
28228         * NEWS:
28229           Really make it 0.2.0.
28230
28231 2010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28232
28233         * README:
28234           More docs.
28235
28236 2010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28237
28238         * docs/reference/libs/Makefile.am:
28239           Don't exclude GstVaapiParamSpecs.
28240
28241 2010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28242
28243         * docs/reference/libs/Makefile.am:
28244         * docs/reference/libs/libs-sections.txt:
28245         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28246         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28247           Fix docs.
28248
28249 2010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28250
28251         * gst/vaapiconvert/gstvaapiconvert.c:
28252         * gst/vaapidecode/gstvaapidecode.c:
28253         * gst/vaapisink/gstvaapisink.c:
28254           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.
28255
28256 2010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28257
28258         * gst-libs/gst/vaapi/Makefile.am:
28259           Really link all helper libraries with libtool -no-undefined.
28260
28261 2010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28262
28263         * gst-libs/gst/vaapi/Makefile.am:
28264           Link helper libraries with libtool -no-undefined.
28265
28266 2010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28267
28268         * configure.ac:
28269         * debian.upstream/gstreamer-vaapi.install.in:
28270         * gst/vaapiconvert/Makefile.am:
28271         * gst/vaapidecode/Makefile.am:
28272         * gst/vaapisink/Makefile.am:
28273           Don't build plugins with SONAME. Make them plain *.so.
28274
28275 2010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28276
28277         * README:
28278           Improve documentation for release.
28279
28280 2010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28281
28282         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28283           Fix build with older VA-API 0.29.
28284
28285 2010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28286
28287         * NEWS:
28288           0.2.0.
28289
28290 2010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28291
28292         * tests/Makefile.am:
28293           Fix make dist.
28294
28295 2010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28296
28297         * docs/reference/libs/Makefile.am:
28298         * docs/reference/libs/libs-docs.xml.in:
28299         * docs/reference/libs/libs-sections.txt:
28300         * docs/reference/libs/libs.core.types:
28301         * docs/reference/plugins/Makefile.am:
28302         * docs/reference/plugins/plugins-docs.xml.in:
28303         * docs/reference/plugins/plugins-sections.txt:
28304         * docs/reference/plugins/plugins.types:
28305           Add missing docs.
28306
28307 2010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28308
28309         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28310           Fix doc.
28311
28312 2010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28313
28314         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28315         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28316         * gst/vaapidecode/gstvaapidecode.c:
28317         * tests/test-decode.c:
28318           Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
28319
28320 2010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28321
28322         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28323         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28324           Extract framerate information from caps.
28325
28326 2010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28327
28328         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28329         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28330         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28331           Move caps initialization to parent class.
28332
28333 2010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28334
28335         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28336           Simplify.
28337
28338 2010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28339
28340         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28341           Fix doc.
28342
28343 2010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28344
28345         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28346         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28347           More simplifications.
28348
28349 2010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28350
28351         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28352         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28353         * tests/test-decode.c:
28354           Simplify GstVaapiDecoder API.
28355
28356 2010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28357
28358         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28359           Drop obsolete defs.
28360
28361 2010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28362
28363         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28364           Drop obsolete decls.
28365
28366 2010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28367
28368         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28369         * gst/vaapidecode/gstvaapidecode.c:
28370           Add more aliases for MPEG-4 decoding.
28371
28372 2010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28373
28374         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28375           Use avctx->coded_{width,height} info to create the VA context.
28376
28377 2010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28378
28379         * tests/test-decode.c:
28380         * tests/test-decode.h:
28381           Use gst_vaapi_decoder_ffmpeg_new_from_caps().
28382
28383 2010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28384
28385         * tests/test-decode.c:
28386         * tests/test-decode.h:
28387         * tests/test-h264.c:
28388         * tests/test-h264.h:
28389         * tests/test-mpeg2.c:
28390         * tests/test-mpeg2.h:
28391         * tests/test-vc1.c:
28392         * tests/test-vc1.h:
28393           Simplify tests info.
28394
28395 2010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28396
28397         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28398           Try to improve heuristics to use an AVCodecContextParser.
28399
28400 2010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28401
28402         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28403           Fix VC-1 decoding, it does not require any specific parser.
28404
28405 2010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28406
28407         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28408           Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
28409
28410 2010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28411
28412         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28413         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28414           Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
28415
28416 2010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28417
28418         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28419         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28420         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28421         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28422         * gst/vaapidecode/gstvaapidecode.c:
28423         * gst/vaapidecode/gstvaapidecode.h:
28424           Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
28425
28426 2010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28427
28428         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28429         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28430         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28431           Improve WMV3 detection yet further.
28432
28433 2010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28434
28435         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28436           Fix detection of plain old WMV3 contents.
28437
28438 2010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28439
28440         * tests/test-vc1.c:
28441           Add End-of-Sequence start code.
28442
28443 2010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28444
28445         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28446         * gst/vaapidecode/gstvaapidecode.c:
28447           Fix VC-1 detection.
28448
28449 2010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28450
28451         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28452           Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
28453
28454 2010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28455
28456         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28457         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28458           Drop obsolete (and wrong) code.
28459
28460 2010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28461
28462         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28463           Cosmetics (spelling).
28464
28465 2010-05-03 08:32:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28466
28467         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28468         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28469         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28470           Try to fix timestamps (step 1). Looks OK on H55.
28471
28472 2010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28473
28474         * debian.upstream/Makefile.am:
28475           Ship with COPYING.LIB.
28476
28477 2010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28478
28479         * COPYING.LIB:
28480         * NEWS:
28481         * README:
28482         * gst-libs/gst/vaapi/gstvaapi_priv.h:
28483         * gst-libs/gst/vaapi/gstvaapicompat.h:
28484         * gst-libs/gst/vaapi/gstvaapicontext.c:
28485         * gst-libs/gst/vaapi/gstvaapicontext.h:
28486         * gst-libs/gst/vaapi/gstvaapidebug.h:
28487         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28488         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28489         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28490         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28491         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28492         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28493         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28494         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
28495         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
28496         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
28497         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28498         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28499         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28500         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
28501         * gst-libs/gst/vaapi/gstvaapiimage.c:
28502         * gst-libs/gst/vaapi/gstvaapiimage.h:
28503         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28504         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28505         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28506         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28507         * gst-libs/gst/vaapi/gstvaapiobject.c:
28508         * gst-libs/gst/vaapi/gstvaapiobject.h:
28509         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
28510         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
28511         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
28512         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28513         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28514         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28515         * gst-libs/gst/vaapi/gstvaapisurface.h:
28516         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28517         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28518         * gst-libs/gst/vaapi/gstvaapitexture.h:
28519         * gst-libs/gst/vaapi/gstvaapitypes.h:
28520         * gst-libs/gst/vaapi/gstvaapiutils.h:
28521         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28522         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28523         * gst-libs/gst/vaapi/gstvaapivalue.h:
28524         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28525         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28526         * gst-libs/gst/vaapi/gstvaapivideosink.h:
28527         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28528         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
28529         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28530           Relicense gst-libs/ code to LGPL v2.1+.
28531
28532 2010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28533
28534         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28535           Drop extraneous comma.
28536
28537 2010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28538
28539         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28540           Drop variant=itu field to help codec detection.
28541
28542 2010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28543
28544         * gst/vaapidecode/gstvaapidecode.c:
28545           Decode as many surfaces as possible in gst_vaapidecode_step().
28546
28547 2010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28548
28549         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28550         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28551         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28552         * gst/vaapidecode/gstvaapidecode.c:
28553         * gst/vaapidecode/gstvaapidecode.h:
28554         * tests/test-decode.c:
28555           Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
28556
28557 2010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28558
28559         * configure.ac:
28560           0.2.0.
28561
28562 2010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28563
28564         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28565           Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
28566
28567 2010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28568
28569         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28570         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28571           Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
28572
28573 2010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28574
28575         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28576         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28577           Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
28578
28579 2010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28580
28581         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28582           Document H.264 / AVC1 format case better.
28583
28584 2010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28585
28586         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28587           Fix H.264 decoding with AVC1 format bitstreams.
28588
28589 2010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28590
28591         * gst/vaapidecode/gstvaapidecode.c:
28592           Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
28593
28594 2010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28595
28596         * gst/vaapisink/gstvaapisink.c:
28597           Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
28598
28599 2010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28600
28601         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28602         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28603           Export gst_vaapi_video_buffer_new().
28604
28605 2010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28606
28607         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28608           Fix gst_vaapi_profile_get_caps() to include the "profile" field.
28609
28610 2010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28611
28612         * configure.ac:
28613           Fix comment.
28614
28615 2010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28616
28617         * NEWS:
28618         * configure.ac:
28619         * gst/Makefile.am:
28620         * gst/vaapidecode/Makefile.am:
28621         * gst/vaapidecode/gstvaapidecode.c:
28622         * gst/vaapidecode/gstvaapidecode.h:
28623           Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
28624
28625 2010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28626
28627         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28628         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28629           Add gst_vaapi_decoder_pause().
28630
28631 2010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28632
28633         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28634         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28635         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28636           Use a GstTask with start/stop semantics for the decoder thread.
28637
28638 2010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28639
28640         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28641           Drop extraneous var.
28642
28643 2010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28644
28645         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28646         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28647           Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
28648
28649 2010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28650
28651         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28652           Fix gst_vaapi_decoder_get_surface() status.
28653
28654 2010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28655
28656         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28657         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28658           Try to set correct timestamps to the decoded surface proxy.
28659
28660 2010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28661
28662         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28663         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28664         * tests/test-decode.c:
28665           Add timestamps to GstVaapiSurfaceProxy.
28666
28667 2010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28668
28669         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28670           Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
28671
28672 2010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28673
28674         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28675           Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
28676
28677 2010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28678
28679         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28680           Prefer profile from codec-data if any was found there.
28681
28682 2010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28683
28684         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28685           Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
28686
28687 2010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28688
28689         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28690           Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
28691
28692 2010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28693
28694         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28695           Fix VC-1 codec initialization, it really needs an extradata buffer.
28696
28697 2010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28698
28699         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28700         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28701           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.
28702
28703 2010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28704
28705         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28706           Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
28707
28708 2010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28709
28710         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28711         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28712         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28713         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28714         * tests/test-decode.c:
28715           Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
28716
28717 2010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28718
28719         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28720           Cosmetics (weird indentation).
28721
28722 2010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28723
28724         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28725           Cosmetics (extraneous variable, debug message).
28726
28727 2010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28728
28729         * configure.ac:
28730           Fix check for VA-API enabled FFmpeg.
28731
28732 2010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28733
28734         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28735         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28736         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28737         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28738           - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
28739
28740 2010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28741
28742         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28743         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28744           Add more error codes. Fix documentation.
28745
28746 2010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28747
28748         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28749           Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
28750
28751 2010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28752
28753         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28754         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28755         * tests/test-decode.c:
28756           Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
28757
28758 2010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28759
28760         * tests/test-vc1.c:
28761           Drop useless End-of-Sequence marker.
28762
28763 2010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28764
28765         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28766           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.
28767
28768 2010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28769
28770         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28771         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28772           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.
28773
28774 2010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28775
28776         * tests/test-h264.c:
28777         * tests/test-vc1.c:
28778           Regenerate correct clips.
28779
28780 2010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28781
28782         * tests/Makefile.am:
28783         * tests/test-decode.c:
28784         * tests/test-h264.c:
28785         * tests/test-h264.h:
28786         * tests/test-mpeg2.c:
28787         * tests/test-mpeg2.h:
28788         * tests/test-vc1.c:
28789         * tests/test-vc1.h:
28790           Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
28791           XXX: only VC-1 decoding works at this time because of awful
28792           bugs left in GstVaapiDecoderFfmpeg et al.
28793
28794 2010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28795
28796         * configure.ac:
28797         * gst-libs/gst/vaapi/Makefile.am:
28798         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28799         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28800         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
28801         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
28802         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28803           Add initial (multithreaded) decoder based on FFmpeg.
28804           There are tons of bugs left:
28805           - Decoder API not nice enough with error conditions
28806           - FFmpeg parser is sometimes broken
28807           - Packets queue can be lost
28808
28809 2010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28810
28811         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28812         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28813           Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
28814
28815 2010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28816
28817         * gst-libs/gst/vaapi/gstvaapicontext.c:
28818         * gst-libs/gst/vaapi/gstvaapicontext.h:
28819           Add VA context abstraction.
28820
28821 2010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28822
28823         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28824           Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
28825
28826 2010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28827
28828         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28829         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28830           Add a means to cap the number of objects allocated in the pool.
28831
28832 2010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28833
28834         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28835         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28836           Add VA entrypoint abstraction.
28837
28838 2010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28839
28840         * docs/reference/libs/libs-docs.xml.in:
28841         * docs/reference/libs/libs-sections.txt:
28842         * gst-libs/gst/vaapi/Makefile.am:
28843         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28844         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28845         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28846         * gst-libs/gst/vaapi/gstvaapiprofile.c:
28847         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28848         * tests/test-display.c:
28849           Add VA profile abstraction.
28850
28851 2010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28852
28853         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28854           Fix OpenGL rendering on G45 systems.
28855
28856 2010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28857
28858         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28859           Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
28860
28861 2010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28862
28863         * gst-libs/gst/vaapi/gstvaapitexture.c:
28864         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28865         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28866           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.
28867
28868 2010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28869
28870         * gst-libs/gst/vaapi/gstvaapitexture.c:
28871           Fix get-out conditions.
28872
28873 2010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28874
28875         * gst-libs/gst/vaapi/gstvaapitexture.c:
28876         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
28877           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.
28878
28879 2010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28880
28881         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28882           Shorter structs.
28883
28884 2010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28885
28886         * docs/reference/libs/libs-sections.txt:
28887         * gst-libs/gst/vaapi/Makefile.am:
28888         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
28889         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
28890         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28891         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28892         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28893         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
28894         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
28895         * gst-libs/gst/vaapi/gstvaapitexture.c:
28896         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
28897         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28898         * tests/test-windows.c:
28899           Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
28900
28901 2010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28902
28903         * gst-libs/gst/vaapi/Makefile.am:
28904         * gst-libs/gst/vaapi/gstvaapi_priv.h:
28905         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28906         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28907         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
28908         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28909         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28910         * gst-libs/gst/vaapi/gstvaapiimage.c:
28911         * gst-libs/gst/vaapi/gstvaapiobject.c:
28912         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28913         * gst-libs/gst/vaapi/gstvaapisurface.c:
28914         * gst-libs/gst/vaapi/gstvaapitexture.c:
28915         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28916         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
28917         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28918           Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
28919
28920 2010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28921
28922         * gst-libs/gst/vaapi/gstvaapitexture.c:
28923         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28924         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28925         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
28926           Improve handling of GL contexts.
28927
28928 2010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28929
28930         * configure.ac:
28931           Simplify summary.
28932
28933 2010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28934
28935         * configure.ac:
28936           Bump version for development.
28937
28938 === release 0.1.2 ===
28939
28940 2010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28941
28942         * configure.ac:
28943         * debian.upstream/Makefile.am:
28944         * debian.upstream/control.in:
28945           Rename -dev package to libgstvaapi-dev.
28946
28947 2010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28948
28949         * NEWS:
28950         * README:
28951           Updates.
28952
28953 2010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28954
28955         * gst-libs/gst/vaapi/gstvaapiutils.c:
28956           Fix build with VA-API < 0.30.
28957
28958 2010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28959
28960         * configure.ac:
28961         * gst-libs/gst/vaapi/gstvaapicompat.h:
28962         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
28963         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
28964         * gst-libs/gst/vaapi/gstvaapitexture.c:
28965         * tests/test-display.c:
28966           Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
28967
28968 2010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28969
28970         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28971         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28972           Add TFP and FBO helpers.
28973
28974 2010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28975
28976         * gst-libs/gst/vaapi/gstvaapiutils.c:
28977         * gst-libs/gst/vaapi/gstvaapiutils.h:
28978           Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
28979
28980 2010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28981
28982         * gst-libs/gst/vaapi/gstvaapitexture.c:
28983         * gst-libs/gst/vaapi/gstvaapiutils.c:
28984         * gst-libs/gst/vaapi/gstvaapiutils.h:
28985         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28986           Use a shorter function name.
28987
28988 2010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28989
28990         * docs/reference/libs/libs-sections.txt:
28991         * gst-libs/gst/vaapi/gstvaapisurface.c:
28992         * gst-libs/gst/vaapi/gstvaapisurface.h:
28993         * gst-libs/gst/vaapi/gstvaapiutils.c:
28994         * gst-libs/gst/vaapi/gstvaapiutils.h:
28995           Add gst_vaapi_surface_query_status() wrapper.
28996
28997 2010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28998
28999         * docs/reference/plugins/Makefile.am:
29000           Fix leftover during migration.
29001
29002 2010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29003
29004         * Makefile.am:
29005         * configure.ac:
29006         * docs/reference/plugins/Makefile.am:
29007         * gst/Makefile.am:
29008         * gst/vaapiconvert/Makefile.am:
29009         * gst/vaapiconvert/gstvaapiconvert.c:
29010         * gst/vaapiconvert/gstvaapiconvert.h:
29011         * gst/vaapisink/Makefile.am:
29012         * gst/vaapisink/gstvaapisink.c:
29013         * gst/vaapisink/gstvaapisink.h:
29014           Rename to gst/ as sys/ was too vague.
29015
29016 2010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29017
29018         * gst-libs/gst/vaapi/gstvaapiimage.c:
29019         * gst-libs/gst/vaapi/gstvaapiimage.h:
29020         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29021         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
29022         * gst-libs/gst/vaapi/gstvaapisurface.c:
29023         * gst-libs/gst/vaapi/gstvaapisurface.h:
29024           Try to not reference VA-API types directly.
29025
29026 2010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29027
29028         * sys/vaapisink/gstvaapisink.c:
29029           Fix reflection code to preserve aspect ratio.
29030
29031 2010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29032
29033         * sys/vaapisink/gstvaapisink.c:
29034         * sys/vaapisink/gstvaapisink.h:
29035           Fix fullscreen mode.
29036
29037 2010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29038
29039         * sys/vaapisink/gstvaapisink.c:
29040         * sys/vaapisink/gstvaapisink.h:
29041           Add OpenGL reflection effect ("use-reflection").
29042
29043 2010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29044
29045         * configure.ac:
29046         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29047           Use a projection suitable for rotation around the Y axis.
29048
29049 2010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29050
29051         * configure.ac:
29052         * sys/vaapisink/Makefile.am:
29053         * sys/vaapisink/gstvaapisink.c:
29054         * sys/vaapisink/gstvaapisink.h:
29055           Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
29056
29057 2010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29058
29059         * configure.ac:
29060         * debian.upstream/Makefile.am:
29061         * debian.upstream/control.in:
29062         * debian.upstream/libgstvaapi-glx.install.in:
29063           Add libgstvaapi-glx-0 package.
29064
29065 2010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29066
29067         * pkgconfig/Makefile.am:
29068           Really fix make distclean.
29069
29070 2010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29071
29072         * docs/reference/libs/Makefile.am:
29073           Fix make dist.
29074
29075 2010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29076
29077         * pkgconfig/Makefile.am:
29078           Fix make distclean.
29079
29080 2010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29081
29082         * tests/Makefile.am:
29083           Fix make dist.
29084
29085 2010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29086
29087         * docs/reference/libs/Makefile.am:
29088         * docs/reference/libs/libs.core.types:
29089         * docs/reference/libs/libs.glx.types:
29090         * docs/reference/libs/libs.x11.types:
29091           Fix doc build.
29092
29093 2010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29094
29095         * sys/vaapisink/gstvaapisink.h:
29096           Fix build without GLX.
29097
29098 2010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29099
29100         * NEWS:
29101           0.1.2.
29102
29103 2010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29104
29105         * sys/vaapisink/Makefile.am:
29106         * sys/vaapisink/gstvaapisink.c:
29107         * sys/vaapisink/gstvaapisink.h:
29108           Add VA/GLX support to vaapisink.
29109
29110 2010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29111
29112         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29113         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29114         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29115           Add glXSwapBuffers() workaround for NVIDIA.
29116
29117 2010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29118
29119         * tests/Makefile.am:
29120         * tests/test-textures.c:
29121           Improve VA/GLX textures test.
29122
29123 2010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29124
29125         * gst-libs/gst/vaapi/gstvaapitexture.c:
29126         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29127         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29128           Fix texture rendering.
29129
29130 2010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29131
29132         * docs/reference/libs/libs-docs.xml.in:
29133         * docs/reference/libs/libs-sections.txt:
29134         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29135         * gst-libs/gst/vaapi/gstvaapitexture.c:
29136           Fix documentation.
29137
29138 2010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29139
29140         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29141         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
29142           Add gst_vaapi_window_glx_put_texture() helper.
29143
29144 2010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29145
29146         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29147           Fix typos.
29148
29149 2010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29150
29151         * tests/image.c:
29152         * tests/image.h:
29153         * tests/test-windows.c:
29154           Move code around.
29155
29156 2010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29157
29158         * gst-libs/gst/vaapi/Makefile.am:
29159         * gst-libs/gst/vaapi/gstvaapitexture.c:
29160         * gst-libs/gst/vaapi/gstvaapitexture.h:
29161         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29162         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29163           Add initial VA/GLX texture abstraction though the API is not good enough yet.
29164
29165 2010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29166
29167         * docs/reference/libs/libs-sections.txt:
29168         * gst-libs/gst/vaapi/gstvaapiobject.c:
29169         * gst-libs/gst/vaapi/gstvaapiobject.h:
29170           Add gst_vaapi_object_{,un}lock_display() helpers.
29171
29172 2010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29173
29174         * tests/Makefile.am:
29175         * tests/image.c:
29176         * tests/image.h:
29177         * tests/test-windows.c:
29178           Factor out image utilities.
29179
29180 2010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29181
29182         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29183           MT-Safe: lock display.
29184
29185 2010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29186
29187         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29188           Make sure window resize completed prior to resizing the GL viewport.
29189
29190 2010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29191
29192         * gst-libs/gst/vaapi/Makefile.am:
29193           gstvaapicompat.h is a private header, don't install it.
29194
29195 2010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29196
29197         * docs/reference/libs/libs-sections.txt:
29198         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29199         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29200         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29201           Add gst_vaapi_display_{sync,flush}() helpers.
29202
29203 2010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29204
29205         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29206         * sys/vaapisink/gstvaapisink.c:
29207         * sys/vaapisink/gstvaapisink.h:
29208           Add "synchronous" mode.
29209
29210 2010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29211
29212         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29213         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29214           Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
29215
29216 2010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29217
29218         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29219           Restore GLX context only if there is one.
29220
29221 2010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29222
29223         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29224         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29225         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29226         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
29227           Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
29228
29229 2010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29230
29231         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29232           Check GstVaapiWindow::render() is available prior to calling it.
29233
29234 2010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29235
29236         * tests/Makefile.am:
29237         * tests/test-display.c:
29238         * tests/test-textures.c:
29239           Add VA/GLX display tests.
29240
29241 2010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29242
29243         * configure.ac:
29244         * gst-libs/gst/vaapi/Makefile.am:
29245           Fix compile flags.
29246
29247 2010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29248
29249         * docs/reference/libs/Makefile.am:
29250         * docs/reference/libs/libs-docs.xml.in:
29251         * docs/reference/libs/libs-sections.txt:
29252         * docs/reference/libs/libs.types:
29253           Add missing API documentation.
29254
29255 2010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29256
29257         * configure.ac:
29258         * gst-libs/gst/vaapi/Makefile.am:
29259         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
29260         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
29261         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
29262         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29263         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
29264         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
29265         * pkgconfig/Makefile.am:
29266         * pkgconfig/gstreamer-vaapi-glx.pc.in:
29267         * tests/Makefile.am:
29268         * tests/test-textures.c:
29269           Add initial VA/GLX support.
29270
29271 2010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29272
29273         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29274           Add missing includes (for vaapi_check_status()).
29275
29276 2010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29277
29278         * gst-libs/gst/vaapi/gstvaapidebug.h:
29279           Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
29280
29281 2010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29282
29283         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29284         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29285           Add gst_vaapi_window_x11_is_foreign_xid() helper.
29286
29287 2010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29288
29289         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29290         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29291         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29292         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29293           Allow derived classes to specify custom Visual and Colormap.
29294
29295 2010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29296
29297         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29298         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29299         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29300           Allow window creation with a specific visual (e.g. for GLX support).
29301
29302 2010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29303
29304         * gst-libs/gst/vaapi/gstvaapiimage.c:
29305           Fix return value on error (though it's the same in the end).
29306
29307 2010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29308
29309         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29310         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29311           Simplify initialization of VADisplay.
29312
29313 2010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29314
29315         * configure.ac:
29316           Move __attribute__((visibility("hidden"))) check down.
29317
29318 2010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29319
29320         * docs/reference/libs/libs-sections.txt:
29321         * gst-libs/gst/vaapi/gstvaapiimage.c:
29322         * gst-libs/gst/vaapi/gstvaapiimage.h:
29323         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29324         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
29325         * gst-libs/gst/vaapi/gstvaapisurface.c:
29326         * gst-libs/gst/vaapi/gstvaapisurface.h:
29327         * tests/test-surfaces.c:
29328           Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
29329
29330 2010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29331
29332         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29333           Use the parent display object, no need to maintain another one.
29334           In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
29335
29336 2010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29337
29338         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29339           Add more internal helpers.
29340
29341 2010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29342
29343         * gst-libs/gst/vaapi/gstvaapiimage.c:
29344         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29345         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29346         * gst-libs/gst/vaapi/gstvaapisurface.c:
29347         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29348         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29349           Rename to GST_VAAPI_OBJECT_DISPLAY().
29350
29351 2010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29352
29353         * docs/reference/libs/libs-sections.txt:
29354         * gst-libs/gst/vaapi/gstvaapiimage.c:
29355         * gst-libs/gst/vaapi/gstvaapiobject.c:
29356         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29357         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29358         * gst-libs/gst/vaapi/gstvaapisurface.c:
29359         * gst-libs/gst/vaapi/gstvaapitypes.h:
29360         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29361           All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
29362
29363 2010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29364
29365         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29366         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29367         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29368           Make GstVaapiWindow* derive from GstVaapiObject.
29369
29370 2010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29371
29372         * configure.ac:
29373           Factor out use gstreamer-vaapi (PACKAGE name).
29374
29375 2010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29376
29377         * configure.ac:
29378           Improve versioning summary.
29379
29380 2010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29381
29382         * gst-libs/gst/vaapi/Makefile.am:
29383           gstvaapicompat.h is now a private header (not installed).
29384
29385 2010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29386
29387         * gst-libs/gst/vaapi/gstvaapiimage.c:
29388         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
29389         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
29390         * gst-libs/gst/vaapi/gstvaapiobject.c:
29391         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29392         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29393           Include gstvaapicompat.h in source files only, not headers.
29394
29395 2010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29396
29397         * configure.ac:
29398         * gst-libs/gst/vaapi/Makefile.am:
29399         * sys/vaapiconvert/Makefile.am:
29400         * sys/vaapisink/Makefile.am:
29401         * tests/Makefile.am:
29402           Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
29403
29404 2010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29405
29406         * NEWS:
29407         * configure.ac:
29408         * gst-libs/gst/vaapi/Makefile.am:
29409         * gst-libs/gst/vaapi/gstvaapicompat.h:
29410         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29411         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
29412         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
29413         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29414         * gst-libs/gst/vaapi/gstvaapisurface.c:
29415         * gst-libs/gst/vaapi/gstvaapiutils.c:
29416         * gst-libs/gst/vaapi/gstvaapiutils.h:
29417         * pkgconfig/gstreamer-vaapi-x11.pc.in:
29418         * pkgconfig/gstreamer-vaapi.pc.in:
29419         * sys/vaapiconvert/Makefile.am:
29420         * sys/vaapisink/Makefile.am:
29421         * tests/Makefile.am:
29422           Add compatibility with the original VA-API 0.29.
29423
29424 2010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29425
29426         * gst-libs/gst/vaapi/gstvaapivalue.h:
29427           Add missing file (gstvaapivalue.h).
29428
29429 2010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29430
29431         * gst-libs/gst/vaapi/gstvaapiimage.c:
29432         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29433         * gst-libs/gst/vaapi/gstvaapisurface.c:
29434           Fix g_warning() invocation.
29435
29436 2010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29437
29438         * gst-libs/gst/vaapi/gstvaapisurface.c:
29439           Deassociate subpictures while destroying the surface.
29440
29441 2010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29442
29443         * gst-libs/gst/vaapi/gstvaapisurface.c:
29444           Fix destruction order of subpictures. They should be destroyed first.
29445
29446 2010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29447
29448         * NEWS:
29449         * gst-libs/gst/vaapi/gstvaapiimage.c:
29450         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
29451         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
29452         * tests/test-windows.c:
29453           Add support for AYUV format.
29454
29455 2010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29456
29457         * tests/test-windows.c:
29458           Simplify upload process and fallback to subpictures.
29459
29460 2010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29461
29462         * docs/reference/libs/libs-docs.xml.in:
29463         * docs/reference/libs/libs-sections.txt:
29464         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29465           Fix documentation.
29466
29467 2010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29468
29469         * gst-libs/gst/vaapi/Makefile.am:
29470         * gst-libs/gst/vaapi/gstvaapiobject.c:
29471         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29472         * gst-libs/gst/vaapi/gstvaapitypes.h:
29473         * gst-libs/gst/vaapi/gstvaapivalue.c:
29474           Move GValue specific stuff to a dedicated file.
29475
29476 2010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29477
29478         * tests/test-surfaces.c:
29479           Cosmetics (lowercase for consistency).
29480
29481 2010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29482
29483         * gst-libs/gst/vaapi/gstvaapiobject.c:
29484           Cosmetics (vertical alignment).
29485
29486 2010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29487
29488         * gst-libs/gst/vaapi/gstvaapiobject.c:
29489           Fix return value on error.
29490
29491 2010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29492
29493         * docs/reference/libs/libs-sections.txt:
29494         * gst-libs/gst/vaapi/gstvaapiimage.c:
29495         * gst-libs/gst/vaapi/gstvaapiimage.h:
29496         * gst-libs/gst/vaapi/gstvaapiobject.c:
29497         * gst-libs/gst/vaapi/gstvaapiobject.h:
29498         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29499         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29500         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
29501         * gst-libs/gst/vaapi/gstvaapisurface.c:
29502         * gst-libs/gst/vaapi/gstvaapisurface.h:
29503         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29504         * tests/test-surfaces.c:
29505           Move "id" down to the GstVaapiObject base.
29506
29507 2010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29508
29509         * gst-libs/gst/vaapi/gstvaapitypes.c:
29510           Cosmetics (drop extraneous empty line).
29511
29512 2010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29513
29514         * gst-libs/gst/vaapi/Makefile.am:
29515         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
29516         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
29517           Add GParamSpecs for GstVaapiID.
29518
29519 2010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29520
29521         * docs/reference/libs/libs.types:
29522           Drop gst_vaapi_id_get_type().
29523
29524 2010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29525
29526         * docs/reference/libs/libs-sections.txt:
29527         * gst-libs/gst/vaapi/gstvaapitypes.h:
29528           Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
29529
29530 2010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29531
29532         * docs/reference/libs/libs-sections.txt:
29533         * docs/reference/libs/libs.types:
29534         * gst-libs/gst/vaapi/Makefile.am:
29535         * gst-libs/gst/vaapi/gstvaapitypes.c:
29536         * gst-libs/gst/vaapi/gstvaapitypes.h:
29537           Add GstVaapiID abstraction.
29538
29539 2010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29540
29541         * docs/reference/libs/libs.types:
29542           Sort types.
29543
29544 2010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29545
29546         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29547         * gst-libs/gst/vaapi/gstvaapiimage.c:
29548         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29549         * gst-libs/gst/vaapi/gstvaapisurface.c:
29550           Drop useless include (<va/va_backend.h>).
29551
29552 2010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29553
29554         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29555           Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
29556
29557 2010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29558
29559         * gst-libs/gst/vaapi/Makefile.am:
29560         * gst-libs/gst/vaapi/gstvaapiimage.c:
29561         * gst-libs/gst/vaapi/gstvaapiobject.c:
29562         * gst-libs/gst/vaapi/gstvaapiobject.h:
29563         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
29564         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29565         * gst-libs/gst/vaapi/gstvaapisurface.c:
29566         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29567           Move private definitions and accessors to gstvaapiobject_priv.h.
29568
29569 2010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29570
29571         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29572         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29573         * gst-libs/gst/vaapi/gstvaapiimage.c:
29574         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
29575         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
29576         * gst-libs/gst/vaapi/gstvaapiobject.c:
29577         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29578         * gst-libs/gst/vaapi/gstvaapisurface.c:
29579         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
29580         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29581         * gst-libs/gst/vaapi/gstvaapivideopool.c:
29582         * gst-libs/gst/vaapi/gstvaapivideosink.c:
29583         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29584         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29585           Fix short descriptions.
29586
29587 2010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29588
29589         * Makefile.am:
29590         * configure.ac:
29591         * debian.upstream/Makefile.am:
29592         * debian.upstream/changelog.in:
29593         * debian.upstream/compat:
29594         * debian.upstream/control.in:
29595         * debian.upstream/copyright:
29596         * debian.upstream/gstreamer-vaapi-doc.install.in:
29597         * debian.upstream/gstreamer-vaapi.install.in:
29598         * debian.upstream/libgstvaapi-dev.install.in:
29599         * debian.upstream/libgstvaapi-x11.install.in:
29600         * debian.upstream/libgstvaapi.install.in:
29601         * debian.upstream/rules:
29602           Generate upstream packages through make deb.upstream.
29603
29604 2010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29605
29606         * configure.ac:
29607           Bump version for development.
29608
29609 === release 0.1.1 ===
29610
29611 2010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29612
29613         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29614           Use a black background for new windows.
29615
29616 2010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29617
29618         * NEWS:
29619           0.1.1.
29620
29621 2010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29622
29623         * configure.ac:
29624         * docs/reference/libs/libs.types:
29625         * gst-libs/gst/vaapi/Makefile.am:
29626         * gst-libs/gst/vaapi/gstvaapimarshal.list:
29627         * gst-libs/gst/vaapi/gstvaapiobject.c:
29628         * gst-libs/gst/vaapi/gstvaapiobject.h:
29629         * tests/test-surfaces.c:
29630           Add "destroy" signal.
29631
29632 2010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29633
29634         * docs/reference/libs/libs-docs.xml.in:
29635           Improve gst-plugins-vaapi Library reference template.
29636
29637 2010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29638
29639         * docs/reference/libs/libs-docs.xml.in:
29640         * docs/reference/libs/libs-sections.txt:
29641         * gst-libs/gst/vaapi/Makefile.am:
29642         * gst-libs/gst/vaapi/gstvaapiimage.c:
29643         * gst-libs/gst/vaapi/gstvaapiimage.h:
29644         * gst-libs/gst/vaapi/gstvaapiobject.c:
29645         * gst-libs/gst/vaapi/gstvaapiobject.h:
29646         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29647         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
29648         * gst-libs/gst/vaapi/gstvaapisurface.c:
29649         * gst-libs/gst/vaapi/gstvaapisurface.h:
29650         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29651           Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
29652
29653 2010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29654
29655         * sys/vaapisink/gstvaapisink.c:
29656           Fix return value.
29657
29658 2010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29659
29660         * sys/vaapisink/gstvaapisink.c:
29661           Make sure VA display is valid when created with an explicit "display" name.
29662
29663 2010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29664
29665         * sys/vaapisink/gstvaapisink.c:
29666           Use plain "display" property for the X11 display name.
29667
29668 2010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29669
29670         * sys/vaapiconvert/gstvaapiconvert.c:
29671         * sys/vaapisink/gstvaapisink.c:
29672           Document vaapiconvert & vaapisink plugins.
29673
29674 2010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29675
29676         * configure.ac:
29677         * docs/reference/Makefile.am:
29678         * docs/reference/plugins/Makefile.am:
29679         * docs/reference/plugins/plugins-docs.xml.in:
29680         * docs/reference/plugins/plugins-overrides.txt:
29681         * docs/reference/plugins/plugins-sections.txt:
29682         * docs/reference/plugins/plugins.types:
29683           Add plugins documentation template.
29684
29685 2010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29686
29687         * sys/vaapisink/gstvaapisink.c:
29688         * sys/vaapisink/gstvaapisink.h:
29689           Don't export gst_vaapisink_get_display().
29690
29691 2010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29692
29693         * configure.ac:
29694         * docs/reference/libs/libs-docs.xml.in:
29695         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29696         * gst-libs/gst/vaapi/gstvaapiimage.c:
29697         * gst-libs/gst/vaapi/gstvaapisurface.c:
29698         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29699           Drop introspection annotations since they require gtk-doc >= 1.12.
29700
29701 2010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29702
29703         * gst-libs/gst/vaapi/gstvaapisurface.c:
29704           Add note about the fact that the surface holds an extra reference to the subpicture.
29705
29706 2010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29707
29708         * gst-libs/gst/vaapi/gstvaapiimage.c:
29709         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29710         * gst-libs/gst/vaapi/gstvaapisurface.c:
29711           Improve debugging messages.
29712
29713 2010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29714
29715         * tests/test-windows.c:
29716           Unref subpicture earlier as the surface is supposed to hold a reference to it.
29717
29718 2010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29719
29720         * docs/reference/libs/libs-sections.txt:
29721         * gst-libs/gst/vaapi/gstvaapisurface.c:
29722         * gst-libs/gst/vaapi/gstvaapisurface.h:
29723         * tests/test-windows.c:
29724           Add gst_vaapi_surface_{,de}associate_subpicture() API.
29725
29726 2010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29727
29728         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29729           Wait for MapNotify or UnmapNotify events on foreign windows too.
29730
29731 2010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29732
29733         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29734           Check whether the foreign XID is mapped at binding time.
29735
29736 2010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29737
29738         * sys/vaapisink/gstvaapisink.c:
29739           Add missing includes.
29740
29741 2010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29742
29743         * configure.ac:
29744         * debian/Makefile.am:
29745         * debian/control.in:
29746         * debian/gstreamer-vaapi-doc.install.in:
29747         * debian/rules:
29748           Add -doc package.
29749
29750 2010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29751
29752         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29753           Fix warnings (drop extraneous var).
29754
29755 2010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29756
29757         * docs/reference/libs/libs-sections.txt:
29758         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29759           Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
29760
29761 2010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29762
29763         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29764           Shorten condition.
29765
29766 2010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29767
29768         * gst-libs/gst/vaapi/Makefile.am:
29769         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29770         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29771         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
29772         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29773           Try to improve switch to fullscreen mode.
29774
29775 2010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29776
29777         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
29778         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29779         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29780           Improve display locking and rework X event wait functions.
29781
29782 2010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29783
29784         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29785         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
29786           Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
29787
29788 2010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29789
29790         * gst-libs/gst/vaapi/Makefile.am:
29791         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29792         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
29793           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.
29794
29795 2010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29796
29797         * docs/reference/libs/libs-sections.txt:
29798         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29799         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29800           Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
29801
29802 2010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29803
29804         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29805         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29806         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29807           Add gst_vaapi_window_get_display() to base.
29808
29809 2010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29810
29811         * docs/reference/libs/libs-docs.xml.in:
29812         * docs/reference/libs/libs-sections.txt:
29813         * gst-libs/gst/vaapi/Makefile.am:
29814         * gst-libs/gst/vaapi/gstvaapitypes.h:
29815         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29816         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29817         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29818         * sys/vaapisink/gstvaapisink.c:
29819         * sys/vaapisink/gstvaapisink.h:
29820           Add GstVaapiPoint & GstVaapiRectangle data structures.
29821
29822 2010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29823
29824         * NEWS:
29825           0.1.1.
29826
29827 2010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29828
29829         * NEWS:
29830         * sys/vaapisink/gstvaapisink.c:
29831         * sys/vaapisink/gstvaapisink.h:
29832           Allow `vaapisink` to render videos in fullscreen mode.
29833
29834 2010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29835
29836         * docs/reference/libs/libs-sections.txt:
29837         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29838         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29839         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29840           Add gst_vaapi_window_set_fullscreen() API.
29841
29842 2010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29843
29844         * sys/vaapisink/gstvaapisink.c:
29845           Size window so that to respect the video and pixel aspect ratio.
29846
29847 2010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29848
29849         * docs/reference/libs/libs-sections.txt:
29850         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29851         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29852         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29853         * tests/test-display.c:
29854           Add gst_vaapi_display_get_pixel_aspect_ratio().
29855
29856 2010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29857
29858         * docs/reference/libs/libs-sections.txt:
29859           Updates.
29860
29861 2010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29862
29863         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29864         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29865         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29866         * tests/test-display.c:
29867           Add display size accessors.
29868
29869 2010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29870
29871         * configure.ac:
29872         * debian/control.in:
29873           Build-Requires: gstreamer-plugins-base >= 0.10.16.
29874
29875 2010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29876
29877         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29878         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
29879         * gst-libs/gst/vaapi/gstvaapiimage.h:
29880         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
29881         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
29882         * gst-libs/gst/vaapi/gstvaapisurface.h:
29883         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
29884         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
29885         * gst-libs/gst/vaapi/gstvaapivideopool.h:
29886         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29887         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29888           Fix documentation of *Class'es.
29889
29890 2010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29891
29892         * gst-libs/gst/vaapi/gstvaapiutils.c:
29893         * gst-libs/gst/vaapi/gstvaapiutils.h:
29894         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29895           Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
29896
29897 2010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29898
29899         * docs/reference/libs/libs-sections.txt:
29900         * gst-libs/gst/vaapi/gstvaapisurface.h:
29901         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29902           Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
29903
29904 2010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29905
29906         * docs/reference/libs/libs-sections.txt:
29907         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29908         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29909         * sys/vaapisink/gstvaapisink.c:
29910         * tests/test-windows.c:
29911           Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
29912
29913 2010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29914
29915         * docs/reference/libs/Makefile.am:
29916           Fix make dist for --enable-gtk-doc builds.
29917
29918 2010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29919
29920         * autogen.sh:
29921           Improve autogen.sh.
29922
29923 2010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29924
29925         * Makefile.am:
29926         * autogen.sh:
29927           Generate gtk-doc.make from gtkdocize.
29928
29929 2010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29930
29931         * Makefile.am:
29932         * NEWS:
29933         * configure.ac:
29934         * docs/Makefile.am:
29935         * docs/reference/Makefile.am:
29936         * docs/reference/libs/Makefile.am:
29937         * docs/reference/libs/libs-docs.xml.in:
29938         * docs/reference/libs/libs-overrides.txt:
29939         * docs/reference/libs/libs-sections.txt:
29940         * docs/reference/libs/libs.types:
29941           Document public API for libgstvaapi-*.so.*.
29942
29943 2010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29944
29945         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29946         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
29947           Document GstVaapiVideoBuffer.
29948
29949 2010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29950
29951         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
29952         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
29953         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
29954         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
29955         * gst-libs/gst/vaapi/gstvaapivideopool.c:
29956         * gst-libs/gst/vaapi/gstvaapivideopool.h:
29957           Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
29958
29959 2010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29960
29961         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29962         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29963         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
29964         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
29965         * gst-libs/gst/vaapi/gstvaapiimage.c:
29966         * gst-libs/gst/vaapi/gstvaapiimage.h:
29967         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
29968         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
29969         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29970         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
29971         * gst-libs/gst/vaapi/gstvaapisurface.c:
29972         * gst-libs/gst/vaapi/gstvaapisurface.h:
29973         * gst-libs/gst/vaapi/gstvaapivideosink.c:
29974         * gst-libs/gst/vaapi/gstvaapivideosink.h:
29975         * gst-libs/gst/vaapi/gstvaapiwindow.c:
29976         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29977         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
29978         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29979           Add tedious documentation.
29980
29981 2010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29982
29983         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29984           Beautify append_formats().
29985
29986 2010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29987
29988         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29989           Simplify GstVaapiDisplay (use GArray).
29990
29991 2010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29992
29993         * NEWS:
29994         * sys/vaapiconvert/gstvaapiconvert.c:
29995         * sys/vaapiconvert/gstvaapiconvert.h:
29996           Factor out direct-rendering infrastructure.
29997
29998 2010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
29999
30000         * sys/vaapiconvert/gstvaapiconvert.c:
30001         * sys/vaapiconvert/gstvaapiconvert.h:
30002           Allow user to specify inout-buffers & derive-image optimizations.
30003
30004 2010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30005
30006         * sys/vaapiconvert/gstvaapiconvert.c:
30007           Reduce number of debug messaged printed out.
30008
30009 2010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30010
30011         * sys/vaapiconvert/gstvaapiconvert.c:
30012         * sys/vaapiconvert/gstvaapiconvert.h:
30013           Add vaDeriveImage() optimization.
30014
30015 2010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30016
30017         * gst-libs/gst/vaapi/gstvaapiimage.c:
30018           Fix gst_vaapi_image_create() from a foreign VA image.
30019
30020 2010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30021
30022         * gst-libs/gst/vaapi/gstvaapiimage.c:
30023         * gst-libs/gst/vaapi/gstvaapiimage.h:
30024         * gst-libs/gst/vaapi/gstvaapisurface.c:
30025         * gst-libs/gst/vaapi/gstvaapisurface.h:
30026           Add gst_vaapi_surface_derive_image() API.
30027
30028 2010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30029
30030         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30031         * gst-libs/gst/vaapi/gstvaapiwindow.h:
30032         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30033           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().
30034
30035 2010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30036
30037         * tests/test-windows.c:
30038           Try YV12 & I420 image formats too.
30039
30040 2010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30041
30042         * gst-libs/gst/vaapi/gstvaapiimage.c:
30043           Split map/unmap functions into internal functions that don't check preconditions.
30044
30045 2010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30046
30047         * gst-libs/gst/vaapi/gstvaapiimage.c:
30048           Improve gst_vaapi_image_new() sanity checks.
30049
30050 2010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30051
30052         * tests/test-windows.c:
30053           Fix typo.
30054
30055 2010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30056
30057         * sys/vaapiconvert/gstvaapiconvert.c:
30058           Check if our inout buffer is still alive or default to a separate output buffer.
30059
30060 2010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30061
30062         * sys/vaapiconvert/gstvaapiconvert.c:
30063         * sys/vaapiconvert/gstvaapiconvert.h:
30064           Factor out buffers negotiation and optimization checks.
30065
30066 2010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30067
30068         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30069         * gst-libs/gst/vaapi/gstvaapiimage.c:
30070         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30071         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30072         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30073         * sys/vaapiconvert/gstvaapiconvert.h:
30074           Use gtypes.
30075
30076 2010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30077
30078         * gst-libs/gst/vaapi/gstvaapiimage.c:
30079           Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
30080
30081 2010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30082
30083         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30084         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30085         * gst-libs/gst/vaapi/gstvaapiimage.c:
30086         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30087         * gst-libs/gst/vaapi/gstvaapisurface.c:
30088         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30089           Add VA display locking utilities.
30090
30091 2010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30092
30093         * sys/vaapisink/gstvaapisink.c:
30094           Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
30095
30096 2010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30097
30098         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30099         * tests/test-windows.c:
30100           Don't show window by default during creation.
30101
30102 2010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30103
30104         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30105           Fix gst_vaapi_window_x11_destroy().
30106
30107 2010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30108
30109         * sys/vaapiconvert/gstvaapiconvert.c:
30110         * sys/vaapiconvert/gstvaapiconvert.h:
30111           Alias sink & src pad buffers whenever possible.
30112
30113 2010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30114
30115         * gst-libs/gst/vaapi/gstvaapiimage.c:
30116         * gst-libs/gst/vaapi/gstvaapiimage.h:
30117           Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
30118
30119 2010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30120
30121         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30122         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30123           Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
30124
30125 2010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30126
30127         * sys/vaapiconvert/gstvaapiconvert.c:
30128           Fix image & surface size cache.
30129
30130 2010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30131
30132         * configure.ac:
30133           Move gstreamer-vaapi package versioning to the top.
30134
30135 2010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30136
30137         * configure.ac:
30138           Bump version for development.
30139
30140 === release 0.1.0 ===
30141
30142 2010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30143
30144         * configure.ac:
30145           Cosmetics (shorten lines).
30146
30147 2010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30148
30149         * NEWS:
30150         * README:
30151           Update docs.
30152
30153 2010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30154
30155         * debian/Makefile.am:
30156         * debian/changelog.in:
30157         * debian/compat:
30158         * debian/control.in:
30159         * debian/copyright:
30160         * debian/gstreamer-vaapi.install.in:
30161         * debian/libgstvaapi-dev.install.in:
30162         * debian/libgstvaapi-x11.install.in:
30163         * debian/libgstvaapi.install.in:
30164         * debian/rules:
30165           Add debian packaging.
30166
30167 2010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30168
30169         * Makefile.am:
30170         * configure.ac:
30171           Add debian packaging.
30172
30173 2010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30174
30175         * pkgconfig/Makefile.am:
30176           Silence GNU make extensions warning.
30177
30178 2010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30179
30180         * configure.ac:
30181           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'
30182
30183 2010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30184
30185         * Makefile.am:
30186         * configure.ac:
30187         * pkgconfig/Makefile.am:
30188         * pkgconfig/gstreamer-vaapi-x11.pc.in:
30189         * pkgconfig/gstreamer-vaapi.pc.in:
30190           Add pkgconfig files.
30191
30192 2010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30193
30194         * configure.ac:
30195         * gst-libs/gst/vaapi/Makefile.am:
30196         * sys/vaapisink/Makefile.am:
30197         * tests/Makefile.am:
30198           Split X11 support to libgstvaapi-x11-*.so.*
30199
30200 2010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30201
30202         * gst-libs/gst/vaapi/Makefile.am:
30203           Don't install private headers.
30204
30205 2010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30206
30207         * gst-libs/gst/vaapi/gstvaapidebug.h:
30208         * gst-libs/gst/vaapi/gstvaapiutils.c:
30209         * gst-libs/gst/vaapi/gstvaapiutils.h:
30210           Fix header guards.
30211
30212 2010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30213
30214         * gst-libs/gst/vaapi/Makefile.am:
30215         * gst-libs/gst/vaapi/gstvaapidebug.h:
30216         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30217         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30218         * gst-libs/gst/vaapi/gstvaapiimage.c:
30219         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
30220         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30221         * gst-libs/gst/vaapi/gstvaapisurface.c:
30222         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30223         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30224         * gst-libs/gst/vaapi/gstvaapivideopool.c:
30225         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30226         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30227           Rename vaapi_debug.h to gstvaapidebug.h.
30228
30229 2010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30230
30231         * gst-libs/gst/vaapi/Makefile.am:
30232         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30233         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30234         * gst-libs/gst/vaapi/gstvaapiimage.c:
30235         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30236         * gst-libs/gst/vaapi/gstvaapisurface.c:
30237         * gst-libs/gst/vaapi/gstvaapiutils.c:
30238         * gst-libs/gst/vaapi/gstvaapiutils.h:
30239         * gst-libs/gst/vaapi/vaapi_debug.h:
30240           Move vaapi_utils.* to gstvaapiutils.*
30241
30242 2010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30243
30244         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30245           Cosmetics (remove an extra line).
30246
30247 2010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30248
30249         * gst-libs/gst/vaapi/Makefile.am:
30250         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30251         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30252         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30253           Move X11 utilties to gstvaapiutils_x11.[ch].
30254
30255 2010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30256
30257         * gst-libs/gst/vaapi/Makefile.am:
30258         * gst-libs/gst/vaapi/gstvaapivideosink.c:
30259         * gst-libs/gst/vaapi/gstvaapivideosink.h:
30260         * sys/vaapiconvert/gstvaapiconvert.c:
30261         * sys/vaapisink/gstvaapisink.c:
30262           Rename GstVaapiSinkBase to GstVaapiVideoSink.
30263
30264 2010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30265
30266         * configure.ac:
30267         * tests/Makefile.am:
30268         * tests/examples/Makefile.am:
30269         * tests/examples/generic/Makefile.am:
30270         * tests/test-display.c:
30271         * tests/test-surfaces.c:
30272         * tests/test-windows.c:
30273           Move tests to top-level tests/ directory.
30274
30275 2010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30276
30277         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30278         * gst-libs/gst/vaapi/gstvaapiimage.c:
30279         * sys/vaapiconvert/gstvaapiconvert.c:
30280         * sys/vaapiconvert/gstvaapiconvert.h:
30281           Handle I420 formats internally in GstVaapiImage.
30282
30283 2010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30284
30285         * sys/vaapiconvert/gstvaapiconvert.c:
30286         * sys/vaapiconvert/gstvaapiconvert.h:
30287           Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
30288
30289 2010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30290
30291         * gst-libs/gst/vaapi/gstvaapiimage.c:
30292           Implement I420 and YV12 if the underlying implementation does not.
30293
30294 2010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30295
30296         * sys/vaapiconvert/Makefile.am:
30297         * sys/vaapiconvert/gstvaapiconvert.c:
30298         * sys/vaapiconvert/gstvaapiconvert.h:
30299           Add initial vaapiconvert plugin.
30300
30301 2010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30302
30303         * sys/vaapisink/gstvaapisink.c:
30304         * sys/vaapisink/gstvaapisink.h:
30305           Display frames.
30306
30307 2010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30308
30309         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30310           Factor out.
30311
30312 2010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30313
30314         * tests/examples/generic/test-windows.c:
30315           Generate R/G/B rects.
30316
30317 2010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30318
30319         * gst-libs/gst/vaapi/gstvaapisurface.c:
30320         * gst-libs/gst/vaapi/gstvaapisurface.h:
30321           Add gst_vaapi_surface_sync().
30322
30323 2010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30324
30325         * gst-libs/gst/vaapi/gstvaapiimage.c:
30326           Cosmetics (reverse args order).
30327
30328 2010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30329
30330         * gst-libs/gst/vaapi/gstvaapiimage.c:
30331         * gst-libs/gst/vaapi/gstvaapiimage.h:
30332         * gst-libs/gst/vaapi/gstvaapisurface.c:
30333           Cosmetics.
30334
30335 2010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30336
30337         * gst-libs/gst/vaapi/Makefile.am:
30338         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30339         * gst-libs/gst/vaapi/gstvaapiwindow.h:
30340         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30341         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
30342         * tests/examples/generic/Makefile.am:
30343         * tests/examples/generic/test-windows.c:
30344           Add VA/X11 window abstraction.
30345
30346 2010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30347
30348         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30349         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30350           Add VA and X11 display accessors.
30351
30352 2010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30353
30354         * gst-libs/gst/vaapi/gstvaapiimage.c:
30355           Fix preconditions.
30356
30357 2010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30358
30359         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30360           Cosmetics.
30361
30362 2010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30363
30364         * gst-libs/gst/vaapi/gstvaapiimage.c:
30365         * gst-libs/gst/vaapi/gstvaapiimage.h:
30366         * gst-libs/gst/vaapi/gstvaapisurface.c:
30367         * gst-libs/gst/vaapi/gstvaapisurface.h:
30368           Add gst_vaapi_{get,put}_image() API.
30369
30370 2010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30371
30372         * gst-libs/gst/vaapi/gstvaapiimage.c:
30373         * gst-libs/gst/vaapi/gstvaapiimage.h:
30374           Add gst_vaapi_image_update_from_buffer() helper.
30375
30376 2010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30377
30378         * sys/vaapisink/Makefile.am:
30379         * sys/vaapisink/gstvaapisink.c:
30380         * sys/vaapisink/gstvaapisink.h:
30381           Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
30382
30383 2010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30384
30385         * tests/examples/generic/Makefile.am:
30386         * tests/examples/generic/test-surfaces.c:
30387           Add surface tests.
30388
30389 2010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30390
30391         * gst-libs/gst/vaapi/Makefile.am:
30392         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30393         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30394           Add basic GstVaapiVideoBuffer.
30395
30396 2010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30397
30398         * gst-libs/gst/vaapi/Makefile.am:
30399         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
30400         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
30401         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30402         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30403         * gst-libs/gst/vaapi/gstvaapivideopool.c:
30404         * gst-libs/gst/vaapi/gstvaapivideopool.h:
30405           Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
30406
30407 2010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30408
30409         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30410           Simplify format conversion code.
30411
30412 2010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30413
30414         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30415         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30416           Add gst_vaapi_image_format_from_caps() helper.
30417
30418 2010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30419
30420         * gst-libs/gst/vaapi/Makefile.am:
30421         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30422         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30423           Add VA surface pool (lazy allocator).
30424
30425 2010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30426
30427         * gst-libs/gst/vaapi/gstvaapisurface.c:
30428         * gst-libs/gst/vaapi/gstvaapisurface.h:
30429           Add gst_vaapi_surface_get_size() helper.
30430
30431 2010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30432
30433         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30434           Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
30435
30436 2010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30437
30438         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30439           Reset display-name if the user provided his own X11 display.
30440
30441 2010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30442
30443         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30444         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30445         * tests/examples/generic/test-display.c:
30446           Add gst_vaapi_display_x11_new_with_display() API.
30447
30448 2010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30449
30450         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30451         * gst-libs/gst/vaapi/gstvaapiimage.h:
30452         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
30453         * gst-libs/gst/vaapi/gstvaapisurface.h:
30454           Fix *_GET_CLASS() definitions...
30455
30456 2010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30457
30458         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30459         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30460         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30461         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30462         * tests/examples/generic/test-display.c:
30463           API change: gst_vaapi_display_x11_new() now takes an X11 display name.
30464
30465 2010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30466
30467         * gst-libs/gst/vaapi/gstvaapisurface.c:
30468         * gst-libs/gst/vaapi/gstvaapisurface.h:
30469           Use GstVaapiChromaType abstraction.
30470
30471 2010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30472
30473         * gst-libs/gst/vaapi/gstvaapiimage.c:
30474         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30475         * gst-libs/gst/vaapi/gstvaapisurface.c:
30476           New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
30477
30478 2010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30479
30480         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30481           Don't warn on failure, just return an appropriate error or value.
30482
30483 2010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30484
30485         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30486         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30487         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30488           Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
30489
30490 2010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30491
30492         * gst-libs/gst/vaapi/Makefile.am:
30493         * gst-libs/gst/vaapi/gstvaapisinkbase.c:
30494         * gst-libs/gst/vaapi/gstvaapisinkbase.h:
30495           Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
30496
30497 2010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30498
30499         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30500         * gst-libs/gst/vaapi/gstvaapiimage.c:
30501         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30502         * gst-libs/gst/vaapi/gstvaapisurface.c:
30503         * gst-libs/gst/vaapi/vaapi_debug.h:
30504           Use GST_DEBUG.
30505
30506 2010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30507
30508         * gst-libs/gst/vaapi/gstvaapiimage.c:
30509         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30510           Fix GstVaapiImage and GstVaapiSubpicture initialization.
30511
30512 2010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30513
30514         * gst-libs/gst/vaapi/gstvaapisurface.c:
30515           Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
30516
30517 2010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30518
30519         * tests/examples/generic/test-display.c:
30520           Dump caps.
30521
30522 2010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30523
30524         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30525         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30526         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30527           Fix GstVaapiDisplay initialization.
30528
30529 2010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30530
30531         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30532         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30533           Get VA image & subpicture formats as GstCaps.
30534
30535 2010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30536
30537         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30538         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30539           Add helper to convert from GstVaapiImageFormat to GstCaps.
30540
30541 2010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30542
30543         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30544         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30545         * gst-libs/gst/vaapi/gstvaapisurface.c:
30546           Cosmetics (drop unused variables).
30547
30548 2010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30549
30550         * configure.ac:
30551         * sys/vaapiconvert/Makefile.am:
30552         * sys/vaapiconvert/gstvaapiconvert.c:
30553         * sys/vaapiconvert/gstvaapiconvert.h:
30554         * sys/vaapisink/Makefile.am:
30555         * sys/vaapisink/gstvaapisink.c:
30556         * sys/vaapisink/gstvaapisink.h:
30557           Add boilerplate for vaapiconvert and vaapisink elements.
30558
30559 2010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30560
30561         * configure.ac:
30562         * sys/Makefile.am:
30563         * sys/vaapiconvert/Makefile.am:
30564           Add vaapiconvert element hierarchy.
30565
30566 2010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30567
30568         * sys/vaapisink/Makefile.am:
30569           Rename to vaapisink.
30570
30571 2010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30572
30573         * gst-libs/gst/vaapi/gstvaapisurface.c:
30574           Shorter code (and more correct).
30575
30576 2010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30577
30578         * gst-libs/gst/vaapi/gstvaapisurface.c:
30579         * gst-libs/gst/vaapi/gstvaapisurface.h:
30580           Add helper to get GstVaapiDisplay from a surface.
30581
30582 2010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30583
30584         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30585           Fix subpicture formats list length.
30586
30587 2010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30588
30589         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30590         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30591           Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
30592
30593 2010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30594
30595         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30596         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30597           Cosmetics (more checks, includes).
30598
30599 2010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30600
30601         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30602         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
30603           Really add VA subpicture abstraction.
30604
30605 2010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30606
30607         * gst-libs/gst/vaapi/Makefile.am:
30608         * gst-libs/gst/vaapi/gstvaapiimage.c:
30609         * gst-libs/gst/vaapi/gstvaapiimage.h:
30610         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30611         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30612         * gst-libs/gst/vaapi/gstvaapisurface.c:
30613         * gst-libs/gst/vaapi/gstvaapisurface.h:
30614           Add VA surface, image, subpicture abstractions. Ported over from Gnash.
30615
30616 2010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30617
30618         * configure.ac:
30619         * gst-libs/gst/vaapi/Makefile.am:
30620         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30621         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30622         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30623         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30624         * gst-libs/gst/vaapi/vaapi_debug.h:
30625         * gst-libs/gst/vaapi/vaapi_utils.c:
30626         * gst-libs/gst/vaapi/vaapi_utils.h:
30627         * tests/examples/generic/Makefile.am:
30628         * tests/examples/generic/test-display.c:
30629           Add initial VA display abstraction.
30630
30631 2010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30632
30633         * Makefile.am:
30634         * configure.ac:
30635         * tests/Makefile.am:
30636         * tests/examples/Makefile.am:
30637         * tests/examples/generic/Makefile.am:
30638           Add tests infrastructure.
30639
30640 2010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30641
30642         * configure.ac:
30643           Clean up VA-API checks.
30644
30645 2010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
30646
30647         * configure.ac:
30648           Check for __attribute__((visibility("hidden"))).
30649