Release 1.13.91
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 1.13.91 ===
2
3 2018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
4
5         * NEWS:
6         * configure.ac:
7         * gstreamer-vaapi.doap:
8         * meson.build:
9           Release 1.13.91
10
11 === release 1.13.90 ===
12
13 2018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
14
15         * ChangeLog:
16         * NEWS:
17         * configure.ac:
18         * gstreamer-vaapi.doap:
19         * meson.build:
20           Release 1.13.90
21
22 2018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23
24         * gst/vaapi/gstvaapipostproc.c:
25           vaapipostproc: change how the metadata is copied
26           Instead of copying the metada in prepare_output_buffer() vmethod,
27           it is done in append_output_buffer_metadata() thus deinterlaced
28           buffers could also have the proper metas.
29           GstVideoCropMeta now it is copied internally and it is decided via
30           transform_meta() vmethod.
31           A new internal method, copy_metadata() was added to handle VPP
32           transformation where non-GstVideoVaapiMeta metas were lost.
33
34 2018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
35
36         * gst/vaapi/gstvaapipostproc.c:
37           postproc: Copy meta data from input to output
38           This will ensure that meta data without memory tags will be copied. This
39           was noticed when testing ROI.
40           https://bugzilla.gnome.org/show_bug.cgi?id=768248
41
42 2018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
43
44         * tests/elements/test-roi.c:
45           tests: element: rewrite ROI test
46           Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
47           than injecting GstEvents. These meta are added as a pad probe in
48           the queue src pad.
49           Also
50           * Use of navigation messages to control de test
51           * Use signal watch for processing messages
52           * Change to H265 rather than H264 since current intel-vaapi-driver
53           only supports ROI on kabylake.
54           TODO: add a parameter to change the encoder/decoder to test.
55           https://bugzilla.gnome.org/show_bug.cgi?id=768248
56
57 2018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
58
59         * gst-libs/gst/vaapi/gstvaapicontext.c:
60         * gst-libs/gst/vaapi/gstvaapiencoder.c:
61         * gst-libs/gst/vaapi/gstvaapiencoder.h:
62         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
63         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
64         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
65           libs: encoder: reimplement ROI using meta
66           Check input buffers for ROI metas and pass them to VA. Also added a
67           new "default-roi-delta-qp" property in order to tell the encoder what
68           delta QP should be applied to ROI by default.
69           Enabled it for H264 and H265 encoders.
70           https://bugzilla.gnome.org/show_bug.cgi?id=768248
71
72 2018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
73
74         * gst-libs/gst/vaapi/gstvaapiencoder.c:
75         * gst-libs/gst/vaapi/gstvaapiencoder.h:
76         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
77           Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
78           This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
79           https://bugzilla.gnome.org/show_bug.cgi?id=768248
80
81 2018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
82
83         * tests/simple-encoder.c:
84           Revert "tests: simple-encoder: add an option to set ROI"
85           This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
86           https://bugzilla.gnome.org/show_bug.cgi?id=768248
87
88 2018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
89
90         * gst/vaapi/gstvaapiencode.c:
91         * gst/vaapi/gstvaapiencode_h264.c:
92           Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
93           This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
94           https://bugzilla.gnome.org/show_bug.cgi?id=768248
95
96 2018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
97
98         * gst/vaapi/gstvaapipluginbase.c:
99           plugins: copy input buffer metas
100           When importing buffers to a VA-base buffer, it is required to copy
101           the metas in the original buffer, otherwise information will be
102           lost, such as GstVideoRegionOfInterestMeta.
103           https://bugzilla.gnome.org/show_bug.cgi?id=768248
104
105 2018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
106
107         * gst-libs/gst/vaapi/gstvaapisurface.c:
108           libs: surface: cast to uintptr_t pointer
109           According to Debian package auto-building, uintptr_t is not an
110           unsigned long in i386 arch, raising an "incompatible pointer type"
111           error.
112           This patch adds a casting for compiler's satisfaction in i386.
113
114 2018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
115
116         * gst-libs/gst/vaapi/gstvaapiencoder.c:
117           libs: encoder: add zero as valid value for periodic keyframe.
118           Enabled zero as valid value for keyframe-period property.
119           https://bugzilla.gnome.org/show_bug.cgi?id=793829
120
121 2018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
122
123         * gst-libs/gst/vaapi/gstvaapiencoder.c:
124           libs: encoder: code-style fix
125
126 2018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
127
128         * gst/vaapi/gstvaapidecode.c:
129           vaapidecode: generate system allocated buffers
130           Generate system allocated output buffers when downstream doesn't
131           support GstVideoMeta.
132           The VA buffer content is copied to the new output buffer, and it
133           replaces the VA buffer.
134           https://bugzilla.gnome.org/show_bug.cgi?id=785054
135
136 2018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
137
138         * gst/vaapi/gstvaapipostproc.c:
139           vaapipostproc: handle system allocated buffers when required
140           When downstream can't handle GstVideoMeta it is required to send
141           system allocated buffers.
142           The system allocated buffers are produced in prepare_output_buffer()
143           vmethod if downstream can't handl GstVideoMeta.
144           At transform() vmethod if the buffer is a system allocated buffer,
145           a VA buffer is instanciated and replaces the out buffer. Later
146           the VA buffer is copied to the system allocate buffer and it
147           replaces the output buffer.
148           https://bugzilla.gnome.org/show_bug.cgi?id=785054
149
150 2018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
151
152         * gst/vaapi/gstvaapipluginbase.c:
153         * gst/vaapi/gstvaapipluginbase.h:
154           plugins: add gst_vaapi_copy_va_buffer()
155           This helper function aims to copy buffers with VA memory to dumb
156           buffers, when GstVideoMeta is not available dowstream.
157           https://bugzilla.gnome.org/show_bug.cgi?id=785054
158
159 2018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
160
161         * gst/vaapi/gstvaapipluginbase.c:
162         * gst/vaapi/gstvaapipluginbase.h:
163           plugins: add COPY_OUTPUT_FRAME flag
164           This patch add the member copy_output_frame and set it TRUE when
165           when downstream didn't request GstVideoMeta API, the caps are raw
166           and the internal allocator is the VA-API one.
167           https://bugzilla.gnome.org/show_bug.cgi?id=785054
168
169 2018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
170
171         * gst/vaapi/gstvaapipluginbase.c:
172         * gst/vaapi/gstvaapipluginbase.h:
173           plugins: store the first downstream allocator if available
174           The allocator will be required if we need to allocate a buffer
175           to store the frame with the expected strides.
176           https://bugzilla.gnome.org/show_bug.cgi?id=785054
177
178 2018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
179
180         * gst/vaapi/gstvaapivideobufferpool.c:
181         * gst/vaapi/gstvaapivideobufferpool.h:
182           vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
183           This function will inform the element if it shall copy the generated
184           buffer by the pool to a system allocated buffer before pushing it
185           to downstream.
186           https://bugzilla.gnome.org/show_bug.cgi?id=785054
187
188 2018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
189
190         * gst/vaapi/gstvaapivideobufferpool.c:
191           vaapibufferpool: don't change config when forcing video meta
192           VA-API based buffer might need a video meta because of different
193           strides. But when donwstream doesn't support video meta we need to
194           force the usage of video meta.
195           Before we changed the buffer pool configuration, but actually this
196           is a hack and we cannot rely on that for downstream.
197           This patch add a check fo raw video caps and allocator is VA-API,
198           then the option is enabled without changing the pool configuration.
199           In this case the element is responsible to copy the frame to a
200           simple buffer with the expected strides.
201           https://bugzilla.gnome.org/show_bug.cgi?id=785054
202
203 2018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
204
205         * gst/vaapi/gstvaapipostproc.c:
206           vaapipostproc: set discont flag at vpp deinterlacing
207           When deinterlacing with VPP the discont flag was not forwarded to
208           the new created buffer. This patch sets the discont flag if input
209           buffer has it.
210
211 2018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
212
213         * gst/vaapi/gstvaapivideobufferpool.h:
214           vaapibufferpool: remove wrong gcc annotation
215
216 2018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
217
218         * gst-libs/gst/vaapi/gstvaapiencoder.c:
219         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
220         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
221         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
222         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
223         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
224         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
225           libs: encoder: h264,h265: extend max periodic keyframe.
226           Increased max values of periodic key frame for h26x codecs.
227           This allow more fine tunning of encoder that in certian scenario
228           want higher periodic key frame.
229           For example: it doesn't want a key frame each 10 seconds but
230           each 120 seconds.
231           https://bugzilla.gnome.org/show_bug.cgi?id=786320
232
233 2018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
234
235         * configure.ac:
236         * meson.build:
237           Back to development
238
239 === release 1.13.1 ===
240
241 2018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
242
243         * Makefile.am:
244         * NEWS:
245         * configure.ac:
246         * gstreamer-vaapi.doap:
247         * meson.build:
248           Release 1.13.1
249
250 2018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
251
252         * gst/vaapi/Makefile.am:
253           vaapi: dist new header
254
255 2018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
256
257         * gst/vaapi/gstvaapi.c:
258           vaapi: register vaapisink as marginal on wayland
259           vaapsink, when used with the Intel VA-API driver, tries to display
260           surfaces with format NV12, which are handled correctly by
261           Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
262           pipelines on mutter.
263           This shall be solved either by COGL or by making the driver to paint
264           RGB surfaces. In the meanwhile, let's just demote vaapisink as
265           marginal when the Wayland environment is detected, no matter if it is
266           Weston.
267           https://bugzilla.gnome.org/show_bug.cgi?id=775698
268
269 2018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
270
271         * gst/vaapi/gstvaapipluginutil.c:
272           plugins: update mesa's vendor string in whitelist
273           Mesa has updated its VA-API Gallium driver vendor string:
274           https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
275           This patch tries to cover both, the old and the new one.
276           https://bugzilla.gnome.org/show_bug.cgi?id=793386
277
278 2018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
279
280         * meson.build:
281           meson: make version numbers ints and fix int/string comparison
282           WARNING: Trying to compare values of different types (str, int).
283           The result of this is undefined and will become a hard error
284           in a future Meson release.
285
286 2018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
287
288         * gst/vaapi/gstvaapipluginbase.c:
289           plugins: handle vaapi allocator in allocation query
290           In propose_allocation() if the numer of allocation params is zero, the
291           system's allocator is added first, and lastly the native VA-API
292           allocator.
293           In decide_allocation(), the allocations params in query are travered,
294           looking for a native VA-API allocator. If it is found, it is reused as
295           src pad allocator. Otherwise, a new allocator is instantiated and
296           appended in the query.
297           https://bugzilla.gnome.org/show_bug.cgi?id=789476
298
299 2018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
300
301         * gst/vaapi/gstvaapivideomemory.h:
302           vaapivideomemory: remove unused macro
303           GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
304           was never used, since the native VA-API allocator name has been
305           GST_VAAPI_VIDEO_MEMORY_NAME.
306           This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
307           https://bugzilla.gnome.org/show_bug.cgi?id=789476
308
309 2018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
310
311         * gst/vaapi/gstvaapisink.c:
312           vaapisink: don't mask button events for foreign windows
313           Don't subscribe to button press events when using a foreing window,
314           because the user created window would trap those events, preveting the
315           show of frames.
316           https://bugzilla.gnome.org/show_bug.cgi?id=791615
317
318 2018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
319
320         * configure.ac:
321           autotools: use -fno-strict-aliasing where supported
322           https://bugzilla.gnome.org/show_bug.cgi?id=769183
323
324 2018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
325
326         * meson.build:
327           meson: use -fno-strict-aliasing where supported
328           https://bugzilla.gnome.org/show_bug.cgi?id=769183
329
330 2018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
331
332         * gst/vaapi/gstvaapi.c:
333           vaapi: add NULL-sentinel to kernel_names
334           The array needs to be NULL-terminated according to the
335           gst_plugin_add_dependency() documentation.
336
337 2018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
338
339         * gst/vaapi/gstvaapipostprocutil.c:
340           vaapipostproc: remove spurious code
341           This assignation is dead code, since gst_video_info_from_caps() set
342           to 1 by default.
343           https://bugzilla.gnome.org/show_bug.cgi?id=790149
344
345 2018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
346
347         * gst/vaapi/gstvaapipostprocutil.c:
348           vaapipostproc: if no p-a-r in out caps define a range
349           Instead of copying the pixel-aspect-ratio from the sink caps, define
350           an open range for the src caps pixel-aspect-ratio. Later it will be
351           defined.
352           https://bugzilla.gnome.org/show_bug.cgi?id=790149
353
354 2018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
355
356         * gst/vaapi/gstvaapisink.c:
357           vaapisink: check for display's color-balance properties
358           Check for display's color-balance properties, available by the VA-API
359           driver, before setting them.
360           Also logs an info message of those unavailable properties.
361           https://bugzilla.gnome.org/show_bug.cgi?id=792638
362
363 2018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
364
365         * gst/vaapi/gstvaapipluginbase.c:
366           plugins: re-using buffer pool breaks renegotiation
367           at propose_allocation() we should not reuse the proposed buffer,
368           because it could break renegotiation.
369           https://bugzilla.gnome.org/show_bug.cgi?id=792620
370
371 2018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
372
373         * gst/vaapi/gstvaapipluginbase.c:
374           plugins: use g_clear_object() to unref sinkpad_buffer_pool
375           https://bugzilla.gnome.org/show_bug.cgi?id=792620
376
377 2018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
378
379         * gst-libs/gst/vaapi/meson.build:
380           build: meson: add missing GstGL dependency
381
382 2018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
383
384         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
385           libs: utils: egl: add missing guards for GstGL
386
387 2018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
388
389         * gst/vaapi/gstvaapipluginbase.c:
390           plugins: remove dmabuf-import hack
391           Remove the hack to check if an upstream element has enabled the
392           property io-mode enabled as dmabuf-import.
393           https://bugzilla.gnome.org/show_bug.cgi?id=792034
394
395 2017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
396
397         * gst-libs/gst/vaapi/Makefile.am:
398         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
399         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
400         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
401           libs: egl: utils: use eglGetPlatformDisplay()
402           eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
403           eglGetDisplay() is rather fragile, and it is recommended to use
404           eglGetPlatformDisplay() when possible.
405           In order to do that, this patch uses the helper in GstGL. If
406           gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
407           will be used.
408           https://bugzilla.gnome.org/show_bug.cgi?id=790493
409
410 2017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
411
412         * gst/vaapi/gstvaapipostproc.c:
413           vaapipostproc: lock ensure_filter with postproc_lock
414           gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
415           and allowed_sinkpad_caps. This can race with copying these caps in
416           gst_vaapipostproc_transform_caps and lead to segfaults.
417           The gst_vaapipostproc_transform_caps function already locks
418           postproc_lock before copying the caps. Make sure that calls to
419           gst_vaapipostproc_ensure_filter also acquire this lock.
420           https://bugzilla.gnome.org/show_bug.cgi?id=791404
421
422 2018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
423
424         * tests/test-filter.c:
425           tests: test-filter: fix dereference before null check
426           Null-checking op_info suggests that it may be null, but it has already
427           been dereferenced on all paths leading to the check.
428           There may be a null pointer dereference, or else the comparison
429           against null is unnecessary.
430
431 2018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
432
433         * tests/y4mreader.c:
434           tests: y4mreader: fix string state checkup
435           str cannot be null in that moment, but it may be the end of string.
436
437 2018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
438
439         * tests/y4mreader.c:
440           tests: y4mreader: use int for fgetc
441           Assigning the return value of fgetc to char truncates its value.
442           It will not be possible to distinguish between EOF and a valid
443           character.
444
445 2018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
446
447         * tests/y4mreader.c:
448           tests: y4mreader: fix incompatible cast
449           Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
450           they are dereferenced as a wider long (64 bits, signed). This may lead
451           to memory corruption.
452
453 2017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
454
455         * meson.build:
456           meson: fix fallback for gstreamer-gl-1.0, it's now in -base
457
458 2017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
459
460         * common:
461           Automatic update of common submodule
462           From e8c7a71 to 3fa2c9e
463
464 2017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
465
466         * gst/vaapi/gstvaapivideocontext.c:
467           videoconvert: gst_element_post_message() is transfer full on msg
468           For this reson we need not to unref the message, even if it failed.
469
470 2017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
471
472         * gst/vaapi/gstvaapivideocontext.c:
473           Revert "vaapivideocontext: possible memleak when no bus attached"
474           This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
475
476 2017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
477
478         * tests/elements/test-vaapicontext.c:
479           test: vaapicontext: process have-context bus message
480
481 2017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
482
483         * tests/elements/test-vaapicontext.c:
484           test: vaapicontext: app context is not persistent
485
486 2017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
487
488         * gst/vaapi/gstvaapipluginbase.c:
489         * gst/vaapi/gstvaapivideocontext.c:
490         * gst/vaapi/gstvaapivideocontext.h:
491           vaapivideocontext: only vaapisink process app context
492           gst.vaapi.app.Display context is made for applications that will
493           provide the VA display and the native display to used by the
494           pipeline, when are using vaapisink as overlay. There are no use
495           case for encoders, decoders, neither for the postprocessor.
496           In the case of the vaapisink, it shall query for gst.vaapi.Display
497           upstream first, and then, if there is no reply,
498           gst.vaapi.app.Display context will be posted in the bus for the
499           application. If the application replies, a GstVaapiDisplay object
500           is instantiated given the context info, otherwise a
501           GstVaapiDisplay is created with the normal algorithm to guess the
502           graphics platform. Either way, the instantiated GstVaapiDisplay
503           is propagated among the pipeline and the have-message bus message.
504           Also only vaapisink will process the gst.vaapi.app.Display, if
505           and only if, it doesn't have a display already set. This is
506           caused because if vaapisink is in a bin (playsink, for example)
507           the need-context is posted twice, leading to an error state.
508           https://bugzilla.gnome.org/show_bug.cgi?id=790999
509
510 2017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
511
512         * gst/vaapi/gstvaapivideocontext.c:
513           vaapivideocontext: log the name of GstVaapiDisplay
514           https://bugzilla.gnome.org/show_bug.cgi?id=790999
515
516 2017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
517
518         * gst/vaapi/gstvaapivideocontext.c:
519           vaapivideocontext: possible memleak when no bus attached
520           https://bugzilla.gnome.org/show_bug.cgi?id=790999
521
522 2017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
523
524         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
525           libs: window: wayland: remove unused header include
526           Remove wayland-client.h include since there is no exposed symbols from
527           it.
528
529 2017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
530
531         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
532         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
533           libs: encoder: h264,h265: guard rate control's macroblock
534           macroblock parameter appear on VA-API 1.0.0. It should be guarded.
535
536 2017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
537
538         * common:
539           Automatic update of common submodule
540           From 3f4aa96 to e8c7a71
541
542 2016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
543
544         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
545           libs: encoder: h264: Add Hierarchical-B encode
546           Frames are encoded as different layers. Frame in a particular
547           layer will use pictures in lower or same layer as references.
548           Which means decoder can drop the frames in upper layer but still
549           decode lower layer frames.
550           B-frames, except the one in top most layer, are reference frames.
551           All the base layer frames are I or P.
552           eg: with 3 temporal layers
553           T3:             B1            B3              B5              B7
554           T2:                   B2                              B6
555           T1:   I0                                P4                        P8
556           T1, T2, T3: Temporal Layers
557           P1...Pn:   P-Frames:
558           B1...Bn:   B-frames:
559           T1: I0->P4 , P4->P8 etc..
560           T2: I0--> B2 <-- P4
561           T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
562           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
563           https://bugzilla.gnome.org/show_bug.cgi?id=788918
564
565 2016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
566
567         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
568           libs: encoder: h264: Add Hierarchical-P encode
569           Frames are encoded as different layers. A frame in a particular
570           layer will use pictures in lower or same layer as references.
571           Which means decoder can drop the frames in upper layer but still
572           decode lower layer frames.
573           eg: with 3 temporal layers
574           T3:             P1            P3              P5              P7
575           T2:                   P2                              P6
576           T1:   P0                                P4                        P8
577           T1, T2, T3: Temporal Layers
578           P1...pn:   P-Frames:
579           P0->P1 , P0->P2, P2->P3, P0->P4......repeat
580           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
581           https://bugzilla.gnome.org/show_bug.cgi?id=788918
582
583 2016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
584
585         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
586           libs: encoder: h264: Fix frame_num generation
587           The frame_num generation was not correctly implemented.
588           According to h264 spec, frame_num should get incremented
589           for each frame if previous frame is a referece frame.
590           For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
591           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
592           https://bugzilla.gnome.org/show_bug.cgi?id=788918
593
594 2016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
595
596         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
597         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
598           libs: encoder: h264: Add new property "prediction-type"
599           Adds new property "prediction-type" to select different reference
600           picture selection modes like hierarchical-p, hierarchical-b etc.
601           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
602           https://bugzilla.gnome.org/show_bug.cgi?id=788918
603
604 2016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
605
606         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
607         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
608           libs: encoder: h264: Add machinery for implementing hierarchical-prediction
609           Adds some basic building blocks to ease the implementation
610           of hierarchical prediction modes.
611           -- add an utility method to find temporal level of each frame
612           -- define max_ref_frame count based on temporal level count
613           -- add temporal_level_div[] for finding temporal level each frame
614           to be encoded.
615           -- find ip_period based on temporal level count
616           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
617           https://bugzilla.gnome.org/show_bug.cgi?id=788918
618
619 2016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
620
621         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
622         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
623           libs: encoder: h264: Add property "temporal-levels"
624           Adds new property "temporal-levels" to select the number of
625           temporal levels to be included in the encoded stream.
626           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
627           https://bugzilla.gnome.org/show_bug.cgi?id=788918
628
629 2016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
630
631         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
632           libs: encoder: objects: Add a reference flag
633           We can have p-frame as non-ref and also b-frame as ref
634           which are not supported yet. Reference flag
635           is the first machinery needed for more advanced
636           reference picture selection modes.
637           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
638           https://bugzilla.gnome.org/show_bug.cgi?id=788918
639
640 2017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
641
642         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
643           libs: surface: egl: add comment
644           Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
645           where the creation of surfaces from GEM fd may fail.
646           https://bugzilla.gnome.org/show_bug.cgi?id=773453
647
648 2017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
649
650         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
651         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
652         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
653           libs: display: egl: add gst_vaapi_display_egl_set_current_display()
654           Adds a new function that changes the internal EGL display to the
655           current one (eglGetCurrentDisplay()) and sets the current context
656           too (eglGetCurrentContext()).
657           This new function is called by gst_vaapi_texture_egl_create() updating
658           the GstVaapiDisplayEGL with the current EGL display.
659           https://bugzilla.gnome.org/show_bug.cgi?id=773453
660
661 2017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
662
663         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
664           libs: texture: egl: update EGL display and context
665           It is required to use the context of the calling thread when wrapping
666           a foreign texture. According the documentation of
667           GstVideoGLTextureUploadMeta:
668           "The caller of gst_video_gl_texture_upload_meta_upload() must
669           have OpenGL set up and call this from a thread where it is valid
670           to upload something to an OpenGL texture."
671           This patch updates the EGL display and context in GstVaapiDisplay
672           instance to the one used by te renderer that uploads the texture.
673           Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
674           https://bugzilla.gnome.org/show_bug.cgi?id=773453
675
676 2017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
677
678         * gst/vaapi/gstvaapipluginbase.c:
679           plugins: centralize assignation of GL objects
680           Add plugin_set_gst_gl() where the GstGL objects are assigned.
681           https://bugzilla.gnome.org/show_bug.cgi?id=773453
682
683 2017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
684
685         * gst/vaapi/gstvaapipluginbase.c:
686           plugins: set GL objects if ensured
687           Only set the GL display and GL other context if they are ensured.
688           https://bugzilla.gnome.org/show_bug.cgi?id=773453
689
690 2017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
691
692         * gst/vaapi/gstvaapipluginbase.c:
693           plugins: set GL objects if context is handled
694           Only set the GL display and GL other context if they are extracted
695           correctly from the gstreamer's context.
696           https://bugzilla.gnome.org/show_bug.cgi?id=773453
697
698 2017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
699
700         * gst/vaapi/gstvaapipluginbase.c:
701           plugins: fix memory leak when GL context is created
702           When the GL display and context are created inside an VAAPI element
703           the created GL context is leaked.
704           https://bugzilla.gnome.org/show_bug.cgi?id=773453
705
706 2017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
707
708         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
709           libs: display: egl: free leaked memory
710           The EGL VAAPI display forgot to release the egl display, context and
711           proxied VAAPI display.
712           https://bugzilla.gnome.org/show_bug.cgi?id=773453
713
714 2017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
715
716         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
717           libs: texture: egl: code style
718           https://bugzilla.gnome.org/show_bug.cgi?id=773453
719
720 2017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
721
722         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
723           libs: surface: egl: error message if no extension
724           Instead of silently fail to export the image if there is not available
725           the EGL_MESA_drm_image, log an error message. Also a code refactoring
726           was done.
727           https://bugzilla.gnome.org/show_bug.cgi?id=773453
728
729 2017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
730
731         * gst/vaapi/gstvaapipluginbase.c:
732           plugins: direct rendering on memory:VASurface
733           As buffers negotiated with memory:VASurface caps feature can also be
734           mapped, they can also be configured to use VA derived images, in other
735           words "direct rendering".
736           Also, because of the changes in dmabuf allocator as default allocator,
737           the code for configuring the direct rendering was not clear.
738           This patch cleans up the code and enables direct rendering when the
739           environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
740           even then the memory:VASurface cap feature is negotiated.
741           https://bugzilla.gnome.org/show_bug.cgi?id=786054
742
743 2017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
744
745         * gst/vaapi/gstvaapipluginbase.c:
746         * gst/vaapi/gstvaapipluginutil.c:
747           plugins: only dmabuf on srcpad if downstream
748           Set if source pad can handle dmabuf only if the GstGL context comes
749           from downstream.
750           It is possible to know that at two moments:
751           1\ In the case of GstGLTextureUpload caps feature is negotiated and
752           downstream pool reports back gst.gl.GstGLContext.
753           2\ When GstGLContext is found as GstContext from dowstream.
754           https://bugzilla.gnome.org/show_bug.cgi?id=788503
755
756 2017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
757
758         * gst/vaapi/gstvaapivideocontext.c:
759           vaapivideocontext: add inline documentation
760           Document function gst_vaapi_find_gl_local_context().
761           https://bugzilla.gnome.org/show_bug.cgi?id=788503
762
763 2017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
764
765         * gst/vaapi/gstvaapipluginutil.c:
766         * gst/vaapi/gstvaapivideocontext.c:
767         * gst/vaapi/gstvaapivideocontext.h:
768           vaapivideocontext: return the direction of gl context
769           In function gst_vaapi_find_gl_context() add a direction parameter to
770           return back the direction where the GstGL context was found.
771           This is going to be useful when checking if downstream can import
772           dmabuf-based buffers.
773           https://bugzilla.gnome.org/show_bug.cgi?id=788503
774
775 2017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
776
777         * gst/vaapi/gstvaapipluginbase.c:
778         * gst/vaapi/gstvaapipluginbase.h:
779           plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
780           This patch refactors the code by adding the function
781           vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
782           GstGLContext can handle dmabuf-based buffers.
783           The function is exposed publicly since it is intended to be used later
784           at GstVaapiDisplay instantiation.
785           https://bugzilla.gnome.org/show_bug.cgi?id=788503
786
787 2017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
788
789         * gst/vaapi/gstvaapiencode.c:
790           vaapiencode: allow to set property on runtime
791           Tis patch, allows some properties that we want to be set on
792           runtime. (eg. bitrate)
793           Note that all properties are under control by num_codedbuf_queued.
794           https://bugzilla.gnome.org/show_bug.cgi?id=786321
795
796 2017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
797
798         * gst-libs/gst/vaapi/gstvaapiencoder.c:
799           libs: encoder: allow to set bitrate on runtime
800           In case of streaming, controlling bitrate dynamically for encoder might be
801           important to manage quality of the streaming.
802           This patch is to support such a scenario.
803           https://bugzilla.gnome.org/show_bug.cgi?id=786321
804
805 2017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
806
807         * gst/vaapi/gstvaapi.c:
808         * gst/vaapi/gstvaapi.h:
809         * gst/vaapi/gstvaapidecodebin.c:
810           vaapidecodebin: Register element if no VPP support is available too
811           VPP support is only needed for advanced deinterlacing, which is not
812           enabled by default either. Error out if it is selected but VPP is not
813           supported, and otherwise just work without VPP support.
814           https://bugzilla.gnome.org/show_bug.cgi?id=788758
815
816 2017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
817
818         * gst/vaapi/gstvaapipluginutil.c:
819           Avoid infinite loop when vaapi_create_display fails
820           Which might be the case when using, for example, xvfb.
821
822 2017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
823
824         * gst-libs/gst/vaapi/gstvaapiutils.c:
825           libs: utils: log warn if display fail
826           gstreamer-vaapi initializes the display by trial-and-error, thus
827           logging an error message if the display initialisation fails the user
828           may be weary of the error message in the screen, if using VA-API 1.0
829           This commit set the VA error log handler to GStreamer warning level
830           while calling vaInitialize() and set it to error after that.
831           https://bugzilla.gnome.org/show_bug.cgi?id=783169
832
833 2017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
834
835         * gst/vaapi/gstvaapipluginutil.c:
836           plugins: try to create test display in order
837           When creating the test display for querying capabilites, it try in
838           certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
839           since they are either composited with X11 or Wayland.
840           The reason for this is to reduce the posibility of failure that could
841           blacklist the plugin.
842           https://bugzilla.gnome.org/show_bug.cgi?id=782212
843
844 2017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
845
846         * gst-libs/gst/vaapi/gstvaapidisplay.c:
847         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
848           libs: display: delay getting screen resolution
849           Instead of extracting the screen resolution at GstVaapiDisplay
850           creation, this patch delay it until the screen size is requested for
851           first time.
852           https://bugzilla.gnome.org/show_bug.cgi?id=782212
853
854 2017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
855
856         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
857           libs: display: egl: avoid two vaDisplay instantiates
858           GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
859           or Wayland. Nonetheless it created another vaDisplay for it, instead
860           of using the wrapped one.
861           This patch enables the reuse of the wrapped vaDisplay avoiding
862           instantiating two.
863           https://bugzilla.gnome.org/show_bug.cgi?id=782212
864
865 2017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
866
867         * gst-libs/gst/vaapi/gstvaapidisplay.c:
868         * gst-libs/gst/vaapi/gstvaapidisplay.h:
869         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
870         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
871         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
872           libs: display: remove display_type from display info
873           Since it's no required to pass the display type in the display info,
874           the structure member is removed.
875           https://bugzilla.gnome.org/show_bug.cgi?id=782212
876
877 2017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
878
879         * gst-libs/gst/vaapi/gstvaapidisplay.c:
880         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
881           libs: display: remove display_type member
882           It is not used any more since GstVaapiDisplay was ported as a
883           GstObject-based. This information is part of the class information.
884           https://bugzilla.gnome.org/show_bug.cgi?id=782212
885
886 2017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
887
888         * gst-libs/gst/vaapi/gstvaapidisplay.c:
889         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
890           libs: display: remove parent member
891           Parent was a crumb left from display cache.
892           https://bugzilla.gnome.org/show_bug.cgi?id=782212
893
894 2017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
895
896         * gst/vaapi/gstvaapi.c:
897           vaapi: Also register vaapipostproc without VPP support
898           It can still do simple deinterlacing then.
899
900 2017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
901
902         * gst/vaapi/gstvaapipostproc.c:
903           vaapipostproc: Allow running without VPP support
904           We returned FALSE from ::start() if VPP support is not available, but it
905           is only really needed for complex filters and during transform we check
906           for that. For simple deinterlacing it is not needed.
907
908 2017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
909
910         * gst/vaapi/gstvaapipostproc.c:
911           vaapipostproc: use scoped variable for return value
912           Instead of reusing a parameter variable for the return value of
913           gst_vaapipostproc_transform_caps(), this patch uses the function
914           scoped pointer. Thus, the code is cleaner.
915           https://bugzilla.gnome.org/show_bug.cgi?id=785706
916
917 2017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
918
919         * gst/vaapi/gstvaapipostproc.c:
920           vaapipostproc: removed unused parameter
921           Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
922           helper function since the it is not used.
923           https://bugzilla.gnome.org/show_bug.cgi?id=785706
924
925 2017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
926
927         * gst/vaapi/gstvaapipostproc.c:
928           vaapipostproc: use scoped variable for return value
929           Instead of reusing a parameter variable for the return value of
930           gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
931           pointer. Thus, the code is cleaner.
932           https://bugzilla.gnome.org/show_bug.cgi?id=785706
933
934 2017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
935
936         * gst/vaapi/gstvaapipluginutil.h:
937           plugins: memory:DMABuf only handles planar formats
938           When glimagesink negotiates the caps feature memory:DMABuf the
939           exported dmabufs buffers with NV12 format are not well rendered, thus
940           setting only planar.
941           https://bugzilla.gnome.org/show_bug.cgi?id=788229
942
943 2017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
944
945         * gst/vaapi/gstvaapiencode.c:
946           vaapiencode: flush pending frames before set format
947           Flush pending frames, if any, in the internal encorder, before setting
948           the new negotiated format.
949           https://bugzilla.gnome.org/show_bug.cgi?id=786173
950
951 2017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
952
953         * gst/vaapi/gstvaapidecode.c:
954           vaapidecode: drain pending frames before set format
955           Drain pending frames, if any, in the internal decoder before setting
956           the new negotiated format.
957           https://bugzilla.gnome.org/show_bug.cgi?id=786173
958
959 2017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
960
961         * tests/test-display.c:
962           tests: display: use GObject getter
963           Instead of using the gst_vaapi_display_get_property(), this patch
964           replaces it with g_object_get_property() to dump the available VA
965           display properties.
966           https://bugzilla.gnome.org/show_bug.cgi?id=788058
967
968 2017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
969
970         * gst/vaapi/gstvaapisink.c:
971           vaapisink: use GObject setter and getter
972           Instead of using gst_vaapi_display_set_property() or
973           gst_vaapi_display_get_property(), this patch set replace it usage
974           with g_object_set() or g_object_get().
975           Also the internal helper cb_set_value() is removed since it is not
976           used anymore.
977           https://bugzilla.gnome.org/show_bug.cgi?id=788058
978
979 2017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
980
981         * gst-libs/gst/vaapi/gstvaapidisplay.c:
982           libs: display: initialize value if they are not yet
983           This is a difference between the GObject API and the GstVaapi one: the
984           GValue passed to get a property value, in GObject has to be
985           initialized with g_value_init(), but in GstVaapi is has not.
986           In order to overcome this mismatch, this patch call g_value_init()
987           internally only in the passed one is not already initialized.
988           https://bugzilla.gnome.org/show_bug.cgi?id=788058
989
990 2017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
991
992         * gst-libs/gst/vaapi/gstvaapidisplay.c:
993           libs: display: optimize properties setters and getters
994           Shuffled some code to avoid to find the properties descriptor in the
995           array twice, adding the internal functions _set_property() and
996           _get_property().
997           https://bugzilla.gnome.org/show_bug.cgi?id=788058
998
999 2017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1000
1001         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1002           libs: display: install properties in class
1003           Install the properties in the class as a normal GObject. Implement
1004           set_property() and get_property() vmethods.
1005           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1006
1007 2017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1008
1009         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1010           libs: display: remove gst_vaapi_display_properties_init()
1011           Remove gst_vaapi_display_properties_init() since it can be unrolled in
1012           gst_vaapi_display_class_init()
1013           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1014
1015 2017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1016
1017         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1018           libs: display: remove libgstvaapi_init_once()
1019           It is not required since it can be unrolled in
1020           gst_vaapi_display_class_init()
1021           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1022
1023 2017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1024
1025         * tests/test-display.c:
1026           tests: test-display: remove display cache tests
1027           Since commit ec3e10f6, display cache was removed. This patch removes
1028           this leftovers in the display test.
1029
1030 2017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
1031
1032         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1033         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1034           libs: decoder: h264/h265: decode codec data only if opened
1035           Fixes regression introduced by commit 2eb2b26a.
1036           There is a use case when the decoder set the src caps and immediatly
1037           tries to process the media codec_data, this happens before decoder is
1038           even opened, thus priv->parser is not instantiated yet.
1039           https://bugzilla.gnome.org/show_bug.cgi?id=787818
1040
1041 2017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1042
1043         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1044         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1045         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1046         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1047         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1048           libs: encoder: change mbbrc from uint to enum
1049           Instead of handling the macroblock bitrate control as a integer, this
1050           patch changes it as a enum, which is more self documented in the
1051           GStreamer elements.
1052           https://bugzilla.gnome.org/show_bug.cgi?id=787855
1053
1054 2017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
1055
1056         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1057           Fix a typo in the prop string for compliance-mode
1058
1059 2017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1060
1061         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1062           libs: encoder: don't unref properties
1063           This patch fixes a regression introduced in commit 148f867c, since the
1064           props variable is set to object's member variable
1065           encoder->properties. And it is set in the instance initialization,
1066           thus it will not be leaked.
1067           https://bugzilla.gnome.org/show_bug.cgi?id=787733
1068
1069 2017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
1070
1071         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1072         * gst/vaapi/gstvaapiencode.c:
1073           vaapiencode/libs: encoder: fix leaks of properties
1074           https://bugzilla.gnome.org/show_bug.cgi?id=786321
1075
1076 2017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1077
1078         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1079           libs: decoder: at update_caps() decode codec_data
1080           When updating the caps in decoder, if the caps has codec_data (avC
1081           format), it has to be parsed to update the state of the decoder.
1082           https://bugzilla.gnome.org/show_bug.cgi?id=786173
1083
1084 2017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
1085
1086         * gst-libs/gst/vaapi/gstvaapicontext.c:
1087           libs: context: fix wrong counter of the array of attributes
1088           The counter value passed to vaCreateConfig is always +1.
1089           This is a regression caused by commit e42ec3ad.
1090           The present patch fixes wrong counting of the array of attributes.
1091           https://bugzilla.gnome.org/show_bug.cgi?id=787613
1092
1093 2017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
1094
1095         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1096         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1097           libs: encoder: h265: support I/P/B QP setting seperatedly
1098           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
1099           frames
1100           and set slice_qp_delta for each frame according to the value provided.
1101           https://bugzilla.gnome.org/show_bug.cgi?id=785923
1102
1103 2017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
1104
1105         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1106         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1107           libs: encoder: h264: support I/P/B QP setting seperatedly
1108           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
1109           frames
1110           and set slice_qp_delta for each frame according to the value provided.
1111           In addition, remove the limitation of (<= 4) when setting
1112           slice_qp_delta.
1113           https://bugzilla.gnome.org/show_bug.cgi?id=785923
1114
1115 2017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
1116
1117         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1118         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1119           libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
1120           Creates new variable for QP for I frame and keep it at configuration and
1121           use this for pic_init_qp and slice_qp_delta setting.
1122           Since changing min qp doesn't make sense, keep min qp as is.
1123           https://bugzilla.gnome.org/show_bug.cgi?id=785923
1124
1125 2017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
1126
1127         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1128         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1129           libs: encoder: h265: Add mbbrc property
1130           This property supports Macroblock level Bitrate Control as the
1131           following (same as h264 encoder):
1132           0: auto
1133           1: on
1134           2: off
1135           https://bugzilla.gnome.org/show_bug.cgi?id=785917
1136
1137 2017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
1138
1139         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1140         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1141           libs: encoder: h264: Add mbbrc property
1142           This property supports Macroblock level Bitrate Control as the
1143           following:
1144           0: auto
1145           1: on
1146           2: off
1147           https://bugzilla.gnome.org/show_bug.cgi?id=785917
1148
1149 2017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
1150
1151         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1152           libs: encoder: h265: add multi reference support
1153           This is doing the same as h264 encoder as the following:
1154           Using num_ref_frames provided and the result of the Query
1155           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
1156           and perform encoding with multi reference frames as the following:
1157           1\ The num_ref_frames is being considered as the number of
1158           reference picture list0
1159           2\ Encoder adds 1 reference frame more to the reference picture list1
1160           internally if b-frame encoding.
1161           3\ If num_ref_frames is bigger than the number of refrence frames
1162           supported in the driver, it will be lowered.
1163           Also this patch includes:
1164           - Set num_negative_pics and num_positive_pics according to the number of
1165           refs.
1166           - Set delta_poc according to the number of refs.
1167           - Increase max_dec_pic_buffering according to the number of refs
1168           - Change max_num_reorder_pics according to num of bframes
1169           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1170
1171 2017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
1172
1173         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1174         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1175           libs: encoder: h265: add refs property
1176           Users can provide the number of reference frame by this property,
1177           which is exaclty same as h264.
1178           The value of the property will be considered as the number of
1179           reference picture list0 and will add 1 reference frame more to the
1180           reference picture list1 internally if b-frame encoding.
1181           If the value provided is bigger than the number of refrence frames
1182           supported in the driver, it will be lowered.
1183           The maximum value is aligned to the value of the driver supported now.
1184           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1185
1186 2017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
1187
1188         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1189         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1190           libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
1191           Follows the specification as below:
1192           7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
1193           num_ref_idx_active_override_flag equal to 1 specifies that the syntax
1194           element num_ref_idx_l0_active_minus1 is present for P and B slices and
1195           that the syntax element num_ref_idx_l1_active_minus1 is present for B
1196           slices.
1197           num_ref_idx_active_override_flag equal to 0 specifies that the syntax
1198           elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
1199           are not present.
1200           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1201
1202 2017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
1203
1204         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1205           libs: encoder: h265: keep idr_period equal to keyframe period
1206           Remove FIXME code, which makes previous assignation spurious.
1207           This also means to make idr_period equal to keyframe period,
1208           which is same as h264 encoder.
1209           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1210
1211 2017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1212
1213         * gst/vaapi/gstvaapipluginbase.c:
1214           Request minimum buffer even if need_pool is FALSE
1215           When tee is used, it will not request a pool, but still it wants to
1216           know how many buffers are required.
1217           https://bugzilla.gnome.org/show_bug.cgi?id=730758
1218
1219 2017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
1220
1221         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1222           libs: encoder: h264_fei: VA-API 1.0 compat
1223           Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
1224           compatibility.
1225           https://bugzilla.gnome.org/show_bug.cgi?id=787322
1226           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
1227
1228 2017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1229
1230         * gst/vaapi/gstvaapisink.c:
1231           vaapisink: Fix rendering in drm display
1232           Make sure vaapisink create a va surface backed buffer pool and all
1233           required attributes get assigned correctly for drm display type.
1234           This is needed to make the below pipeline working:
1235           gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
1236           width=320 height=240 framerate=30/1 ! vaapisink display=drm
1237           https://bugzilla.gnome.org/show_bug.cgi?id=786954
1238
1239 2017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1240
1241         * tests/Makefile.am:
1242         * tests/test-fei-enc-in.c:
1243         * tests/test-fei-enc-out.c:
1244           FEI: Add test applications to showcase fei use case
1245           test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
1246           eg:
1247           ./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
1248           test-fei-enc-in: A simple fei encoding application for testing input fei buffers
1249           eg:
1250           ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
1251           Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
1252           from saved files is still not working
1253           People contributed:
1254           Wang, Yi <yi.a.wang@intel.com>
1255           Leilei <leilei.shang@intel.com>
1256           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1257           xiaominc <xiaomin.chen@intel.com>
1258           Li, Jing B <jing.b.li@intel.com>
1259           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1260           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1261
1262 2017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1263
1264         * gst/vaapi/Makefile.am:
1265         * gst/vaapi/gstvaapi.c:
1266         * gst/vaapi/gstvaapiencode_h264_fei.c:
1267         * gst/vaapi/gstvaapiencode_h264_fei.h:
1268           FEI: plugin: Add vaapih264feienc element
1269           A new FEI based encoder element for h264 is added: vaapih264feienc
1270           FEI is a an extension to VA-API which is providing low level
1271           advanced control over different stages of encoding.
1272           Extending vaapih264enc with fei support is possible, but it will
1273           make the code too much complicated and will be difficult
1274           to debug. So adding the new encoder element, but keeping
1275           the rank as 0 , vaapih264enc will stay as the primary
1276           encoder for normal use cases.
1277           The vaaih264feienc is mainly useful for customers who want to play
1278           with MotionVectors and Macroblock Predictions. Also user can
1279           do one stage of encoding(eg: only the Motion Vector Calculation)
1280           in software and offload trasformation/entroy-coding etc to
1281           Hardware (which is what PAK module is doing) using FEI element.
1282           vaapih264feienc can work in  different modes using fei-mode properoty
1283           eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
1284           Important Note: ENC only mode won't produce any encoded data which is expected.
1285           But ENC alwys requires the output of PAK in order to do the inter-prediction
1286           over reconstructed frames.
1287           Similary PAK mode alway requires MV and MBCode as input, so unless there is an
1288           upstream element providing those buffers, PAK only won't work as expected.
1289           In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
1290           with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
1291           that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
1292           separately in vaapih264feienc.
1293           People contributed:
1294           Wang, Yi <yi.a.wang@intel.com>
1295           Leilei <leilei.shang@intel.com>
1296           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1297           xiaominc <xiaomin.chen@intel.com>
1298           Li, Jing B <jing.b.li@intel.com>
1299           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1300           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1301           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1302
1303 2017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
1304
1305         * gst/vaapi/gstvaapiencode.c:
1306         * gst/vaapi/gstvaapiencode.h:
1307           FEI: plugin: Add virtual methods to base encode
1308           Two new virtual methods are added to gstvaapiencode.
1309           load_control_data():  load the FEI input buffers set by the upstream elements
1310           save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
1311           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1312           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1313           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1314
1315 2017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
1316
1317         * gst/vaapi/Makefile.am:
1318         * gst/vaapi/gstvaapifeivideometa.c:
1319         * gst/vaapi/gstvaapifeivideometa.h:
1320           FEI: plugin: Add fei specific video meta
1321           GstVaapiFeiVideoMeta holds the below fei codec objects:
1322           GstVaapiEncFeiMbCode
1323           GstVaapiEncFeiMv
1324           GstVaapiEncFeiMvPredictor
1325           GstVaapiEncFeiMbControl
1326           GstVaapiEncFeiQp
1327           GstVaapiEncFeiDistortion
1328           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1329           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1330           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1331
1332 2017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1333
1334         * gst-libs/gst/vaapi/Makefile.am:
1335         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1336         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
1337         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
1338         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
1339         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
1340         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
1341           FEI: libs: Add FEI encoder
1342           Adding FEI encoder to core lib.
1343           The code is splitted into three session:
1344           1: gstvaapiencoder_h264_fei.{h,c}
1345           This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
1346           All the modes ENC, PAK and ENC_PAK are running based
1347           the code in these files.
1348           2: gstvaapifeienc_h264.{h,c}
1349           Abstract implementation intended for ENC (only VME) operation.
1350           3: gstvaapifeipak_h264.{h,c}
1351           Abstrct implementation intended for PAK (only the PAK module)
1352           Right now ENC_PAK, ENC and PAK are running based on code
1353           in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
1354           in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
1355           needed if user request for ENC+PAK mode operation.
1356           ENC+PAK: Here we need to invoke two sequence of
1357           vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
1358           first for the ENC only and the second for PAK only.
1359           Each mode associated with separate context ,but same pool of surfaces are
1360           shared between the modes.
1361           This is more useful once we have custom BRC algorithms.
1362           Other Contributors:
1363           Wang, Yi <yi.a.wang@intel.com>
1364           Leilei <leilei.shang@intel.com>
1365           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1366           xiaominc <xiaomin.chen@intel.com>
1367           Li, Jing B <jing.b.li@intel.com>
1368           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1369           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1370
1371 2017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1372
1373         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
1374         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
1375           FEI: libs: Add fei codec objects to GstVaapiEncPicture
1376           All the codec objects(vaapi buffers) supposed to be
1377           submited in vaRenderPicutre are associated with a GstVaapiEncPicture
1378           for each frame, follow the same design for FEI too.
1379           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1380           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1381
1382 2017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1383
1384         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
1385         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
1386         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
1387           FEI: libs: Add fei codec objects in codedbufferproxy
1388           MbCode, MV and Distortion buffers (fei codec objects)
1389           can be treated as output of different fei modes based user request.
1390           For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
1391           can be dumped as output in ENC_PAK mode for analysis purpose.
1392           So treating them as a part of CodedBufferProxy too.
1393           Here we avoided Qp, MbControl and MvPredictor codec objects since
1394           there is no practical use case of treating them as "output buffers".
1395           Other contributors:
1396           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1397           xiaominc <xiaomin.chen@intel.com>
1398           Leilei <leilei.shang@intel.com>
1399           Li, Jing B <jing.b.li@intel.com>
1400           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1401           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1402
1403 2017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1404
1405         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
1406         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
1407         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
1408           FEI: libs: Add fei codec objects to surface proxy
1409           Add fei codec objects to surface proxy since handling the
1410           fei buffers(codec objects here) external to gstvaapisurfaceproxy
1411           will make the code complicated. Especially considering the behavior
1412           of encoder where the input frame order from upstream and output
1413           frame order to the downstream are not sequential.
1414           Other contributors:
1415           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1416           xiaominc <xiaomin.chen@intel.com>
1417           Leilei <leilei.shang@intel.com>
1418           Li, Jing B <jing.b.li@intel.com>
1419           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1420           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1421
1422 2017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1423
1424         * gst-libs/gst/vaapi/Makefile.am:
1425         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
1426         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
1427         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
1428           FEI: Add codec objects for fei usecase
1429           There are 6 new va buffer types, each defined as a specific codec object.
1430           Borrowed the code from gstvaapicodecobject , but made a clear separation
1431           to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
1432           feicodecobjects can be shared between elements and also can be accessed
1433           from different thread.
1434           Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
1435           object is not shared between elements.So we utilize the already
1436           existing gst_vaapi_enc_misc_param_new(), but still keeping the code
1437           in gstvaapfei_objects_priv.h in order to have a better
1438           code readability.
1439           Fixme:
1440           -- Probably we need _locked_map() and _unlocked_map()
1441           -- Context can be associated with PreEnc(not just Enoder)
1442           once we have the proper support inplace, but for now we don't have
1443           PreEnc support, so should be safe enough to use GstVaapiEncoder.
1444           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1445           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1446
1447 2017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1448
1449         * gst-libs/gst/vaapi/Makefile.am:
1450         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
1451         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
1452           FEI: libs: add H264 fei specific utility functions
1453           Added enum/flag type definitions for a number of FEI
1454           input and output parameters.
1455           Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
1456           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1457           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1458           Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
1459           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1460
1461 2017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1462
1463         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1464         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1465           FEI: libs: Add virtual method for secondary context creation.
1466           Add a new vitrual method ensure_secondary_context to the
1467           base encoder which is only required for the FEI entrypoint, that too
1468           only when user configures the ENC+PAK mode. ENC+PAK mode is not something
1469           supported directly by libva or driver, but this can be enabled
1470           from the middleware.
1471           Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
1472           Signed-off-by: Leilei Shang <leilei.shang@intel.com>
1473           Signed-off-by: xiaominc <xiaomin.chen@intel.com>
1474           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1475           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1476           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1477
1478 2017-08-09 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1479
1480         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1481           FEI: libs: make sure the default context creation works as expected.
1482           Current code always guess the entrypoint during init phase in case
1483           if there is no entrypoint already configured in GstVaapiContextInfo.
1484           Make sure FEI Entrypoint is not messing up with this logic.
1485           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1486           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1487
1488 2017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1489
1490         * gst-libs/gst/vaapi/gstvaapicontext.c:
1491         * gst-libs/gst/vaapi/gstvaapicontext.h:
1492         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1493           FEI: libs: Add FEI functional mode configuration
1494           FEI Entrypoint can work in either one of the 3 different modes:
1495           VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
1496           Add infrastructure in gstvaapicontext and gstvaapiencoder for this
1497           functioal mode configuration.
1498           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1499           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1500
1501 2017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1502
1503         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1504         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1505         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1506           FEI: libs: Add FEI Entrypoint mapping
1507           Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
1508           for VAEntrypointFEI.
1509           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1510           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1511
1512 2017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1513
1514         * configure.ac:
1515           FEI: Add support for FEI conditional build
1516           FEI(Flexible Encoding Infrastructure) is an extension
1517           to VA API. Define USE_H264_FEI_ENCODER based on
1518           fei header file and required structures availability.
1519           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1520           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1521
1522 2017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
1523
1524         * gst/vaapi/gstvaapidecode.c:
1525           vaapidecode: force add h264 SVC profiles in caps
1526           When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
1527           support in caps.
1528           https://bugzilla.gnome.org/show_bug.cgi?id=732266
1529           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1530
1531 2017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
1532
1533         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1534           libs: decoder: h264: decode SVC base layer only
1535           Drops non-base NALs when the base-only property is set to TRUE.
1536           This modifies the behavior for MVC streams with base-only too: All the
1537           non-base units are dropped before they are decoded instead of dropping
1538           the non-base frames.
1539           The relevant part from the H264 spec is:
1540           > Decoders that conform to one or more of the profiles specified in
1541           Annex A rather than the profiles specified in Annexes G or H shall
1542           ignore (remove from the bitstream and discard) the contents of all NAL
1543           units with nal_unit_type equal to 14, 15, or 20.
1544           To eliminate side effects from the offending units:
1545           - PPS's with a broken seq_parameter_set_id (referring to dropped subset
1546           SPS's) are ignored.
1547           - The NAL parsing is skipped and their flags are set to
1548           GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
1549           - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
1550           use them even if they are flagged to be skipped. Subset SPS's and slice
1551           extension units are not stored there either.
1552           https://bugzilla.gnome.org/show_bug.cgi?id=732266
1553           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1554
1555 2017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
1556
1557         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1558           libs: decoder: h264: check nalu validity in parser info finalize
1559           https://bugzilla.gnome.org/show_bug.cgi?id=732266
1560           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1561
1562 2017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1563
1564         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1565         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1566         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1567         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1568         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1569           libs: encoder: remove unused cast macro
1570           Remove internal macro to cast structure that are already declared
1571           in the header.
1572
1573 2017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1574
1575         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1576         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1577         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
1578         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
1579         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
1580         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
1581           Revert "libs: encoders: remove unused cast macros"
1582           This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
1583
1584 2017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1585
1586         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1587         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1588         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
1589         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
1590         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
1591         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
1592           libs: encoders: remove unused cast macros
1593           They are only used inside the code, where another macro is defined.
1594           Thus these exported macros have no use.
1595
1596 2017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1597
1598         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1599           libs: decoder: h264: improve code-style
1600           https://bugzilla.gnome.org/show_bug.cgi?id=786173
1601
1602 2017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1603
1604         * gst-libs/gst/vaapi/gstvaapicompat.h:
1605         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1606           libs: encoder: h264: handle deprecated enum
1607           In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
1608           instead VAEncPackedHeaderRawData should be used.
1609           This patch creates a compatibility symbol,
1610           VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
1611           VA-API version.
1612           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1613
1614 2017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1615
1616         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1617         * gst-libs/gst/vaapi/gstvaapiutils.c:
1618           libs: guard deprecated symbols
1619           In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
1620           guards the H.264 baseline usage. Consider this commit as a
1621           continuation of commit e0e0a474
1622           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1623
1624 2017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1625
1626         * configure.ac:
1627         * meson.build:
1628         * meson_options.txt:
1629           Revert "build: check for libva-2.0"
1630           This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
1631           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1632
1633 2017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1634
1635         * gst-libs/gst/vaapi/gstvaapicompat.h:
1636         * gst-libs/gst/vaapi/gstvaapicontext.c:
1637         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1638           libs: macro to get a renamed value in VA-API 1.0
1639           In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
1640           renamed one member from roi_value_is_qp_delat to
1641           roi_value_is_qp_delta, which is the correct name.
1642           In order to keep back compatibility a macro has added to access this
1643           union member.
1644           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1645
1646 2017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1647
1648         * gst/vaapi/gstvaapipluginbase.h:
1649         * gst/vaapi/gstvaapipluginutil.c:
1650           plugins: include main gstgl header
1651           Instead including particular gstgl header files in a header file
1652           that doesn't export a gstgl symbol, the main gstgl header file is
1653           included in gstvaapipluginutil.c where the symbols are used.
1654           https://bugzilla.gnome.org/show_bug.cgi?id=786597
1655
1656 2017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1657
1658         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1659           libs: encoder: h264: fix enum namespace
1660
1661 2017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
1662
1663         * common:
1664           Automatic update of common submodule
1665           From 48a5d85 to 3f4aa96
1666
1667 2017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1668
1669         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1670           libs: encoder: h264: remove spurious assignation
1671           Coverity scan bug:
1672           An assigned value that is never used may represent unnecessary
1673           computation, an incorrect algorithm, or possibly the need for cleanup
1674           or refactoring.
1675           ip_period is assigned first to be rewritter inmediatly after. The
1676           first assignation is spurious.
1677
1678 2017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
1679
1680         * gst/vaapi/gstvaapidecode.c:
1681           vaapidecode: fix mismatch of the return type
1682           https://bugzilla.gnome.org/show_bug.cgi?id=786307
1683
1684 2017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1685
1686         * gst-libs/gst/vaapi/Makefile.am:
1687         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
1688         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
1689         * gst-libs/gst/vaapi/gstvaapiutils.h:
1690         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
1691         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
1692         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
1693         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
1694         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
1695         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
1696         * gst-libs/gst/vaapi/meson.build:
1697           libs: remove unused header
1698           Since libgstvaapi is not distributed, there is no need to check for
1699           private header inclusion. Thus removing it.
1700           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1701
1702 2017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1703
1704         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
1705         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
1706         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
1707         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
1708         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
1709         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
1710           libs: utils: move gstvaapisurface.h to private headers
1711           Since the utils don't expose API defined in gstvaapisource.h, it is
1712           moved to their private headers where they are used.
1713           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1714
1715 2017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1716
1717         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
1718         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
1719         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1720         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
1721         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
1722         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
1723           libs: utils: remove va.h include in header
1724           And include gstvaapicompat.h in the C files, since the VA-API is not
1725           exposed in the headers.
1726           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1727
1728 2017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1729
1730         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1731         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1732         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1733         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1734         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1735         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1736           libs: encoder: remove va.h include
1737           Since it is already managed by gstvaapicompat.h
1738           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1739
1740 2017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1741
1742         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
1743         * gst-libs/gst/vaapi/gstvaapicompat.h:
1744         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1745         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1746         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1747         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1748         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1749         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1750         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1751         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1752         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1753         * gst-libs/gst/vaapi/gstvaapifilter.c:
1754         * gst-libs/gst/vaapi/gstvaapiutils.c:
1755         * meson.build:
1756           build: consolidate the VA sub API includes
1757           Include all VA sub APIs headers in a single point (gstvaapicompat.h),
1758           since they are all already included in va.h after VA-API 0.38.
1759           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1760
1761 2017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1762
1763         * configure.ac:
1764         * meson.build:
1765           build: check for va_vpp.h
1766           Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
1767           allow us to handle the inclusion of the header better.
1768           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1769
1770 2017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
1771
1772         * meson.build:
1773           meson: don't export symbols by default
1774           Only plugin entry points should be exported.
1775
1776 2017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1777
1778         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1779           libs: decoder: h265: remove spurious code
1780           Coverity scan:
1781           Logically dead code: The indicated dead code may have performed some
1782           action; that action will never occur.
1783           By using pointer arithmetic is impossible to get NULL.
1784
1785 2017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1786
1787         * gst-libs/gst/vaapi/gstvaapicontext.c:
1788           libs: context: use attribs index instead pointers
1789           Coverity scan bug:
1790           Out-of-bounds write. This could cause an immediate crash or incorrect
1791           computations.
1792           Coverity basically found that it is possible to assign more than 4
1793           attribs in the array.
1794           In my opinion this was produced because code pattern used pointer
1795           arithmetic, which is not readable nor maintainable.
1796           This patch refactors config_create() to use an array index rather than
1797           pointer arithmetic. Also a run-time check for index size was added.
1798
1799 2017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1800
1801         * gst/vaapi/gstvaapiencode_h264.c:
1802           vaapiencode: h264: remove spurious code
1803           Coverity scan bug:
1804           An unsigned value can never be negative, so this test will always
1805           evaluate the same way.
1806           As len is guint32, there is no need to check it if it is equal or
1807           bigger than zero.
1808
1809 2017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1810
1811         * gst/vaapi/gstvaapidecode.c:
1812           vaapidecode: initialize variable
1813           Coverity scan bug:
1814           The variable will contain an arbitrary value left from earlier
1815           computations.
1816           Variable base_only is fetched from base-only property, and it may be
1817           not assigned. It needs to be initialized.
1818
1819 2017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1820
1821         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1822           libs: windows: wayland: fail if cannot remove last frame
1823           Converity scan bug:
1824           If the function returns an error value, the error value may be
1825           mistaken for a normal value.
1826           If g_atomic_pointer_compare_and_exchange() fails because the frame is
1827           not the last one, the function fails. Thus, logging an info message.
1828
1829 2017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1830
1831         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
1832           libs: utils: glx: check return value
1833           Coverity scan bug:
1834           If the function returns an error value, the error value may be
1835           mistaken for a normal value.
1836           Function sscanf returns the number of assignations done. Validate this
1837           return value with the number of expected variables to match.
1838
1839 2017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1840
1841         * gst-libs/gst/vaapi/gstvaapiobject.c:
1842           libs: vaapi: object: remove unrequired NULL check
1843           Coverity scan bug:
1844           Dereference after null check: Either the check against null is
1845           unnecessary, or there may be a null pointer dereference.
1846           Variable klass has been validated as non-NULL several time before in
1847           gst_vaapi_object_new() function, so there is no need to check it
1848           again.
1849
1850 2017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1851
1852         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1853           libs: encoder: h265: remove spurious assignation
1854           Coverity scan bug:
1855           An assigned value that is never used may represent unnecessary
1856           computation, an incorrect algorithm, or possibly the need for cleanup
1857           or refactoring.
1858           ip_period is assigned first to be rewritter inmediatly after. The
1859           first assignation is spurious.
1860
1861 2017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1862
1863         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1864           libs: encoder: h264: fix copy & paste error
1865           Coverity scan bug:
1866           The copied code will not have its intended effect.
1867           This is a bug from commit cdaf15b2, where the intention is to
1868           initialize RefPicList1 while setting RefPicList0.
1869
1870 2017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1871
1872         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1873         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1874           libs: encoder: h265: fix possible integer overflow
1875           Coverity scan bug:
1876           Unintentional integer overflow. The expression's value may not be what
1877           the programmer intended, because the expression is evaluated using a
1878           narrow (i.e. few bits) integer type.
1879           Cast operator to guint64 before computation to avoid narrowing.
1880           merge with 3c5a6add
1881
1882 2017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1883
1884         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1885           libs: decoder: mpeg4: fail if return value is not OK
1886           Coverity scan bug:
1887           An assigned value that is never used may represent unnecessary
1888           computation, an incorrect algorithm, or possibly the need for cleanup
1889           or refactoring.
1890           In the return value of decode_slice() or
1891           gst_mpeg4_parse_video_packet_header() are not success, thus fail
1892           decode_packet() function.
1893
1894 2017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1895
1896         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1897           libs: decoder: h265: check for null
1898           Coverity scan bug:
1899           Dereference after null check: Either the check against null is
1900           unnecessary, or there may be a null pointer dereference.
1901           While looking for hte lowest poc, according to rest of the code, the
1902           picture in the dbp (decoded picture buffer) might be NULL, thus we
1903           could check for a NULL picture before assigned as found.
1904           Also, split a comma operator because it is considered as a bad
1905           practice because it possible side effects.
1906
1907 2017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1908
1909         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1910           libs: decoder: h265: untaint loop control variable
1911           Coverity scan bug:
1912           Scalars (for example, integers) are not properly
1913           bounds-checked (sanitized) before being used as array or pointer
1914           indexes, loop boundaries, or function arguments are considered as
1915           tainted.
1916           In this case, num_nals were not checked before used as loop control.
1917
1918 2017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1919
1920         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1921           libs: decoder: h264: remove unrequired NULL check
1922           Coverity scan bug:
1923           Dereference after null check: Either the check against null is
1924           unnecessary, or there may be a null pointer dereference.
1925           In the original commit for fill_picture_gaps() (commit 5abd2b90) the
1926           prev_picture could be NULL, that's why the code did a null check. But,
1927           since commit 52adebe7, the previous reference frames are tracked, thus
1928           there is no need to check null anymore.
1929
1930 2017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
1931
1932         * gst/vaapi/gstvaapidecode.c:
1933           vaapidecode: fix gst_caps_new_simple call
1934           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1935
1936 2017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
1937
1938         * gst/vaapi/gstvaapidecode.c:
1939           vaapidecode: force add h264 MVC profiles in caps
1940           When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
1941           support in caps.
1942           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1943
1944 2017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
1945
1946         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1947           libs: decoder: h264: decode MVC base view only
1948           If processed SPS has mvc profile and the configuration is set to
1949           base-only, the frame is drop.
1950           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1951
1952 2017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
1953
1954         * gst/vaapi/gstvaapidecode.c:
1955         * gst/vaapi/gstvaapidecode_props.c:
1956           vaapidecode: set h264 base-only to decoder
1957           Set the base-only value when property is set and the internal
1958           decoder is already instantiated or when the internal decoder
1959           is created.
1960           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1961
1962 2017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
1963
1964         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1965         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
1966           libs: decoder: h264: add setter for base-only mode
1967           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1968
1969 2017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
1970
1971         * gst/vaapi/gstvaapidecode_props.c:
1972         * gst/vaapi/gstvaapidecode_props.h:
1973           vaapidecode_props: h264: add base-only property
1974           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1975
1976 2017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1977
1978         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1979           libs: encoder: h264: missing property enum documentation
1980
1981 2017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
1982
1983         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1984           libs: encoder: h264: add multi reference support
1985           Using num_ref_frames provided and the result of the Query
1986           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
1987           and perform encoding with multi reference frames as the following:
1988           1\ The num_ref_frames is being considered as the number of
1989           reference picture list0
1990           2\ Encoder adds 1 reference frame more to the reference picture list1
1991           internally if b-frame encoding.
1992           3\ If num_ref_frames is bigger than the number of refrence frames
1993           supported in the driver, it will be lowered.
1994           https://bugzilla.gnome.org/show_bug.cgi?id=783803
1995
1996 2017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
1997
1998         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1999         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2000           libs: encoder: h264: add refs property
2001           Users can provide the number of reference frame by this property.
2002           The value of the property will be considered as the number of
2003           reference picture list0 and will add 1 reference frame more to the
2004           reference picture list1 internally if b-frame encoding.
2005           If the value provided is bigger than the number of refrence frames
2006           supported in the driver, it will be lowered.
2007           https://bugzilla.gnome.org/show_bug.cgi?id=783803
2008
2009 2017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
2010
2011         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2012         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2013           libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
2014           This function will query VAConfigAttribEncMaxRefFrames to get the
2015           maximum number of reference frames supported in the driver.
2016           This will be used for h264/h265 encoding.
2017           https://bugzilla.gnome.org/show_bug.cgi?id=783803
2018
2019 2017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2020
2021         * gst/vaapi/gstvaapiencode_h265.c:
2022           vaapiencode: h265: compare an unsigned int if not zero
2023           An unsigned value can never be negative, so this test (greater than
2024           zero) will always evaluate the same way. Thus change it to just if
2025           it's not zero.
2026
2027 2017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2028
2029         * gst/vaapi/gstvaapipluginbase.c:
2030           plugins: check gst_gl_ensure_element_data() return value
2031           Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
2032           the return value of gst_gl_ensure_element_data(). The result is a code
2033           bit cleaner.
2034
2035 2017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2036
2037         * gst/vaapi/gstvaapipluginutil.c:
2038           plugins: avoid dead code detection
2039           By using #elif macro, the static code analysis would stop to detect
2040           these lines as dead code. Also it is inforced the mutually exclusive
2041           environments.
2042
2043 2017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2044
2045         * gst/vaapi/gstvaapivideobufferpool.c:
2046           vaapivideobufferpool: don't shift by negative since it's undefined
2047           The function g_bit_nth_lsf() may return -1 if the request bit position
2048           is not avaible. Thus, this patch check if the return value is not -1
2049           in order to continue.
2050
2051 2017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2052
2053         * gst/vaapi/gstvaapisink.c:
2054           vaapisink: fix memory leak
2055
2056 2017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2057
2058         * gst/vaapi/gstvaapipostprocutil.c:
2059           vaapipostproc: fix memory leaks
2060
2061 2017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
2062
2063         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2064           libs: display: when appending formats change pointers to indexes
2065           Thus, it fixes an invalid read when YV12 or I420 are not supported by
2066           the driver.
2067           https://bugzilla.gnome.org/show_bug.cgi?id=785085
2068
2069 2017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2070
2071         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2072         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2073           libs: encoder: h264: Add uncompliant mode reducing coded buffer size
2074           Added a new property "compliance-mode", which default is the normal
2075           strict compliant mode.
2076           The second mode, "restrict-buf-alloc", is to limit the coded buffer
2077           allocation size to improve performance in some specific Intel
2078           platforms (there is asignificant performance improvement in parallel
2079           encodings). Under this new mode, we use the MinCR field in A.3.1 for
2080           pre-calculating the coded-buffer size.
2081           https://bugzilla.gnome.org/show_bug.cgi?id=784590
2082
2083 2017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2084
2085         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
2086         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
2087           libs: utils_h264: Extend LevelLimit table with MinCR field
2088           Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
2089           based on Annex A.3
2090           https://bugzilla.gnome.org/show_bug.cgi?id=784590
2091
2092 2017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2093
2094         * gst-libs/gst/vaapi/gstvaapiutils.c:
2095           libs: utils: libva 1.0 changed the logging
2096           The logging mechanism in libva has changed it's functions
2097           signatures. This patch updates that for libva versions >= 1.0
2098           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2099
2100 2017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2101
2102         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2103           libs: decoder: h264: libva 1.0 deprecated baseline
2104           libva 1.0 deprecated H.264 baseline profile and FMO support
2105           (commit b4f332b3).
2106           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2107
2108 2017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2109
2110         * configure.ac:
2111         * meson.build:
2112         * meson_options.txt:
2113           build: check for libva-2.0
2114           Check for libva-2.0 since libva's developers decided to increase the
2115           library's version number.
2116           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2117
2118 2017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2119
2120         * configure.ac:
2121         * meson.build:
2122           build: blacklist only libva 0.99.0
2123           Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
2124           its API version to 1.0.0. Thus we have to blacklist only the MSDK's
2125           libva (0.99.0)
2126           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2127
2128 2017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2129
2130         * gst-libs/gst/vaapi/meson.build:
2131           build: meson: remove gstvaapidisplaycache.c
2132           This is a missing bit of commit ec3e10f6
2133
2134 2017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2135
2136         * configure.ac:
2137           configure: do not break configure if gtk+-3.0 devel missing
2138           Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
2139           set USE_GTK=0 if gtk+-3.0 is not available.
2140           Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
2141           Author: Hyunjun Ko <zzoon@igalia.com>
2142           Date:   Wed Jul 5 15:59:43 2017 +0900
2143           tests: elements: add testsuite of vaapi context
2144           ...configure fails if gtk+-3.0 development files are missing.
2145           The "with_gtk" option defaults to "check" in configure.ac
2146           which implies that if it is not explicitly requested then
2147           configure will only enable it if it's available on the system.
2148           However, the PKG_CHECK_MODULES rule that get's activated on
2149           "check" condition did not provide default when gtk+-3.0 devel
2150           packages are not found on the system.  Thus, it resulted in
2151           configure failure.
2152           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2153           https://bugzilla.gnome.org/show_bug.cgi?id=785452
2154
2155 2017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
2156
2157         * configure.ac:
2158         * tests/elements/Makefile.am:
2159         * tests/elements/test-vaapicontext.c:
2160           tests: elements: add testsuite of vaapi context
2161           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2162           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2163
2164 2017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
2165
2166         * gst/vaapi/gstvaapisink.c:
2167           vaapisink: fail if surface display is different
2168           Replacing GstVaapiDisplay during rendering might be hiding problems
2169           at some cases, even though it's safe currently since we use cache
2170           of GstVaapidisplay.
2171           Play safe by failing if this happens.
2172           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2173
2174 2017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
2175
2176         * gst/vaapi/gstvaapivideocontext.c:
2177         * gst/vaapi/gstvaapivideocontext.h:
2178           videocontext: support "gst.vaapi.app.Display" context
2179           Through "gst.vaapi.app.Display" context, users can set their own VADisplay
2180           and native display of their backend.
2181           Attributes:
2182           - display : pointer of VADisplay
2183           - x11-display : pointer of X11 display (Display *), if they're using.
2184           This patch creates GstVaapidisplayX11 if information provided through
2185           "gst.vaapi.app.Display"
2186           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2187
2188 2017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
2189
2190         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2191         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
2192           libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
2193           Implements new API function so that users could create GstVaapiDisplay
2194           with their own VADisplay within a native display as backend.
2195           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2196
2197 2017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
2198
2199         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2200           libs: display: pass display info when foreign display
2201           When creating a GstVaapiDisplay using a foreign VADisplay, and render
2202           with that display, it also requires native display of the backend.
2203           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2204
2205 2017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2206
2207         * gst-libs/gst/vaapi/Makefile.am:
2208         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2209         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
2210         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2211         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
2212         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2213         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
2214         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
2215           libs: display: remove cache
2216           Remove a bunch of code that handles the VADisplay cache, since the
2217           context sharing should be doing this correctly.
2218           https://bugzilla.gnome.org/show_bug.cgi?id=747946
2219
2220 2017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
2221
2222         * tests/elements/Makefile.am:
2223         * tests/elements/test-vaapipostproc.c:
2224           tests: elements: add test for vaapipostproc
2225           https://bugzilla.gnome.org/show_bug.cgi?id=754885
2226
2227 2017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
2228
2229         * gst/vaapi/gstvaapipostproc.c:
2230           postproc: reconfigure when width or height changes
2231           https://bugzilla.gnome.org/show_bug.cgi?id=754885
2232
2233 2017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2234
2235         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2236           libs: encoder: vp9: array terminated in zeros
2237           There is a crash when setting ref-pic-mode since the #GEnumValue
2238           array is not terminated with a structured with all memvers being
2239           zero.
2240           https://bugzilla.gnome.org/show_bug.cgi?id=785032
2241
2242 2017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2243
2244         * gst/vaapi/gstvaapiencode_h264.c:
2245           vaapiencode: h264: add plugin documentation
2246           Comment how the profile is set and other parameters.
2247
2248 2017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
2249
2250         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2251           libs: decoder: h264: push frames as soon as possible
2252           Push frames downstream as soon as possible instead of waiting until
2253           they are ejected from the DPB.
2254           This patch makes the decoder not comply with the H.264 specification,
2255           but it is required for some video cameras.
2256           https://bugzilla.gnome.org/show_bug.cgi?id=762509
2257           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2258
2259 2017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2260
2261         * gst/vaapi/gstvaapidecode_props.c:
2262           vaapidecode_props: h264: set low-latency in decoder
2263           Set the low-latency property if the H264 decoder is already
2264           instantiated, thus you could change the behavior in run-time.
2265           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2266
2267 2017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2268
2269         * gst/vaapi/gstvaapidecode.c:
2270           vaapidecode: set h264 low latency to decoder
2271           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2272
2273 2017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2274
2275         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2276         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2277           libs: decoder: h264: add getter/setter for low latency mode
2278           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2279
2280 2017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2281
2282         * gst/vaapi/gstvaapidecode_props.c:
2283         * gst/vaapi/gstvaapidecode_props.h:
2284           vaapidecode_props: h264: add low latency property
2285           Adding support for private data.
2286           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2287
2288 2017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2289
2290         * gst/vaapi/Makefile.am:
2291         * gst/vaapi/gstvaapidecode.c:
2292         * gst/vaapi/gstvaapidecode_props.c:
2293         * gst/vaapi/gstvaapidecode_props.h:
2294         * gst/vaapi/meson.build:
2295           vaapidecode_props: add skeleton for h264 decoder properties
2296           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2297
2298 2017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2299
2300         * gst/vaapi/gstvaapidecode.c:
2301           vaapidecode: properties callback in decoders map
2302           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2303
2304 2017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
2305
2306         * meson.build:
2307           meson: find python3 via python3 module
2308           https://bugzilla.gnome.org/show_bug.cgi?id=783198
2309
2310 2017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
2311
2312         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2313           libs: encoder: h264: submit sps in case of IDR picture
2314           If the picture is IDR, also submit a SPS header.
2315           This means when frame number reaches to keyframe-period or an force
2316           key unit event arrives, we insert SPS/PPS again.
2317           https://bugzilla.gnome.org/show_bug.cgi?id=776712
2318
2319 2017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
2320
2321         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2322           libs: encoder: h264: set the frame as IDR if forced key unit
2323           GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
2324           the `frame-lost` event in the case of streaming, such as RTP.
2325           In case of this event, it is needed to start new GOP rather than just
2326           produce an I-frame.
2327           https://bugzilla.gnome.org/show_bug.cgi?id=776712
2328
2329 2017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2330
2331         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2332         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2333           libs: encoder: h264: insert AU delimiter
2334           Insert an AUD as the first NAL of each encoded frame.
2335           Some applications require Access Unit Delimiter for decoding the
2336           stream.
2337           The AU delimeter insertion is done only when the aud parameter is
2338           TRUE (by default is disabled). The reason of this it is because this
2339           header is only available from Intel Gen9 and the VA intel driver
2340           should be 1.8 or superior. Otherwise, the output will be corrupted.
2341           https://bugzilla.gnome.org/show_bug.cgi?id=776712
2342           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
2343
2344 2017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
2345
2346         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2347           libs: encoder: h264: initialize all elements of view_ids
2348           Currently when num_views is changed by multiview-mode on sink caps, it produces
2349           wrong MVC encoded stream since the array view_ids is not set properly according
2350           to changed num_views.
2351           So this patch initializes all of the array sequentially to handle this case.
2352           Side effect is not going to happen by this patch since this array is being
2353           handled by num_views.
2354           https://bugzilla.gnome.org/show_bug.cgi?id=784321
2355
2356 2017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
2357
2358         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2359           Revert "encoder: h264: Use high profile by default"
2360           This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
2361           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2362
2363 2017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
2364
2365         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2366           libs: encoder: h264: set profile via capsfilter
2367           Until now, the encoder ignored the profile in src caps and chose one
2368           according with the given parameters. But the encoder must honor the
2369           profile specifed in src caps.
2370           This patch do that, and if the encoder needs to choose the profile,
2371           it will do it by following these rules:
2372           1\ If given parameters are not compatible with given profile, the
2373           encoder will bail out with an error.
2374           2\ The encoder will choose the higher profile indicated in the
2375           src caps.
2376           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2377
2378 2017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
2379
2380         * gst/vaapi/gstvaapiencode_h264.c:
2381           vaapiencode: h264: set profile to src caps
2382           So far vaapi encoder does not set profile to src caps. This patch makes it
2383           setting profile to src caps, which is determined by itself.
2384           In addition, if encoder chose different profile, which is not negotiated with
2385           downstream, we should set compatible profile to make negotiation working.
2386           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2387
2388 2017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2389
2390         * gst/vaapi/gstvaapiencode_h264.c:
2391         * gst/vaapi/gstvaapiencode_h264.h:
2392           vaapiencode: h264: verify if requested profile is supported
2393           Check if the requested profile in source caps, is supported by the
2394           VA driver. If it is not, an info log message is send saying that
2395           another (compatible?) profile will be used.
2396           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2397
2398 2017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2399
2400         * gst/vaapi/gstvaapiencode_h264.c:
2401           vaapiencode: h264: improve set_config() vmethod
2402           First check if downstream requests ANY caps. If so, byte-stream is
2403           used and the profile will be choose by the encoder. If dowstream
2404           requests EMPTY caps, the negotiation will fail.
2405           Lately, byte-stream and profile are looked in the allowed caps.
2406           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2407
2408 2017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2409
2410         * gst/vaapi/gstvaapiencode_h264.c:
2411           vaapiencode: h264: check for avc in set_config()
2412           The check for avc stream format was done in the vaapi encoder's
2413           vmethod get_caps(), but that is wrong since it has to be check
2414           when encoder set_format().
2415           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2416
2417 2017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
2418
2419         * gst/vaapi/gstvaapipostprocutil.c:
2420           vaapipostproc: set multivew-mode flags to src caps
2421           vaapipostproc didn't negotiate the proper multiview caps losing
2422           downstream information.
2423           This patch enables the playing of MVC encoded stream by setting
2424           the proper multiview mode/flags and views to src caps, according
2425           to sink caps.
2426           https://bugzilla.gnome.org/show_bug.cgi?id=784320
2427
2428 2016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
2429
2430         * gst/vaapi/gstvaapipostproc.c:
2431           vaapipostproc: add support for DMABuf caps feature
2432           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2433           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
2434
2435 2017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2436
2437         * gst/vaapi/gstvaapidecode.c:
2438           vaapidecode: add support for DMABuf caps feature
2439           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2440           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
2441
2442 2017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2443
2444         * gst/vaapi/gstvaapipluginbase.c:
2445           vaapipluginbase: force dmabuf allocator if DMABuf caps feature
2446           Instantiate all dmabuf allocator for src pad buffer pool if the
2447           src caps ask for memory:DMABuf feature.
2448           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2449
2450 2016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
2451
2452         * gst/vaapi/gstvaapipluginutil.c:
2453         * gst/vaapi/gstvaapipluginutil.h:
2454           vaapipluginutil: add support for DMABuf caps feature
2455           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2456           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
2457           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
2458           vaapipluginutil: add support for DMABuf caps feature
2459
2460 2017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2461
2462         * gst/vaapi/gstvaapipluginbase.c:
2463           vaapipluginbase: dmabuf memory map trial for raw caps
2464           Only push dmabuf-based buffers with raw caps if gst_memory_map()
2465           succeeds. Otherwise, use the the vaapi surfaces allocator.
2466           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2467           https://bugzilla.gnome.org/show_bug.cgi?id=774649
2468           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
2469
2470 2016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2471
2472         * gst/vaapi/gstvaapivideomemory.c:
2473         * gst/vaapi/gstvaapivideomemory.h:
2474           vaapivideomemory: add gst_vaapi_dmabuf_can_map()
2475           This new method checks the specified allocator can create GstMemory that can
2476           be mapped.
2477           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2478
2479 2017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2480
2481         * gst/vaapi/gstvaapivideobufferpool.c:
2482           vaapivideobufferpool: fix regression with video metas
2483           There is another regression with 7a206923 when setting the video
2484           info for the video meta, it should be the one from the image's
2485           allocator rather from the allocation caps.
2486           Test pipeline:
2487           gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
2488           ! tee ! videoconvert ! videoscale                     \
2489           ! video/x-raw, width=1920, height=1080 ! xvimagesink
2490
2491 2017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2492
2493         * gst/vaapi/gstvaapipluginbase.c:
2494         * gst/vaapi/gstvaapivideobufferpool.c:
2495           plugins: update buffer size with the one reported by allocator
2496           There is a regression in 7a206923, since the buffer pool ditches all
2497           the buffers generated by them because the pool config size is
2498           different of the buffer's size.
2499           Test pipeline:
2500           gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
2501           ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
2502           --gst-debug=GST_PERFORMANCE:5
2503           The allocator may update the buffer size according to the VA surface
2504           properties. In order to do this, the video info is modified when the
2505           allocator is created, which reports through the allocation info the
2506           updated size, and set it to the pool config.
2507
2508 2017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
2509
2510         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2511           libs: decoder: h264: initialize active_sps/pps in reset
2512           Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
2513           they introduced regression in seek.
2514           Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
2515           But since the commits landed, it doesn't drop P-frame and does try to
2516           decode it continuously because active_sps is still alive. See ensure_sps function.
2517           But there are prev_frames and prev_ref_frames reset already, then it
2518           causes assertion.
2519           So it's necessary to reset active_sps/pps also in reset method.
2520           https://bugzilla.gnome.org/show_bug.cgi?id=783726
2521
2522 2017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2523
2524         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2525         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2526           libs: encoder: fix compilation with old versions of libva
2527           There are some symbols that are not used when compiling with old
2528           version of libva and those generates a compilation error.
2529           Original-patch-by: Matt Staples <staples255@gmail.com>
2530
2531 2017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2532
2533         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2534           libs: encoder: Fix the quality level clamping
2535           Change the hard-coded range of quality-level from {1-8} to {1-7},
2536           since it is the range Intel Open source driver supports.
2537           Also perform the range clamping only if the user provided
2538           quality-level is greater than the max-range suppored by the driver,
2539           because there could be non-intel drivers giving lower value than
2540           the hard-coded max value 7.
2541           https://bugzilla.gnome.org/show_bug.cgi?id=783567
2542
2543 2017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2544
2545         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2546         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2547         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2548         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2549         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2550         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2551           libs: encoder: log out the name of the profile
2552           Instead of printing a number, it is more readable to log out, in
2553           case of error, the name of the failing profile.
2554
2555 2017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
2556
2557         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2558           libs: encoder: h264: changes raw number of profile to macro name of its
2559           Changes raw number of profile to macro name of its to improve readability.
2560           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2561
2562 2017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2563
2564         * gst/vaapi/gstvaapivideobufferpool.c:
2565           vaapivideobufferpool: remove allocation_vinfo private attribute
2566           There is no need to keep this attribute internally since it is
2567           already managed by the allocator.
2568           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2569
2570 2017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2571
2572         * gst/vaapi/gstvaapivideobufferpool.c:
2573           vaapivideobufferpool: refactor set_config()
2574           Refactor the set_config() virtual method considering a cleaner
2575           approach to allocator instanciation, if it it not set or if it is
2576           not valid for the pool.
2577           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2578
2579 2017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2580
2581         * gst/vaapi/gstvaapipluginbase.c:
2582         * gst/vaapi/gstvaapivideobufferpool.c:
2583         * gst/vaapi/gstvaapivideomemory.c:
2584         * gst/vaapi/gstvaapivideomemory.h:
2585           plugins: distinguish allocation and negotiation caps
2586           The vaapi video decoders might have different allocation caps from
2587           the negotiation caps, thus the GstVideoMeta shall use the negotiation
2588           caps, not the allocation caps.
2589           This was done before reusing gst_allocator_get_vaapi_video_info(),
2590           storing there the negotiation caps if they differ from the allocation
2591           ones, but this strategy felt short when the allocator had to be reset
2592           in the vaapi buffer pool, since we need both.
2593           This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
2594           gst_allocator_get_vaapi_negotiated_video_info() to store the
2595           negotiated video info in the allocator, and distinguish it from
2596           the allocation video info.
2597           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2598
2599 2017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2600
2601         * gst/vaapi/gstvaapivideomemory.c:
2602         * gst/vaapi/gstvaapivideomemory.h:
2603           vaapivideomemory: rename qdata quarks and ids
2604           Also the parameter names were renamed to reflect their origin
2605           and purpose.
2606           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2607
2608 2017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2609
2610         * gst/vaapi/gstvaapivideobufferpool.c:
2611           vaapivideobufferpool: rename local variables
2612           Renamed local video info structure names in set_config() vitual
2613           method. The purpose of their renaming is to clarify the origin
2614           of those structures, whether come from passed caps parameter
2615           (new_allocation_vinfo) or from the configured allocator
2616           (allocator_vinfo).
2617           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2618
2619 2017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2620
2621         * gst/vaapi/gstvaapivideobufferpool.c:
2622           vaapivideobufferpool: rename video info structures
2623           Renamed private GstVideoInfo structure video_info to allocation_vinfo
2624           and alloc_info to negotiated_vinfo.
2625           The purpose of these renaming is to clarify the origin and purpose of
2626           these private variables:
2627           video_info (now allocation_vinfo) comes from the bufferpool
2628           configuration. It describes the physical video resolution to be
2629           allocated by the allocator, which may be different from the
2630           negotiated one.
2631           alloc_info (now vmeta_vinfo) comes from the negotiated caps in
2632           the pipeline. It represents how the frame is going to be mapped
2633           using the video meta.
2634           In Intel's VA-API backend, the allocation_vinfo resolution is
2635           bigger than the negotiated_info.
2636           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2637
2638 2017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2639
2640         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2641           libs: encoder: set framerate if bigger than 0/1
2642           Just set the framerate parameter if the framerate numerator and
2643           denominator are bigger than zero.
2644           Otherwise, in Intel Gen6 driver, a warning is raised disabling the
2645           bitrate control.
2646           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
2647           https://bugzilla.gnome.org/show_bug.cgi?id=783532
2648
2649 2017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2650
2651         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2652           libs: encoder: bitrate target percentage calculation
2653           If the rate control is set to Constant Bit Rate (CBR) the target
2654           percentage is 100%, otherwise is 70%
2655
2656 2017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2657
2658         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2659         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2660         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2661         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2662         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2663         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2664           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
2665           Centralize the common configuration for the Rate Control parameter,
2666           thus can be overloaded per each specific encoder.
2667
2668 2017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2669
2670         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2671         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2672         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2673         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2674         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2675         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2676           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
2677           Since the framerate VA parameter is calculated equally among all the
2678           encoders, it is better to handle it in the base encoder class.
2679
2680 2016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2681
2682         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2683         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
2684           libs: encoder: vp9: Adds CBR and VBR Encoding support
2685           https://bugzilla.gnome.org/show_bug.cgi?id=766832
2686           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
2687           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2688
2689 2017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
2690
2691         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2692           libs: encoder: vp8: Adds VBR Encoding support
2693           https://bugzilla.gnome.org/show_bug.cgi?id=778732
2694
2695 2017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
2696
2697         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2698           libs: encoder: h265: Adds VBR Encoding support
2699           Enables Variable BitRate mode, which does set FrameRate and RateControl
2700           parameters.
2701           https://bugzilla.gnome.org/show_bug.cgi?id=778732
2702
2703 2017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
2704
2705         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2706           libs: encoder: Describes more detail about the bitrate property
2707           https://bugzilla.gnome.org/show_bug.cgi?id=778732
2708
2709 2017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2710
2711         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2712           libs: encoder: h265: add rate control parameter
2713           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2714
2715 2017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2716
2717         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2718         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2719         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2720           libs: encoder: h264,h265,mpeg2: add framerate parameter
2721           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2722
2723 2017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2724
2725         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2726         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2727         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2728         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2729           libs: encoder: vp8,h264,h265,mpeg2: set misc param once
2730           Instead of recalculating the miscellaneous buffer parameters for
2731           every buffer, it is only done once, when the encoder is configured.
2732           And for every buffer, the same structures are just copied.
2733           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2734
2735 2017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2736
2737         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2738         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2739         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2740         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2741         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2742         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2743           libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
2744           This is patch pretends to decouple the assignation of the values
2745           in the parameter structures and the VA buffer's parameters setting.
2746           It may lead to some issues since HRD, framerate or controlrate may
2747           not be handled by the specific encoder, but they are set in
2748           the VA buffer's parameters.
2749           I leave as it because this patch is just a transitional patch.
2750           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2751
2752 2017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2753
2754         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2755           libs: encoder: vp8: fix frame rate calculation
2756           According to the VA documentation:
2757           The framerate is specified as a number of frames per second,
2758           as a fraction.  The denominator of the fraction is given in
2759           the top half (the high two bytes) of the framerate field, and
2760           the numerator is given in the bottom half (the low two bytes).
2761           For example, if framerate is set to (100 << 16 | 750), this is
2762           750 / 100, hence 7.5fps.
2763           If the denominator is zero (the high two bytes are both zero)
2764           then it takes the value one instead, so the framerate is just
2765           the integer in the low 2 bytes.
2766           This patch fixes the the framerate calculation in vp8 encoder
2767           according to this.
2768           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2769
2770 2017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2771
2772         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2773           libs: encoder: vp8: refactor FrameRate parameter
2774           Move frame-rate parameter from ensure_misc_params() to
2775           ensure_contro_rate_param() since it only has meaning when the
2776           control rate is either VBR or CBR.
2777           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2778
2779 2017-06-02 19:33:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2780
2781         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2782         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2783         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2784         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2785           libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
2786           Move the Hypothetical Reference Decoder (HRD) parameter, from
2787           ensure_misc_params() to ensure_control_rate_params(), since it
2788           only shall be defined when the control rate is either VBR or CBR.
2789           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2790
2791 2017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2792
2793         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2794         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2795         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2796           libs: encoder: h264,vp8,mpeg2: refactor control rate
2797           Instead of filling the control rate param in ensure_misc_params(),
2798           this patch refactor it out, as a first step to merge the same code
2799           for all the encoders.
2800           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2801
2802 2017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2803
2804         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2805         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2806         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2807           libs: encoder: h264, h265, mpeg2: remove assert
2808           Remove spurious asserts for misc parameters. If they cannot be
2809           allocated, FALSE is already returned.
2810
2811 2017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2812
2813         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2814         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2815           libs: encoder: use VA quality level structure
2816           Instead of using a proxy to story the buffer quality level, the
2817           encoder now uses the native VA structure, which is copied to the
2818           dynamically allocated VAEncMiscParameterBuffer.
2819           This approach is computationally less expensive.
2820
2821 2017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2822
2823         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2824         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
2825         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2826         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2827           libs: standardize the FIXME comment
2828           This is a trivial patch that makes homogeneous the FIXME tag in
2829           comments.
2830           For more info about these comment style:
2831           http://wiki.c2.com/?FixmeComment
2832
2833 2017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
2834
2835         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2836           libs: encoder: vp8: set quality level regardless of rate control mode
2837           https://bugzilla.gnome.org/show_bug.cgi?id=782957
2838
2839 2017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2840
2841         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2842         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2843         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2844         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2845           libs: encoder: check for maximum number of slices
2846           Right now, H264 and HEVC can set as a property the number of slices to
2847           process. But each driver can set a maximum number of slices, depending
2848           on the supported profile & entry point.
2849           This patch verifies the current num_slices to process against the maximum
2850           permitted by the driver and the media size.
2851           https://bugzilla.gnome.org/show_bug.cgi?id=780955
2852
2853 2017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2854
2855         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
2856           libs: utils: mark functions as internals
2857           The functions in this header are internal to the library.
2858
2859 2017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2860
2861         * gst-libs/gst/vaapi/gstvaapicontext.h:
2862           libs: context: add missing documentation
2863           Document the region-of-interest configuration variables.
2864
2865 2017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2866
2867         * tests/elements/test-vaapisink.c:
2868           tests: elements: vaapisink: handle nav events
2869           The test app can now handle navigation events to rotate the
2870           display.
2871
2872 2017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2873
2874         * tests/elements/test-vaapisink.c:
2875           tests: elements: clean up vaapisink test
2876           - Use gst_element_send_event() instead of gst_pad_push_event()
2877           - don't zero App structure
2878           - check for pipeline parsing error
2879           - only get vaapisink for property set
2880
2881 2017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
2882
2883         * gst/vaapi/gstvaapisink.c:
2884           vaapisink: keep handle_events flag except that if user want to set
2885           When state of vaapisink is changed from PLAYING to NULL, the handle_events
2886           flag is set to FALSE, and never recovered, and then event thread is never
2887           going to run.
2888           So we should allow to set the flag only when users try it.
2889           https://bugzilla.gnome.org/show_bug.cgi?id=782543
2890
2891 2017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
2892
2893         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
2894           libs: window: x11: fix src rect info when using vpp
2895           Since we started using VPP in VaapiWindowX11, we need to care about
2896           the case that src rect and window's size are different.
2897           So, once VPP has converted to other format, we should honor the
2898           size of the VPP's surface as source rect. Otherwise, it is cropped
2899           according the previous size of the source rect.
2900           https://bugzilla.gnome.org/show_bug.cgi?id=782542
2901
2902 2017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2903
2904         * gst/vaapi/gstvaapipluginutil.c:
2905           plugins: remove par from caps negotiation
2906           https://bugzilla.gnome.org/show_bug.cgi?id=781759
2907
2908 2017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
2909
2910         * tests/elements/Makefile.am:
2911         * tests/elements/test-roi.c:
2912           tests: elements: add an example for ROI
2913           This implements a pipleint to recognize difference between ROI and non-ROI.
2914           See comments in this code in detail.
2915           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2916           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2917
2918 2017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
2919
2920         * gst/vaapi/gstvaapiencode.c:
2921         * gst/vaapi/gstvaapiencode_h264.c:
2922           vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
2923           Handles new custom event GstVaapiEncoderRegionOfInterest
2924           to enable/disable a ROI region.
2925           Writes a way to use new event to document.
2926           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2927           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2928
2929 2017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
2930
2931         * tests/simple-encoder.c:
2932           tests: simple-encoder: add an option to set ROI
2933           $ simple-encoder -r inputfile.y4m
2934           And you'll got an output file in H264 with two regions of interest.
2935           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2936           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2937
2938 2017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
2939
2940         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2941           libs: encoder: h264: set ROI params during encoding
2942           Set ROI params during encoding each frame, which are set via
2943           gst_vaapi_encoder_add_roi ()
2944           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2945           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2946
2947 2017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
2948
2949         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2950         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2951         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2952           libs: encoder: add api gst_vaapi_encoder_add/del_roi
2953           Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
2954           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2955
2956 2017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
2957
2958         * gst-libs/gst/vaapi/gstvaapicontext.c:
2959         * gst-libs/gst/vaapi/gstvaapicontext.h:
2960         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2961           libs: encoder/context: query region of interest support
2962           Queries if the driver supports "Region of Interest" (ROI) during the config
2963           creation.
2964           This attribute conveys whether the driver supports region-of-interest (ROI)
2965           encoding, based on user provided ROI rectangles.  The attribute value is
2966           partitioned into fields as defined in the VAConfigAttribValEncROI union.
2967           If ROI encoding is supported, the ROI information is passed to the driver
2968           using VAEncMiscParameterTypeROI.
2969           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2970           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2971
2972 2017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2973
2974         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
2975           libs: encoder: fix a comment
2976
2977 2017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2978
2979         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2980           libs: encoder: guard quality level configuration
2981           The quality level appeared in VA-API 0.36. So let's guard its
2982           usage.
2983
2984 2017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2985
2986         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2987         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2988         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2989         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2990         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2991         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
2992         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2993         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2994         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2995           encoders: add quality level tuning
2996           This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
2997           in gstreamer-vaapi encoders:
2998           The encoding quality could be set through this structure, if the
2999           implementation supports multiple quality levels. The quality level set
3000           through this structure is persistent over the entire coded sequence, or
3001           until a new structure is being sent. The quality level range can be queried
3002           through the VAConfigAttribEncQualityRange attribute. A lower value means
3003           higher quality, and a value of 1 represents the highest quality. The quality
3004           level setting is used as a trade-off between quality and speed/power
3005           consumption, with higher quality corresponds to lower speed and higher power
3006           consumption.
3007           The quality level is set by the element's parameter "quality-level" with a
3008           hard-coded range of 1 to 8.
3009           Later, when the encoder is configured in run time, just before start
3010           processing, the quality level is scaled to the codec range. If
3011           VAConfigAttribEncQualityRange is not available in the used VA backend, then
3012           the quality level is set to zero, which means "disabled".
3013           All the available codecs now process this parameter if it is available.
3014           https://bugzilla.gnome.org/show_bug.cgi?id=778733
3015           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3016
3017 2017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
3018
3019         * configure.ac:
3020         * meson.build:
3021           Back to development
3022
3023 === release 1.12.0 ===
3024
3025 2017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
3026
3027         * ChangeLog:
3028         * NEWS:
3029         * configure.ac:
3030         * gstreamer-vaapi.doap:
3031         * meson.build:
3032           Release 1.12.0
3033
3034 2017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3035
3036         * gst/vaapi/gstvaapidecodebin.c:
3037           Revert "vaapidecodebin: fix element's classification"
3038           This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
3039
3040 2017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
3041
3042         * configure.ac:
3043         * meson.build:
3044           build: Require libva < 0.99.0
3045           libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
3046           fail to configure instead of failing late in the build.
3047           This libva is bundled in msdk[1] and it is ahead in time with
3048           respect the official and open source libva[2]. GStreamer-VAAPI
3049           only supports the latter for now.
3050           1. https://software.intel.com/en-us/media-sdk/download
3051           2. https://github.com/01org/libva/
3052           https://bugzilla.gnome.org/show_bug.cgi?id=781866
3053
3054 2017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
3055
3056         * gst/vaapi/gstvaapidecodebin.c:
3057           vaapidecodebin: fix element's classification
3058           This bin should have similar classification as decodebin which is
3059           "Generic/Bin/Decoder" otherwise it will appear wrongly as video
3060           decoder.
3061           Signed-off-by: Victor Toso <victortoso@redhat.com>
3062           https://bugzilla.gnome.org/show_bug.cgi?id=782063
3063
3064 === release 1.11.91 ===
3065
3066 2017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
3067
3068         * ChangeLog:
3069         * NEWS:
3070         * configure.ac:
3071         * gstreamer-vaapi.doap:
3072         * meson.build:
3073           Release 1.11.91
3074
3075 2017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3076
3077         * gst/vaapi/gstvaapipluginutil.c:
3078           Revert "plugins: reject pixel-aspect-ratio with value 0/1"
3079           This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
3080
3081 2017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3082
3083         * gst/vaapi/gstvaapipluginutil.c:
3084           plugins: reject pixel-aspect-ratio with value 0/1
3085           Do not negotiate a pixel-aspect-ratio of 0/1.
3086           https://bugzilla.gnome.org/show_bug.cgi?id=781759
3087
3088 2017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3089
3090         * gst/vaapi/gstvaapipostprocutil.c:
3091         * gst/vaapi/gstvaapisink.c:
3092           plugins: handle pixel-aspect-ratio with value 0/1
3093           When downstream negotiates a pixel-aspect-ratio of 0/1, the
3094           calculations for resizing and formatting in vaapipostproc and
3095           vaapisink, respectively, failed, and thus the pipeline.
3096           This patch handles this situation by converting p-a-r of 0/1 to
3097           1/1. This is how other sinks, such as glimagesink, work.
3098           https://bugzilla.gnome.org/show_bug.cgi?id=781759
3099
3100 2017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
3101
3102         * gst/vaapi/gstvaapivideobufferpool.c:
3103           vaapivideobufferpool: fix leak of created allocator
3104           Since it's created by itself, it should be unref-counted
3105           after gst_buffer_pool_config_set_allocator call. Afterwards,
3106           this allocator will be ref-counted again when assigning to priv->allocator.
3107           https://bugzilla.gnome.org/show_bug.cgi?id=781577
3108
3109 2017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3110
3111         * gst/vaapi/gstvaapivideobufferpool.c:
3112           vaapivideobufferpool: create or reconfig allocator
3113           Sometimes a video decoder could set different buffer pool
3114           configurations, because their frame size changes. In this case we
3115           did not reconfigure the allocator.
3116           This patch enables this use case, creating a new allocator inside
3117           the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
3118           If so, it is just reconfigured, since it doesn't have a surface pool.
3119           https://bugzilla.gnome.org/show_bug.cgi?id=781577
3120
3121 2017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3122
3123         * tests/elements/Makefile.am:
3124           test: elements: fix compilation flags
3125           This issue was spotten on bug #766704
3126           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
3127
3128 2017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
3129
3130         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3131           libs: windows: wayland: fix leak if failure of sync
3132           Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
3133           during destruction.
3134           In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
3135           This surface is not attached to anything at this moment, so we should release
3136           it manually.
3137           https://bugzilla.gnome.org/show_bug.cgi?id=781695
3138
3139 2017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
3140
3141         * common:
3142           Automatic update of common submodule
3143           From 60aeef6 to 48a5d85
3144
3145 2017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
3146
3147         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3148           libs: window: wayland: mark frames as done
3149           When the frame listener callbacks 'done', the number of pending
3150           frames are decreased. Nonetheless, there might be occasions where
3151           the buffer listener callbacks 'release', without calling previously
3152           frame's 'done'. This leads to problem with
3153           gst_vaapi_window_wayland_sync() operation.
3154           This patch marks as done those frames which were callbacked, but if
3155           the buffer callbacks 'release' and associated frame is not marked
3156           as 'done' it is so, thus the number of pending frames keeps correct.
3157           https://bugzilla.gnome.org/show_bug.cgi?id=780442
3158           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3159
3160 2017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3161
3162         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3163           libs: window: wayland: don't sync at destroy()
3164           Don't call gst_vaapi_window_wayland_sync() when destroying the
3165           wayland window instance, since it might lead to a lock at
3166           gst_poll_wait() when more than one instances of vaapisink are
3167           rendering in the same pipeline, this is because they share the
3168           same window.
3169           Since now all the frames are freed we don't need to freed the
3170           private last_frame, since its address is invalid now.
3171           https://bugzilla.gnome.org/show_bug.cgi?id=780442
3172           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
3173
3174 2017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
3175
3176         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3177           libs: window: wayland: null buffer at destroy()
3178           Fix leakage of the last wl buffer.
3179           VAAPI wayland sink needs to send a null buffer while destruction,
3180           it assures that all the wl buffers are released. Otherwise, the last
3181           buffer's callback might be not called, which leads to leak of
3182           GstVaapiDisplay.
3183           This was inspired by gstwaylandsink.
3184           https://bugzilla.gnome.org/show_bug.cgi?id=774029
3185           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3186
3187 2016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
3188
3189         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3190           libs: window: wayland: rt event queue at destroy()
3191           The proxy object of wl_buffer for the last frame remains in the
3192           wl_map. Even though we call wl_buffer_destroy() in
3193           frame_release_callback(), the proxy object remains without being
3194           removed, since proxy object is deleted when wayland server sees the
3195           delete request and sends 'delete_id' event.
3196           We need to call roundtrip before destroying event_queue so that the
3197           proxy object is removed. Otherwise, it would be mess up as receiving
3198           'delete_id' event from previous play, when playing in the next
3199           va/wayland window with the same wl_display connection.
3200           https://bugzilla.gnome.org/show_bug.cgi?id=773689
3201           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3202
3203 2017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3204
3205         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3206           libs: window: wayland: cancel read at poll message
3207           Always call wl_display_cancel_read() when an errno is set, but
3208           different to EAGAIN or EINTR.
3209           https://bugzilla.gnome.org/show_bug.cgi?id=780442
3210
3211 2017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
3212
3213         * gst/vaapi/gstvaapidecodebin.c:
3214         * gst/vaapi/gstvaapidecodebin.h:
3215           vaapidecodebin: skips configuration once it's done
3216           Skips configuration of creation of vpp/capsfilter and link them once it's done.
3217           Otherwise, it always fails when it's trying to re-start playback.
3218           https://bugzilla.gnome.org/show_bug.cgi?id=781573
3219
3220 2017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3221
3222         * gst/vaapi/gstvaapipostprocutil.c:
3223           vaapipostproc: fixes for memory leaks
3224           The use of gst_vaapi_value_set_format() and gst_structure_*_value()
3225           requires to clear the used GValue to avoid a memory leak.
3226
3227 2016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3228
3229         * gst/vaapi/gstvaapipluginbase.c:
3230         * gst/vaapi/gstvaapipluginbase.h:
3231           plugins: enable direct rendering with envvar
3232           Direct rendering (use vaDeriveImage rather than vaPutImage) has better
3233           performance in some Intel platforms (Haswell, for example) but in others
3234           (Skylake) is the opposite.
3235           In order to have some control, the patch enables the direct rendering
3236           through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
3237           Also it seems to generating some problems with gallium/radeon backend.
3238           See bug #779642.
3239           https://bugzilla.gnome.org/show_bug.cgi?id=775848
3240
3241 2017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
3242
3243         * gst/vaapi/gstvaapidecode.c:
3244           vaapidecode: Don't renegotiate on every flush
3245           If caps don't actually change, don't update the
3246           decoder and don't set the do_renego flag forcing
3247           downstream renegotiation
3248           https://bugzilla.gnome.org/show_bug.cgi?id=781142
3249
3250 2017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
3251
3252         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3253           h264 decoder: Implement reset() for faster flush
3254           Implement a custom reset() function for faster flushes
3255           that just clear the reference pictures but don't reallocate
3256           the DPB or clear out SPS/PPS
3257           https://bugzilla.gnome.org/show_bug.cgi?id=781142
3258
3259 2017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
3260
3261         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3262         * gst-libs/gst/vaapi/gstvaapidecoder.h:
3263         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3264         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3265         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
3266         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
3267         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
3268         * gst/vaapi/gstvaapidecode.c:
3269           Implement decoder reset on flush, rather than recreating
3270           Clear decoders out on a flush but keep the same instance,
3271           rather than completely recreating them. That avoids
3272           unecessarily freeing and recreating surface pools
3273           and contexts, which can be quite expensive
3274           https://bugzilla.gnome.org/show_bug.cgi?id=781142
3275
3276 2017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3277
3278         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3279           libs: window: don't add an unused function
3280           The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
3281           a function that is never used, thus when compiling we might see
3282           this warning (clang):
3283           gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
3284           GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
3285           ^
3286           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3287
3288 2017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3289
3290         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3291         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
3292           libs: window: remove surface_format member
3293           Since we always convert to NV12, there is no need to keep a
3294           variable for that. Let us hard code it.
3295           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3296
3297 2017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
3298
3299         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3300         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3301         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
3302           libs: window: x11/wayland: use new api for conversion
3303           Since gst_vaapi_window_vpp_convert_internal is created,
3304           GstVaapiWindowX11/Wayland can use it for conversion.
3305           Note that once it chooses to use vpp, it's going to use vpp
3306           until the session is finished.
3307           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3308
3309 2017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
3310
3311         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3312         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
3313           libs: window: add gst_vaapi_window_vpp_convert_internal()
3314           If a backend doesn't support specific format, we can use vpp for conversion
3315           and make it playing.
3316           This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
3317           so that GstVaapiWindowX11 could use it.
3318           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3319
3320 2017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
3321
3322         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3323         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
3324         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3325         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3326         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
3327           libs: window: x11/wayland: chaining up to GstVaapiWindow
3328           Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
3329           This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
3330           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3331
3332 2017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
3333
3334         * gst/vaapi/gstvaapipluginutil.c:
3335           plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
3336           When these definitions are false, they are undef in the
3337           preprocessor, not a defined value of 0. When they are unset the
3338           compile fails with:
3339           'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
3340           https://bugzilla.gnome.org/show_bug.cgi?id=780948
3341
3342 2017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
3343
3344         * common:
3345           Automatic update of common submodule
3346           From 39ac2f5 to 60aeef6
3347
3348 === release 1.11.90 ===
3349
3350 2017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
3351
3352         * ChangeLog:
3353         * NEWS:
3354         * configure.ac:
3355         * gstreamer-vaapi.doap:
3356         * meson.build:
3357           Release 1.11.90
3358
3359 2017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3360
3361         * gst/vaapi/gstvaapiencode_h265.c:
3362           vaapiencode: h265: add main-10 in caps template
3363           This patch adds h265's main-10 profile in encoder src caps template.
3364           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3365
3366 2017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3367
3368         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3369           libs: encoder: h265: chroma and luma with format
3370           If the profile is main-10 the bit_depth_luma_minus8, in the sequence
3371           parameter buffer, shall be the color format bit depth minus 8, 10-8
3372           which is 2. Also for bit_depth_chroma_minus8.
3373           This patch gets the negotiated sink caps format and queries its
3374           luma's depth and uses that value to fill the mentioned parameters.
3375           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3376
3377 2017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3378
3379         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3380           libs: encoder: admit YUV420_10BPP as valid chroma
3381           Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
3382           type.
3383           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3384
3385 2017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3386
3387         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3388           libs: encoder: h265: ensures profile given format
3389           Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
3390           configured color format is P010_10LE.
3391           Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
3392           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3393
3394 2017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3395
3396         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3397           libs: encode: merge all possible surface formats
3398           When the function gst_vaapi_encoder_get_surface_formats() was added
3399           it was under the assumption that any VA profile of the specific codec
3400           supported the same format colors. But it is not, for example the
3401           profiles that support 10bit formats.
3402           In other words, different VA profiles of a same codec may support
3403           different color formats in their upload surfaces.
3404           In order to expose all the possible color formats, if no profile is
3405           specified via source caps, or if the encoder doesn't have yet a
3406           context, all the possible VA profiles for the specific codec are
3407           iterated and their color formats are merged.
3408           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3409
3410 2017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3411
3412         * gst/vaapi/gstvaapiencode.c:
3413         * gst/vaapi/gstvaapiencode.h:
3414         * gst/vaapi/gstvaapiencode_h264.c:
3415         * gst/vaapi/gstvaapiencode_h265.c:
3416           vaapiencode: add get_profile() vmethod
3417           This new virtual method, get_profile(), if implemented by specific
3418           encoders, will return the VA profile potentially determined by the
3419           source caps.
3420           Also it is implemented by h264 and h265 encoders, which are the main
3421           users of this vmethod.
3422           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3423
3424 2017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3425
3426         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3427         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3428         * gst/vaapi/gstvaapiencode.c:
3429           libs: encoder: pass profile to get_surface_formats()
3430           In order to get the supported surface formats within a specific
3431           profile this patch adds the GstVaapiProfile as property to
3432           gst_vaapi_encoder_get_surface_formats().
3433           Currently the extracted formats are only those related with the
3434           default profile of the element's codec.
3435           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3436
3437 2017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3438
3439         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3440           libs: encoder: dummy context for get_surface_formats()
3441           Instead of creating (if it doesn't exist, yet) the encoder's context
3442           the method gst_vaapi_encoder_get_surface_formats() now it creates
3443           dummy contexts, unless the encoder has it already created.
3444           The purpose of this is to avoid setting a encoder's context with a
3445           wrong profile.
3446           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3447
3448 2017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3449
3450         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3451           libs: encoder: refactor init_context_info()
3452           In order to generate vaapi contexts iterative, the function
3453           init_context_info() is refactored to pass, as parameters the
3454           GstVaapiContextInfo and the GstVaapiProfile.
3455           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3456
3457 2017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3458
3459         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3460         * gst-libs/gst/vaapi/gstvaapiutils.c:
3461         * gst-libs/gst/vaapi/gstvaapiutils.h:
3462           libs: encoder: initialize chroma_type
3463           Instead of initialize the chroma_type with a undefined value, which
3464           will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
3465           this patch queries the VA config, given the received
3466           GstVaapiContextInfo's parameters, and gets the first response.
3467           In order to get the GstVaapiChromaType value, also it was needed to
3468           add a new utility function: to_GstVaapiChromaType(), which, given a
3469           VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
3470           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3471
3472 2017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3473
3474         * gst/vaapi/gstvaapiencode.c:
3475           vaapiencode: enhance logs of negotiated caps
3476           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3477
3478 2017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
3479
3480         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3481           libs: encoder: vp9: Fix initialization of ref_list
3482           gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
3483           'memset' used with length equal to number of elements without
3484           multiplication by element size [-Werror=memset-elt-size]
3485           https://bugzilla.gnome.org/show_bug.cgi?id=780947
3486
3487 2017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3488
3489         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3490           encoder: h264: Fix Backward ReferencePicture flag setting
3491           This is a regression introduced by e829b62 which
3492           override the reference flags and caused issues with
3493           latest intel-vaapi-driver.
3494
3495 2017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3496
3497         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3498           libs: encoder: h265: fix code style
3499           Trivial patch to remove a double ';' as end of instruction.
3500
3501 2017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3502
3503         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3504           encoder: h264: Fix B frame encoding artifacts
3505           The current implementation is updating the POC values only
3506           in Slice parameter Buffer.But we are not filling the
3507           picture order count and reference flags in VAPictureH264
3508           while populating VA Picture/Slice structures.The latest
3509           intel-vaapi-driver is directly accessing the above fields
3510           from VAPicutreH264 provided as RefPicLists, which resulted
3511           some wrong maths and prediction errors in driver.
3512           https://bugzilla.gnome.org/show_bug.cgi?id=780620
3513
3514 2017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3515
3516         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3517           libs: encoder: h265: remove unused macro definition
3518           Since the h265 encoder doesn't use GValueArray, there is no need to
3519           disable the Glib deprecation warnings, thus removing the macro
3520           definition.
3521
3522 2017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3523
3524         * gst/vaapi/gstvaapidecode.c:
3525         * gst/vaapi/gstvaapiencode.c:
3526         * gst/vaapi/gstvaapipostproc.c:
3527         * gst/vaapi/gstvaapisink.c:
3528           plugins: when debug disabled, default category is NULL
3529           As in gstreamer-vaapi a common base class is used, the specific
3530           default category is passed to the base-plugin initializator, thus
3531           the log messages are categorized with the used plugin.
3532           Nonetheless, when the gst-debug is disabled in compilation time,
3533           it is needed to pass NULL to the base-plugin initializator. This
3534           patch does that.
3535           https://bugzilla.gnome.org/show_bug.cgi?id=780302
3536
3537 2017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
3538
3539         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3540         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3541         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
3542         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
3543           libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
3544           Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
3545           unit length and data to a bitwriter.
3546           Note that this helper function applies EPB (Emulation Prevention
3547           Bytes), since otherwise produced codec_data might be broken when
3548           decoder/parser considering EPB, starts parsing.
3549           See sections 7.3 and 7.4 of the H264 and H264 specifications, which
3550           describes the emulation_prevention_three_byte.
3551           https://bugzilla.gnome.org/show_bug.cgi?id=778750
3552           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3553
3554 2017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
3555
3556         * gst-libs/gst/vaapi/Makefile.am:
3557         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3558         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3559         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
3560         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
3561         * gst-libs/gst/vaapi/meson.build:
3562           libs: utils: h26x: create vaapiutils_h26x
3563           Since there is duplicated code in h264/265 encoder, we could
3564           refactor it to avoid duplicated code.
3565           https://bugzilla.gnome.org/show_bug.cgi?id=778750
3566           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3567
3568 2017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
3569
3570         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3571         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3572           libs: encoder: h264/5: fix wrong return value
3573           https://bugzilla.gnome.org/show_bug.cgi?id=778750
3574
3575 2017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
3576
3577         * gst/vaapi/gstvaapiencode_h264.c:
3578         * gst/vaapi/gstvaapiencode_h265.c:
3579           docs: h264/h265: put parser to the example pipeline
3580           https://bugzilla.gnome.org/show_bug.cgi?id=778749
3581
3582 2017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
3583
3584         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3585           libs: encoder: h265: fix reserved length of bits
3586           Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
3587           https://bugzilla.gnome.org/show_bug.cgi?id=778749
3588
3589 2017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3590
3591         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
3592         * tests/test-display.c:
3593           O_CLOEXEC needs _GNU_SOURCE defined
3594           From man open(2):
3595           The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
3596           in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
3597           2.12, one can obtain their definitions by defining either
3598           _POSIX_C_SOURCE with a value greater than or equal to 200809L or
3599           _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
3600           2.11 and earlier, one obtains the definitions by defining
3601           _GNU_SOURCE.
3602           And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
3603           _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
3604           gstreamer-vaapi with the uClibc C library.
3605           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3606           https://bugzilla.gnome.org/show_bug.cgi?id=779953
3607
3608 2017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3609
3610         * README:
3611           README: fix "Sources" section
3612           Update the URL where the release source tarballs can be downloaded.
3613
3614 2017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3615
3616         * README:
3617           README: fix "Reporting bugs" section
3618           The "Reporting bugs" section gives
3619           https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
3620           link to report a bug, but this link says "Sorry, entering a bug into the
3621           product gstreamer-vaapi has been disabled.".
3622           This commit fixes the URL to point to the proper location, and also
3623           removes the following paragraph that is no longer correct.
3624           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3625           https://bugzilla.gnome.org/show_bug.cgi?id=779954
3626
3627 2017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3628
3629         * gst/vaapi/gstvaapipluginutil.c:
3630           plugins: retry to create the VA display
3631           Particularly in GNOME Wayland, the negotiated or created GL context
3632           defines a GLX environment, but VAAPI fails to create a GLX VA
3633           display because there is no a DRI2 connection.
3634           This patch retries to create the VA display if VA cannot create one
3635           with the GL context parameters. Now using the old list of display
3636           types.
3637           This should also work in the case of systems with two GPU, when the
3638           non-VAAPI has the graphics environment, and the VAAPI-enabled one
3639           shall work headless.
3640           https://bugzilla.gnome.org/show_bug.cgi?id=772838
3641
3642 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
3643
3644         * gst/vaapi/gstvaapipostproc.c:
3645           vaapipostproc: texture upload if driver supports GL
3646           Removes GstVideoGLTextureUploadMeta caps feature if the driver
3647           doesn't support opengl.
3648           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3649           https://bugzilla.gnome.org/show_bug.cgi?id=772838
3650
3651 2016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3652
3653         * gst/vaapi/gstvaapidecode.c:
3654           vaapidecode: texture upload if driver supports GL
3655           When the allowed source pad caps are generated, the GLTextureUpload caps are
3656           only inserted if the driver support OpenGL.
3657           https://bugzilla.gnome.org/show_bug.cgi?id=772838
3658
3659 2017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3660
3661         * configure.ac:
3662           configure: Add missing compiler flags
3663           The AC_CHECK_HEADERS macro was failing to locate some headers, in
3664           particular the va_enc_* headers due to missing compiler flags.
3665           https://bugzilla.gnome.org/show_bug.cgi?id=779101
3666           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3667
3668 2017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
3669
3670         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3671           libs: window: wayland: handle more VAStatus to use vpp
3672           Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
3673           we should consider more returned VAStatus to use vpp.
3674           https://bugzilla.gnome.org/show_bug.cgi?id=779400
3675
3676 2017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
3677
3678         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3679           libs: encoder: ensure profile when context initialization
3680           We can't be sure that encoder's profile is assgined already or not
3681           at context initialization.
3682           https://bugzilla.gnome.org/show_bug.cgi?id=779120
3683
3684 2017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
3685
3686         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3687           libs: encoder: set rate control info only when query succeed
3688           Currently, it set rate control information even when query fails.
3689           In addition, it doesn't update any more since the flag
3690           got_rate_control_mask is set to TRUE.
3691           https://bugzilla.gnome.org/show_bug.cgi?id=779120
3692
3693 2017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
3694
3695         * meson.build:
3696           meson: Update version
3697
3698 2017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
3699
3700         * configure.ac:
3701           Back to development
3702
3703 === release 1.11.2 ===
3704
3705 2017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
3706
3707         * ChangeLog:
3708         * NEWS:
3709         * configure.ac:
3710         * gstreamer-vaapi.doap:
3711           Release 1.11.2
3712
3713 2017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3714
3715         * gst/vaapi/gstvaapiencode.c:
3716           vaapiencode: merge tags for downstream's info
3717           Add encoder and codec name and the bitrate into the output for
3718           informational purposes. Some muxers or application use it as
3719           media metadata.
3720           https://bugzilla.gnome.org/show_bug.cgi?id=778781
3721
3722 2017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3723
3724         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3725           libs: encoder: caps can change at any time
3726           The encoder should be able to change its caps even it is already
3727           processing a stream.
3728           This is suppose to happen after a flush so the codedbuf_queue should
3729           be empty.
3730           https://bugzilla.gnome.org/show_bug.cgi?id=775490
3731
3732 2017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3733
3734         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3735           libs: encoder: h265: bail if nal unit type fails
3736           Bail out if the NAL unit type is not recognized.
3737           https://bugzilla.gnome.org/show_bug.cgi?id=778782
3738
3739 2017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3740
3741         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3742         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3743           libs: decoder: h264,h265 avoid uninitialized variable
3744           Configuring GCC to verify possible usage of uninitialized variables,
3745           shows that found_index might be used without previous assignation.
3746           This patch assigns a initial value to found_index, also avoid a
3747           branching when returning the result value.
3748           https://bugzilla.gnome.org/show_bug.cgi?id=778782
3749
3750 2017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
3751
3752         * configure.ac:
3753         * gst-libs/gst/vaapi/Makefile.am:
3754         * gst/vaapi/gstvaapidecode.c:
3755         * gst/vaapi/gstvaapidecodebin.c:
3756           build: rename USE_HEVC_DECODER to USE_H265_DECODER
3757           Rename to be consistent with H.264 and also H.265 encoder. The
3758           meson build assumed this was already consistently named, and so
3759           previously was not able to actually build the H.265 decoder.
3760           https://bugzilla.gnome.org/show_bug.cgi?id=778576
3761
3762 2017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
3763
3764         * meson.build:
3765           meson: gstreamer-codecparsers is a required dep
3766           Just like in configure.ac.
3767
3768 2017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
3769
3770         * Makefile.am:
3771           meson: dist meson build files
3772           Ship meson build files in tarballs, so people who use tarballs
3773           in their builds can start playing with meson already.
3774
3775 2017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
3776
3777         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3778           libs: encoder: vp8: add CBR encoding mode
3779           This patch enables the Constant BitRate encoding mode in VP8 encoder.
3780           Basically it adds the configuration parameters required by libva to
3781           CBR enconding.
3782           Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3783           https://bugzilla.gnome.org/show_bug.cgi?id=749950
3784
3785 2017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
3786
3787         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3788           libs: encoder: vp8: fix bitrate calculation
3789           Base encoder's unit of bitrate is in Kbps. We should honor it so
3790           we use the value of bitrate in VA, in which is expressed in bps.
3791           https://bugzilla.gnome.org/show_bug.cgi?id=749950
3792
3793 2017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3794
3795         * gst/vaapi/gstvaapipluginbase.c:
3796           plugins: fix build when gcc
3797           In commit a8e482f9 we added a function without parameters, but gcc
3798           doesn't like that.
3799
3800 2017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
3801
3802         * gst-libs/gst/base/meson.build:
3803         * gst-libs/gst/meson.build:
3804         * gst-libs/gst/vaapi/meson.build:
3805         * gst-libs/meson.build:
3806         * gst/meson.build:
3807         * gst/vaapi/meson.build:
3808         * meson.build:
3809         * meson_options.txt:
3810           vaapi: add meson build
3811           https://bugzilla.gnome.org/show_bug.cgi?id=778250
3812
3813 2017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
3814
3815         * configure.ac:
3816         * gst-libs/gst/vaapi/Makefile.am:
3817         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3818         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
3819           make: remove gstvaapiversion.h generation
3820           https://bugzilla.gnome.org/show_bug.cgi?id=778250
3821
3822 2016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
3823
3824         * gst/vaapi/gstvaapipluginbase.c:
3825           plugins: use linear storage if not the same device
3826           When dmabuf is negotiated downstream and decoding and rendering are
3827           not done on the same device, the layout has to be linear in order for
3828           the memory to be shared accross devices, since each device has its
3829           own way to do tiling.
3830           Right now this code is rather just a to-do comment, since we are not
3831           fetching the device ids.
3832           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3833
3834 2017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
3835
3836         * gst-libs/gst/vaapi/gstvaapiutils.c:
3837           libs: utils: add HEVC profiles representation
3838           https://bugzilla.gnome.org/show_bug.cgi?id=778318
3839
3840 2017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
3841
3842         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3843           libs: decoder: h264: reduce frame number of gaps
3844           Reduce frame num gaps so that we don't have to create unnecessary
3845           dummy pictures, just throw them away.
3846           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3847           https://bugzilla.gnome.org/show_bug.cgi?id=777506
3848
3849 2016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3850
3851         * gst/vaapi/gstvaapidecode.c:
3852           vaapidecode: don't GLTextureUpload if dmabuf
3853           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
3854           element can handle dmabuf-based buffers, avoiding its negotiation.
3855
3856 2016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
3857
3858         * gst/vaapi/gstvaapidecode.c:
3859           vaapidecode: make pool to export decoder's surface
3860           Use new -base API gst_video_decoder_allocate_output_frame_full() to
3861           pass the current proxy/surface to the pool.
3862           The pool will will export thins given surface instead of exporting a
3863           brand new surface that will never be filled in with meaningfull data.
3864           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3865
3866 2017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3867
3868         * gst/vaapi/gstvaapipluginbase.c:
3869           plugins: decoder can negotiate dmabuf downstream
3870
3871 2016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
3872
3873         * gst/vaapi/gstvaapivideobufferpool.c:
3874           vaapivideobufferpool: override acquire_buffer()
3875           Overriding the vmethod acquire_buffer() it is possible to attach the
3876           right GstMemory to the current acquired buffer.
3877           As a matter of fact, this acquired buffer may contain any instantiated
3878           GstFdmemory, since this buffer have been popped out from the buffer
3879           pool, which is a FIFO queue. So there is no garantee that this buffer
3880           matches with the current processed surface. Evenmore, the VA driver
3881           might not use a FIFO queue. Therefore, it is no way to guess on the
3882           ordering.
3883           In short, acquire_buffer on the VA driver and on the buffer pool return
3884           none matching data, we have to manually attach the right GstFdMemory to
3885           the acquired GstBuffer. The right GstMemory is the one associated with
3886           the current surface.
3887           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3888
3889 2016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
3890
3891         * gst/vaapi/gstvaapivideobufferpool.c:
3892         * gst/vaapi/gstvaapivideomemory.c:
3893           vaapivideomemory: export surface if it is provided
3894           gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
3895           had to create that surface. Now it can also export an already provided
3896           surface. It is useful to export decoder's surfaces (from VA context).
3897           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3898
3899 2016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
3900
3901         * gst/vaapi/gstvaapivideobufferpool.h:
3902           vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
3903           Useful to let the pool know the current surface proxy when calling
3904           gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
3905           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3906
3907 2016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
3908
3909         * gst-libs/gst/vaapi/gstvaapisurface.c:
3910         * gst-libs/gst/vaapi/gstvaapisurface.h:
3911           libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
3912           These functions are useful when a dmabuf-based memory is instantiated in
3913           order to relate the generated buffer @proxy with the processed @surface.
3914           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3915
3916 2016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
3917
3918         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3919         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
3920         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
3921           libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
3922           This patch adds a GstMemory as a variable member of the buffer proxy,
3923           because we will need to associate the buffer proxy with the memory
3924           which exposes it. Later, we will know which memory, in the video buffer
3925           pool, is attached to the processed surface.
3926           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3927
3928 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
3929
3930         * gst/vaapi/gstvaapipostproc.c:
3931           vaapipostproc: don't GLTextureUpload if dmabuf
3932           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
3933           element can handle dmabuf-based buffers, avoiding its negotiation.
3934           Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
3935           feature if can dmabuf"
3936           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3937
3938 2016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3939
3940         * gst/vaapi/gstvaapipluginbase.c:
3941           plugins: enable DMAbuf allocator to downstream
3942           If the negotiated caps are raw caps and downstream supports the
3943           EGL_EXT_image_dma_buf_import extension, then the created allocator
3944           is the DMAbuf, configured to downstream.
3945           At this moment, the only element which can push dmabuf-based buffers
3946           to downstream, is vaapipostproc.
3947
3948 2016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3949
3950         * gst/vaapi/gstvaapipluginbase.c:
3951         * gst/vaapi/gstvaapipluginbase.h:
3952           plugins: check if negotiate dmabuf with downstream
3953           In order to enable, in the future, dmabuf-based buffers, the vaapi base
3954           plugin needs to check if downstream can import dmabuf buffers.
3955           This patch checks if downstream can handle dmabuf, by introspecting the
3956           shared GL context. If the GL context is EGL/GLES2 and have the extension
3957           EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
3958           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
3959
3960 2016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
3961
3962         * gst/vaapi/gstvaapivideomemory.c:
3963           vaapivideomemory: release proxy's data if downstream
3964           The surface created for downstream is going to be filled by VAAPI
3965           elements. So, the driver needs write access on that surface.
3966           This patch releases the derived image held by the proxy, thus the
3967           surface is unmarked as busy.
3968           This is how it has to be done as discussed on libva mailing list.
3969           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3970
3971 2016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
3972
3973         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3974         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
3975           libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
3976           Adds an API to request the user's data release in the buffer proxy.
3977           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3978
3979 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
3980
3981         * gst/vaapi/gstvaapipluginbase.c:
3982         * gst/vaapi/gstvaapivideomemory.c:
3983         * gst/vaapi/gstvaapivideomemory.h:
3984           vaapivideomemory: add direction to dmabuf allocator
3985           Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
3986           we later could do different thing when the allocated memory is for
3987           upstream or dowstream, as required by VA-API.
3988           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3989
3990 2016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
3991
3992         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
3993           libs: utils: return NULL if failed to get surface formats
3994           Thus, when generating the allowed caps, the element will throw a
3995           warning and it will use its caps template.
3996           This behavior might be a bug in the VA driver.
3997           https://bugzilla.gnome.org/show_bug.cgi?id=775490
3998
3999 2015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4000
4001         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4002           Revert "vaapidisplay: mark X11 display as compatible with EGL"
4003           This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
4004
4005 2017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
4006
4007         * gst/vaapi/gstvaapipostproc.c:
4008           vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
4009           A value of width/height property should be set to out caps,
4010           if negotiation had been going properly.
4011           So we can use srcpad_info when making decision of scaling.
4012           https://bugzilla.gnome.org/show_bug.cgi?id=778010
4013
4014 2017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4015
4016         * gst/vaapi/gstvaapidecode.c:
4017         * gst/vaapi/gstvaapiencode.c:
4018         * gst/vaapi/gstvaapipluginutil.c:
4019         * gst/vaapi/gstvaapipluginutil.h:
4020         * gst/vaapi/gstvaapipostproc.c:
4021         * gst/vaapi/gstvaapisink.c:
4022           plugins: handle GL params through context query
4023           If the element instantiated the GL display and context, they should
4024           handle them too through the context query.
4025           https://bugzilla.gnome.org/show_bug.cgi?id=777409
4026
4027 2017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4028
4029         * gst/vaapi/gstvaapipluginbase.c:
4030         * gst/vaapi/gstvaapipluginbase.h:
4031         * gst/vaapi/gstvaapipluginutil.c:
4032           plugins: create a GL context on certain conditions
4033           If a GstVaapiDisplay is not found in the GStreamer context sharing,
4034           then VAAPI elements look for a local GstGLContext in gst context
4035           sharing mechanism ('gst.gl.local.context').
4036           If this GstGLContext not found either then, only the VAAPI decoders
4037           and the VAAPI post-processor, will try to instantiate a new
4038           GstGLContext.
4039           If a valid GstGLContext is received, then a new GstVaapiDisplay will
4040           be instantiated with the platform, API and windowing specified by the
4041           instantiated GstGLContext.
4042           Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
4043           https://bugzilla.gnome.org/show_bug.cgi?id=777409
4044
4045 2016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4046
4047         * gst/vaapi/gstvaapivideocontext.c:
4048           vaapivideocontext: context type can be rejected
4049           Instead of calling g_return_val_if_fail() to check the context type, we
4050           should use a normal conditional, since it is possible that other context types
4051           can arrive and try to be assigned. Otherwise a critical log message is
4052           printed.
4053           This happens when we use playbin3 with vaapipostproc as video-filter.
4054           https://bugzilla.gnome.org/show_bug.cgi?id=777409
4055
4056 2017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4057
4058         * gst/vaapi/gstvaapipostprocutil.c:
4059           vaapipostproc: use sink caps par if not requested
4060           Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
4061           is not already set.
4062           https://bugzilla.gnome.org/show_bug.cgi?id=777395
4063
4064 2017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4065
4066         * gst/vaapi/gstvaapipostproc.c:
4067         * gst/vaapi/gstvaapipostprocutil.c:
4068           vaapipostproc: set interlace mode
4069           if the vaapipostproc is configured to not do deinterlacing, the
4070           interlace-mode in the src caps should be the same as the input caps.
4071           https://bugzilla.gnome.org/show_bug.cgi?id=777395
4072
4073 2017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4074
4075         * gst/vaapi/gstvaapisink.c:
4076           vaapisink: fix gcc compiler warning
4077           warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
4078
4079 2017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4080
4081         * gst/vaapi/gstvaapisink.c:
4082           vaapisink: don't use member variable outside lock
4083           Thus a race condition segfault is avoided.
4084           Original-patch-by: Matt Staples <staples255@gmail.com>
4085           https://bugzilla.gnome.org/show_bug.cgi?id=777146
4086
4087 2017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4088
4089         * gst/vaapi/gstvaapipluginbase.c:
4090         * gst/vaapi/gstvaapipostproc.c:
4091           plugins: avoid log flood when activating pool
4092           Every time a new buffer is allocated, the pool is activated. This
4093           doesn't impact in performance since gst_buffer_pool_set_active()
4094           checks the current state of the pool. Nonetheless it logs out a
4095           message if the state is the same, and it floods the logging subsystem
4096           if it is enabled.
4097           To avoid this log flooding first the pool state is checked before
4098           changing it.
4099
4100 2017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4101
4102         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4103         * gst-libs/gst/vaapi/gstvaapidecoder.h:
4104         * gst/vaapi/gstvaapidecode.c:
4105         * gst/vaapi/gstvaapidecode.h:
4106           vaapidecode: update internal decoder sink caps
4107           When a new sink caps arrive the internal decoder state is updated
4108           and, if it is, request a downstream renegotiation.
4109           Previously, when new caps arrived the whole decoder where destroyed
4110           and recreated. Now, if the caps are compatible or has the same codec,
4111           the internal decoder is kept, but a downstream renegotiation is
4112           requested.
4113           https://bugzilla.gnome.org/show_bug.cgi?id=776979
4114
4115 2017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
4116
4117         * configure.ac:
4118           Back to development
4119
4120 === release 1.11.1 ===
4121
4122 2017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
4123
4124         * ChangeLog:
4125         * NEWS:
4126         * configure.ac:
4127         * gstreamer-vaapi.doap:
4128           Release 1.11.1
4129
4130 2017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4131
4132         * gst-libs/gst/vaapi/gstvaapiutils.c:
4133           vaapi: bump ifdef to API 0.40.0 for log redirect
4134           vaSetInfoCallback() is not released yet. It is going to appear in
4135           VA-API 0.40.0
4136
4137 2017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
4138
4139         * gst-libs/gst/vaapi/gstvaapiutils.c:
4140           vaapiutils: Fix compilation with latest and previous libva releases
4141           vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
4142           0.39.5 instead.
4143
4144 2017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4145
4146         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4147         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4148         * gst-libs/gst/vaapi/gstvaapiutils.c:
4149         * gst-libs/gst/vaapi/gstvaapiutils.h:
4150           libs: display: redirect logging at initialize
4151           Redirect libva's logs to GStreamer logging mechanism. This is
4152           particularly useful when VA is initialized, because it always logs
4153           out the drivers details.
4154           In order to achieve this a new helper function was added as a wrapper
4155           for the vaInitialize() function.
4156           https://bugzilla.gnome.org/show_bug.cgi?id=777115
4157
4158 2017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
4159
4160         * gst/vaapi/gstvaapipluginbase.c:
4161           plugins: provide at least two buffers in sink pool
4162           Adds two buffers as the default value of minimum buffer.
4163           This would be used when creating and proposing vaapi bufferpool for
4164           sink pad, hence the upstream element will keep, at least, these two
4165           buffers.
4166           https://bugzilla.gnome.org/show_bug.cgi?id=775203
4167           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4168
4169 2017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
4170
4171         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4172           libs: decoder: h264: don't update cloned attributes
4173           If the frame is a cloned picture, its PTS comes from its parent
4174           picture.  In addition, the base decoder doesn't set a valid PTS to
4175           the frame corresponding to the cloned picture.
4176           https://bugzilla.gnome.org/show_bug.cgi?id=774254
4177
4178 2017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4179
4180         * gst/vaapi/gstvaapivideomemory.c:
4181           vaapivideomemory: check for display
4182           This patch fixes the check of display, rather than check for the
4183           meta, which it is known it exists.
4184
4185 2017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4186
4187         * gst/vaapi/gstvaapivideomemory.c:
4188         * gst/vaapi/gstvaapivideomemory.h:
4189           vaapivideomemory: rename dmabuf allocator parameters
4190           Rename the parameters 'vip' and 'flags' to 'alloc_info' and
4191           'surface_alloc_flags' respectively. The purpose of this change is
4192           to auto-document those parameters.
4193           Also, aligned to this patch, the local 'alloc_info' variable was
4194           renamed as 'surface_info', because it stores the possible surface's
4195           video info, not the allocate one.
4196
4197 2017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4198
4199         * gst/vaapi/gstvaapivideomemory.c:
4200         * gst/vaapi/gstvaapivideomemory.h:
4201           vaapivideomemory: rename vip to alloc_info parameter
4202           In order to auto-document the code, this patch renames the 'vip'
4203           parameter in the functions related to gst_vaapi_video_allocator_new ()
4204           to 'alloc_info', since it declares the allocation video info from
4205           the vaapi buffer pool.
4206
4207 2017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4208
4209         * gst/vaapi/gstvaapivideomemory.c:
4210           vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
4211           Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
4212           the video format string.
4213
4214 2017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4215
4216         * gst/vaapi/gstvaapivideomemory.c:
4217           vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
4218           gst_vaapi_surface_new_with_format() is a wrapper for
4219           gst_vaapi_surface_new_full (). In this case, the former is simpler
4220           than the first. This patch changes that.
4221
4222 2017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
4223
4224         * gst/vaapi/gstvaapipostproc.c:
4225           vaapipostproc: notify if src pad caps changed
4226           If src pad caps have changed, it needs to notify it downstream. In
4227           addition, do not set passthrough if they have changed.
4228           Otherwise, transform sometimes starts processing before caps change.
4229           The passthrough value will be set in fixate later in this case.
4230           https://bugzilla.gnome.org/show_bug.cgi?id=775204
4231
4232 2016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4233
4234         * gst/vaapi/gstvaapidecodebin.c:
4235           vaapidecodebin: capsfilter to optimize negotiation
4236           Add a capsfilter forcing the caps
4237           "video/x-raw(memory:VASurface), format=(string)NV12" between the
4238           queue and the vaapipostproc so no renegotiation is required.
4239           https://bugzilla.gnome.org/show_bug.cgi?id=776175
4240
4241 2016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
4242
4243         * gst/vaapi/gstvaapivideomemory.c:
4244           vaapivideomemory: fail surface/image configuration
4245           To detect and handle errors during allocator_configure_surface_info()
4246           and allocator_conigure_image_info().
4247           https://bugzilla.gnome.org/show_bug.cgi?id=776084
4248           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4249
4250 2016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
4251
4252         * gst/vaapi/gstvaapisink.c:
4253           vaapisink: ensures raw caps at start()
4254           Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
4255           race conditions at get_caps(), especially with multiple src elements.
4256           https://bugzilla.gnome.org/show_bug.cgi?id=776303
4257
4258 2016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4259
4260         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
4261           libs: surface: fix error handling code style
4262
4263 2016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4264
4265         * gst/vaapi/gstvaapivideomemory.c:
4266           vaapivideomemory: add gst_video_info_update_from_surface()
4267           With this function is possible to refactor and remove duplicated code
4268           between dmabuf configuration and direct rendering/uploading
4269           configuration.
4270
4271 2016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4272
4273         * gst/vaapi/gstvaapivideomemory.c:
4274           vaapivideomemory: no log object at initialization
4275           When an instance of GstVaapiVideoAllocator fails at initializing, the
4276           log message should not include the allocator's object, because it is
4277           going to be unrefed.
4278
4279 2016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4280
4281         * gst/vaapi/gstvaapidecode.c:
4282           vaapidecode: lock stream when setting caps
4283
4284 2016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4285
4286         * gst/vaapi/gstvaapidecode.c:
4287           Revert "vaapidecode: implement negotiate() vmethod"
4288           This reverts commit 3285121181295c544480fc6ba756845b16285d30.
4289           videodecode's negotiate() vmethod is also called when events arrive,
4290           but this would mean that the proper configuration of sink pad might
4291           not be complete, thus we should not update the src pad.
4292           Let's keep the old non-vmethod negotitate().
4293
4294 2016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4295
4296         * gst/vaapi/gstvaapi.c:
4297           Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
4298           This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
4299
4300 2016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
4301
4302         * gst/vaapi/gstvaapiencode.c:
4303         * gst/vaapi/gstvaapiencode.h:
4304           vaapiencode: get surface formats in get_caps()
4305           Query for the supported surface formats in config at get_caps() vmethod.
4306           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4307           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4308
4309 2016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
4310
4311         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4312         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4313           libs: encoder: add gst_vaapi_encoder_get_surface_formats()
4314           This method will return the valid surface formats in the current
4315           config. If the are no VAConfig it is created with the information
4316           available.
4317           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4318           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4319
4320 2016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
4321
4322         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4323           libs: encoder: split set_context_info()
4324           Split set_context_info() adding init_context_info() which only
4325           initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
4326           required for VAConfig.
4327           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4328           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4329
4330 2016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
4331
4332         * gst-libs/gst/vaapi/gstvaapicontext.c:
4333           libs: context: skip VAContext if no frame size
4334           If GstVaapiContextInfo has just initial information, without frame's
4335           width and height, skip the creation of the VAContext, just keep the
4336           VAConfig.
4337           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4338           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4339
4340 2016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
4341
4342         * gst-libs/gst/vaapi/gstvaapicontext.c:
4343           libs: context: split context_create()
4344           Split the funcion context_create() into context_create() and
4345           config_create().
4346           Decoupling VAConfig and VAContext during context creation, we could
4347           query the VAConfig for the supported surface's formats without creating
4348           a VAContext.
4349           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4350
4351 2016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4352
4353         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4354           libs: drm: find render node in hybrid system
4355           Originally the drm backend only tried to open the first render node
4356           found. But in hybrid system this first render node might not support
4357           VA-API (propietary Nvidia driver, for example).
4358           This patch tries all the available nodes until a finding one with a
4359           VA-API supported driver.
4360           https://bugzilla.gnome.org/show_bug.cgi?id=774811
4361           Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
4362           Reza Razavi <reza@userful.com>
4363
4364 2016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4365
4366         * gst/vaapi/gstvaapivideomemory.c:
4367           vaapivideomemory: refactor code for readability
4368           Added the inlined function allocator_configure_pools() moving out code
4369           from gst_vaapi_video_allocator_new() to make clear that it is a
4370           post-initalization of the object.
4371
4372 2016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4373
4374         * gst/vaapi/gstvaapivideomemory.c:
4375           vaapivideomemory: log error if not VA image
4376           Log an error message if the test image for surface downloading
4377           cannot be allocated or mapped.
4378
4379 2016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4380
4381         * gst/vaapi/gstvaapivideomemory.c:
4382           vaapivideomemory: remove unused macros
4383           These macros are not used. Let us remove them.
4384
4385 2016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4386
4387         * gst/vaapi/gstvaapivideomemory.c:
4388         * gst/vaapi/gstvaapivideomemory.h:
4389           vaapivideomemory: rename video for allocation_info
4390           Since video_info stores the GstVideoInfo of the allocation caps,
4391           it is clear if we rename it as allocation_info, to distinguish it
4392           later from negotiation_info.
4393
4394 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
4395
4396         * gst/vaapi/gstvaapivideomemory.c:
4397         * gst/vaapi/gstvaapivideomemory.h:
4398           vaapivideomemory: add real GstVaapiDmaBufAllocator
4399           Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
4400           GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
4401           GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
4402           from GstDmaBufAllocator.
4403           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4404           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4405
4406 2016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
4407
4408         * gst/vaapi/gstvaapivideomemory.c:
4409           vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
4410           Add a helper function to initialize the gst_debug_vaapivideomemory,
4411           to use it either by the GstVaapiVideoAllocatorClass or
4412           GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
4413           Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
4414           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4415
4416 2016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
4417
4418         * gst/vaapi/gstvaapiencode.c:
4419           vaapiencode: release internal encoder at stop()
4420           As the internal encoder is created at start(), let's release it at
4421           stop() vmethod, to be consistent.
4422           gst_vaapiencode_destroy() is called since it also resets the input and
4423           output states, which is something that the base class does internally
4424           after calling stop() vmethod.
4425           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4426           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4427
4428 2016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
4429
4430         * common:
4431           Automatic update of common submodule
4432           From f49c55e to 39ac2f5
4433
4434 2016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
4435
4436         * gst/vaapi/gstvaapiencode.c:
4437           vaapiencode: call ensure_encoder() at start()
4438           Currently, specific encoder is created during set_format(). This might
4439           lead to race condition when creating profiles with multiple encoders.
4440           This patch moves ensure_encoder() call to start() vmethod to ensure
4441           avoiding the race condition.
4442           https://bugzilla.gnome.org/show_bug.cgi?id=773546
4443
4444 2016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4445
4446         * gst/vaapi/gstvaapidecodebin.c:
4447           vaapidecodebin: bring back dynamic configuration
4448           In commit ca0c3fd6 we remove the dynamic configuration if the bin
4449           because we assumed that the bin will be always static as it is
4450           registered.
4451           Nonetheless we were wrong, because it is possible to request, with a
4452           property, to avoid the use of the post-processor.
4453           Since we want to add a way to disable the post-processor through
4454           environment variables, this remove feature is required again.
4455           If the environment variable GST_VAAPI_DISABLE_VPP is defined the
4456           postprocessor inside of the vaapidecodebin is disabled, then
4457           vaapidecodebin is an alias of the old vaapidecode.
4458           https://bugzilla.gnome.org/show_bug.cgi?id=775041
4459
4460 2016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4461
4462         * gst/vaapi/gstvaapidecode.c:
4463           vaapidecode: implement negotiate() vmethod
4464           Instead of decorating the negotiate() method, let us override it,
4465           so the stream is locked while called.
4466           https://bugzilla.gnome.org/show_bug.cgi?id=775040
4467
4468 2016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
4469
4470         * .gitmodules:
4471           common: use https protocol for common submodule
4472           https://bugzilla.gnome.org/show_bug.cgi?id=775110
4473
4474 2016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
4475
4476         * gst-libs/gst/vaapi/Makefile.am:
4477           build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
4478           In case libva-wayland has its headers not installed in default
4479           locations (like /usr/include), the build fails to include "wayland-client.h":
4480           CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
4481           In file included from gstvaapidisplay_wayland.h:27:0,
4482           from gstvaapidisplay_egl.c:35:
4483           /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
4484           #include <wayland-client.h>
4485           As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
4486           our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
4487           for libva-wayland.pc in configure and use this in other places as well. It is thus only
4488           correct and consequent, to do it also at this spot.
4489           https://bugzilla.gnome.org/show_bug.cgi?id=773946
4490
4491 2015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4492
4493         * gst/vaapi/gstvaapivideocontext.c:
4494           vaapivideocontext: log a message if no bus
4495           Raise a warning if there is no bus when the element tries to post a
4496           message.
4497
4498 2015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4499
4500         * gst/vaapi/gstvaapisink.c:
4501           vaapisink: create display at open()
4502           Instead of creating the VA display before setting the bus to the
4503           element, it is created when the element is opened.
4504           Basically, this commit is a revert of
4505           5e5d62cac79754ba60057fc2516135aad8d7de35
4506           That was done when the GStreamer's context sharing was not mature
4507           enough as now. There is no reason to keep this hack.
4508
4509 2016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4510
4511         * gst/vaapi/gstvaapidecode.c:
4512           vaapidecode: don't add video crop meta
4513           Since the differentiation of negotiation caps and allocation caps,
4514           there is no need to add a video crop meta with the negotiation caps.
4515           Hence, removing it.
4516           https://bugzilla.gnome.org/show_bug.cgi?id=773948
4517
4518 2015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4519
4520         * gst/vaapi/gstvaapivideobuffer.c:
4521         * gst/vaapi/gstvaapivideometa.c:
4522         * gst/vaapi/gstvaapivideometa.h:
4523           remove the video converter from vaapi buffer meta
4524           Since all the video converter were deprecated in gstreamer-1.2, we don't need
4525           to handle them anymore in the vaapi's buffer meta.
4526           This patch removes its usage and the buffer meta's API for that.
4527           https://bugzilla.gnome.org/show_bug.cgi?id=745728
4528
4529 2016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4530
4531         * gst/vaapi/gstvaapipluginbase.c:
4532           plugins: destroy source pad allocator and pool
4533           First, deactivate source pad pool when the out caps change, and if so,
4534           destroy texture map, the source pad allocator and pool only if the
4535           new caps are different from the ones already set.
4536
4537 2016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4538
4539         * gst/vaapi/gstvaapipluginbase.c:
4540           plugins: don't destroy sink pad allocator
4541           Don't destroy sink pad allocator at _set_caps() because it will be done at
4542           ensure_sinkpad_buffer_pool() if it is required.
4543
4544 2016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4545
4546         * gst/vaapi/gstvaapipluginbase.c:
4547           plugins: first validate the out caps
4548           When calling _set_caps() first validate the out caps before doing
4549           anything else.
4550
4551 2016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4552
4553         * gst/vaapi/gstvaapidecode.c:
4554           vaapidecode: negotiate after destroying allocator
4555           This is related with bug 758907 when no vaapipostproc is used (no
4556           vaapidecodebin). In order to negotiate downstream we need to destroy
4557           the source pad allocator, otherwise the same allocated buffers are
4558           used, failing the mapping.
4559
4560 2016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4561
4562         * gst/vaapi/gstvaapivideomemory.c:
4563           vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
4564           Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
4565           GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
4566           was created.
4567           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4568
4569 2016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4570
4571         * gst/vaapi/gstvaapipluginbase.c:
4572           plugins: update the src pad allocator video info
4573           Update the size, stride and offset of the source pad allocator video
4574           info, so the pool could set the correct GstVideoMeta
4575           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4576
4577 2016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4578
4579         * gst/vaapi/gstvaapivideomemory.c:
4580           vaapivideomemory: add missing documentation
4581           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4582
4583 2016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4584
4585         * gst/vaapi/gstvaapipluginbase.c:
4586           plugins: use early return without goto
4587           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4588
4589 2016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4590
4591         * gst/vaapi/gstvaapipluginbase.c:
4592         * gst/vaapi/gstvaapivideomemory.c:
4593         * gst/vaapi/gstvaapivideomemory.h:
4594           plugins: add allocator to allocation query
4595           This patch adds the created allocator to the allocation query either
4596           in decide_allocation() and propose_allocation() vmehtods.
4597           With it, there's no need to set the modified allocator's size in the
4598           pool configuration.
4599           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4600
4601 2016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
4602
4603         * gst/vaapi/gstvaapivideobufferpool.c:
4604           vaapivideobufferpool: set correct buffer size
4605           We should set the correct buffer size when we are configuring the pool,
4606           otherwise the buffer will be discarded when it returns to the pool.
4607           Indeed when the ref-count of a buffer reaches zero, its pool will queue
4608           it back (and ref it) if, and only if, the buffer size matches the
4609           configured buffer size on the pool.
4610           This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
4611           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4612
4613 2016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4614
4615         * gst/vaapi/gstvaapivideomemory.c:
4616           vaapivideomemory: check for memory allocator
4617           When calling gst_vaapi_video_memory_copy() the allocator of the memory
4618           to copy should be allocated by the vaapi allocator.
4619           This patch does this verification.
4620
4621 2016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4622
4623         * gst/vaapi/gstvaapivideomemory.c:
4624           vaapivideomemory: code style fixes
4625           A cosmetic commit for enhance readability of the casts and method
4626           preconditions.
4627
4628 2016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4629
4630         * gst/vaapi/gstvaapivideomemory.c:
4631           vaapivideomemory: unroll gst_vaapi_video_allocator_free()
4632           Instead of having a gst_vaapi_video_memory_free() that is only going to
4633           be called by gst_vaapi_video_allocator_free(), let's just remove the first
4634           and merged into the second.
4635
4636 2016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4637
4638         * gst/vaapi/gstvaapivideomemory.c:
4639           vaapivideomemory: avoid virtual methods casting
4640           Use the expected virtual method signatures for readability.
4641
4642 2016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4643
4644         * gst/vaapi/gstvaapivideomemory.c:
4645           vaapivideomemory: remove unimplemented methods
4646           Remove unimplemented method for allocator mem_share() and mem_is_span().
4647
4648 2016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4649
4650         * gst/vaapi/gstvaapivideomemory.c:
4651           vaapivideomemory: fail if frame map can't get plane
4652           If map() vmethod in GstVideMeta cannot get the plane data, return false,
4653           thus the caller will not try to read invalid memory.
4654           https://bugzilla.gnome.org/show_bug.cgi?id=774213
4655
4656 2016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4657
4658         * gst/vaapi/gstvaapivideomemory.c:
4659         * gst/vaapi/gstvaapivideomemory.h:
4660           vaapivideomemory: lock map and unmap operations
4661           In order to avoid race condition when two threads call map/unmap the same
4662           VA surface, this patch mutex these operations.
4663           https://bugzilla.gnome.org/show_bug.cgi?id=774213
4664
4665 2016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4666
4667         * gst/vaapi/gstvaapivideomemory.c:
4668           vaapivideomemory: refactor vaapi memory unmapping
4669           There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
4670           gst_vaapi_video_memory_unmap() when unmapping.
4671           This patch refactors both methods adding the common function
4672           unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
4673           is correctly reset.
4674           Additionally, only when mapping flag has the WRITE bit, it set the image as
4675           current, which was done in gst_video_meta_map_vaapi_memory() but no in
4676           gst_vaapi_video_memory_map().
4677           In order to make this, the mapping flags were required, so instead of
4678           overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
4679           https://bugzilla.gnome.org/show_bug.cgi?id=774213
4680
4681 2016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4682
4683         * gst/vaapi/gstvaapivideomemory.c:
4684           vaapivideomemory: refactor vaapi memory mapping
4685           There were duplicated code in gst_video_meta_map_vaapi_memory() and
4686           gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
4687           This patch refactors both methods adding the common function
4688           map_vaapi_memory().
4689           Additionally, only when flag has the READ bit it calls
4690           ensure_images_is_current(), which was done in
4691           gst_video_meta_map_vaapi_memory() but no in
4692           gst_vaapi_video_memory_map().
4693           https://bugzilla.gnome.org/show_bug.cgi?id=772151
4694
4695 2016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4696
4697         * gst/vaapi/gstvaapidecode.c:
4698           vaapidecode: unref allowed_sinkpad_caps at close()
4699           The variable member allowed_sinkpad_caps is constructed querying the
4700           current VA display. Bearing that in mind, the variable shall be freed
4701           when the VA display changes or is removed.
4702           This patch moves the freeing of allowed_sinkpad_caps to close(), when
4703           the VA display is freed.
4704
4705 2016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
4706
4707         * gst/vaapi/gstvaapisink.c:
4708           vaapisink: finish event thread at stop()
4709           The thread that handles window's events should be finished during
4710           pipeline's shutdown, otherwise it will remain alive during pipeline
4711           re-activation, leading to unexpected problems.
4712           This patch fixes failures of intensive_state_change scenario of
4713           gst-validate
4714           https://bugzilla.gnome.org/show_bug.cgi?id=774241
4715
4716 2016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4717
4718         * gst/vaapi/gstvaapipostproc.c:
4719           vaapipostproc: enhance debug message
4720           "gst_pad_push" is not a good description of the event.
4721
4722 2016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
4723
4724         * gst/vaapi/gstvaapipostproc.c:
4725           postproc: honor gst_pad_push() return value
4726           Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
4727           deadlock during seek.
4728           This patch returns the same error of gst_pad_push() and log out the
4729           return value.
4730           https://bugzilla.gnome.org/show_bug.cgi?id=774030
4731
4732 2016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4733
4734         * gst/vaapi/gstvaapidecode.c:
4735           vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
4736           In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
4737           compiled with out EGL/GLX support: it shall not support
4738           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
4739           This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
4740           allowed src caps for vaapedecode if EGL/GLX.
4741
4742 2016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4743
4744         * gst/vaapi/gstvaapivideomemory.c:
4745           vaapivideomemory: increment map counter only if succeeded
4746           Previously the frame map counter increased independently if the map succeeded
4747           or not. This leaded to critical messages and crashes if the frame was unable
4748           to be mapped, but the counter increased.
4749           This patch increases the map counter only if the map operation occurred.
4750           https://bugzilla.gnome.org/show_bug.cgi?id=773939
4751
4752 2016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4753
4754         * gst/vaapi/gstvaapipluginbase.c:
4755           plugins: set negotiation caps in src allocator
4756           When the allocator is created, it stores the allocation caps. But sometimes
4757           the "allocation caps" may be different from the "negotiation caps".
4758           In this case, the allocator should store the negotiation caps since they
4759           are the ones used for frame mapping with GstVideoMeta.
4760           When vaapispostproc is used, this is not a problem since the element is assume
4761           to resize. But when using a vaapi decoder only, with a software renderer, it
4762           fails in this case.
4763           https://bugzilla.gnome.org/show_bug.cgi?id=773323
4764
4765 2016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4766
4767         * gst/vaapi/gstvaapidecode.c:
4768         * gst/vaapi/gstvaapidecode.h:
4769           vaapidecode: generate source pad caps
4770           Just as vaapipostproc, VA decoder's context can be queried to get the possible
4771           raw formats, so, the src caps can negotiate the exact caps that the context
4772           supports.
4773
4774 2016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4775
4776         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4777         * gst-libs/gst/vaapi/gstvaapidecoder.h:
4778           libs: decoder: add _get_surface_formats()
4779           This function exposes the available formats of the surfaces in the the current
4780           context to the plugins.
4781
4782 2016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4783
4784         * gst-libs/gst/vaapi/gstvaapicontext.c:
4785         * gst-libs/gst/vaapi/gstvaapicontext.h:
4786           libs: context: ensure context formats
4787           This patch ensures to get the formats, as filter does, available in the
4788           decoder / encoder context.
4789           The context fills up the array as soon it is created, otherwise the pipeline
4790           could get stalled (perhaps this is a bug in my HSW backend).
4791           https://bugzilla.gnome.org/show_bug.cgi?id=752958
4792
4793 2016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4794
4795         * gst-libs/gst/vaapi/gstvaapifilter.c:
4796         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4797         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
4798           libs: move get_surface_formats to utils_core
4799           The query of all the supported formats for a VA config were only used by the
4800           postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
4801           negotiate a suitable raw format with downstream, we need to query these
4802           formats against the decoder's config.
4803           This patch is the first step: moves the code in filter's ensure_image() to a
4804           generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
4805           shared later by the decoder.
4806           https://bugzilla.gnome.org/show_bug.cgi?id=752958
4807
4808 2016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4809
4810         * gst/vaapi/gstvaapipluginbase.c:
4811           plugins: remove set_sinkpad_dmabuf_allocator()
4812           Since when the sink pad allocator is created, it is decided if the required
4813           one is vaapi allocator or dmabuf allocator, there is no need to force its set
4814           again.
4815
4816 2016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4817
4818         * gst/vaapi/gstvaapipluginbase.c:
4819           plugins: ensure display when getting raw caps
4820           When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
4821           meanwhile it is transforming caps. The problem is that stop() calls
4822           gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
4823           the va display is used in tranform_caps() when it is extracting the possible
4824           format conversions. This display disappearing generates warning messages.
4825           This patch holds a local reference of va display at ensure_allowed_raw_caps()
4826           hence it doesn't go away meanwhile it is used, even if the
4827           gst_vaapi_plugin_base_close() is called in other thread.
4828           https://bugzilla.gnome.org/show_bug.cgi?id=773593
4829
4830 2016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4831
4832         * gst/vaapi/gstvaapiencode_h264.c:
4833         * gst/vaapi/gstvaapiencode_h265.c:
4834           plugins: fix code style for errors
4835
4836 2016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4837
4838         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
4839         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
4840         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
4841         * gst-libs/gst/vaapi/gstvaapicontext.c:
4842         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
4843         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4844         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
4845         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4846         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4847         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
4848         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
4849         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
4850         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
4851         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
4852         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4853         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
4854         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4855         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4856         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4857         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4858         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4859         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4860         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4861         * gst-libs/gst/vaapi/gstvaapifilter.c:
4862         * gst-libs/gst/vaapi/gstvaapiimage.c:
4863         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
4864         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
4865         * gst-libs/gst/vaapi/gstvaapipixmap.c:
4866         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
4867         * gst-libs/gst/vaapi/gstvaapisurface.c:
4868         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
4869         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
4870         * gst-libs/gst/vaapi/gstvaapitexture.c:
4871         * gst-libs/gst/vaapi/gstvaapiutils.c:
4872         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4873         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
4874         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4875         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
4876         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4877           libs: fix code style for errors
4878
4879 2016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4880
4881         * gst/vaapi/gstvaapipluginbase.c:
4882         * gst/vaapi/gstvaapivideocontext.c:
4883           plugins: update GstGL deprecated symbol
4884           GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
4885
4886 2016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4887
4888         * gst/vaapi/gstvaapipluginbase.c:
4889           plugins: direct render when raw video
4890           Enable the direct rendering with linear surfaces if the negotiated src caps
4891           are video/x-raw without features.
4892           Pass also the caps, since they are needed to know the requested caps features.
4893
4894 2016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4895
4896         * gst/vaapi/gstvaapipluginbase.c:
4897           plugins: move src allocator error to instantiator
4898           Just as we did in ensure_sinkpad_allocator(), let's move the error message
4899           into the ensure_srcpad_allocator() from the caller,
4900           gst_vaapi_plugin_base_decide_allocation()
4901
4902 2016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4903
4904         * gst/vaapi/gstvaapipluginbase.c:
4905           plugins: enable direct upload if raw video
4906           Enable the direct upload with linear surfaces if the negotiated sink caps are
4907           video/x-raw without features.
4908
4909 2016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4910
4911         * gst/vaapi/gstvaapipluginutil.c:
4912         * gst/vaapi/gstvaapipluginutil.h:
4913           pluginutil: add gst_caps_is_video_raw()
4914
4915 2016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4916
4917         * gst/vaapi/gstvaapipluginbase.c:
4918           plugins: receive caps in ensure_sinkpad_allocator()
4919           Instead of receiving the GstVideoInfo structure as parameter, get the original
4920           GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
4921           which allocator instantiate.
4922
4923 2016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4924
4925         * gst/vaapi/gstvaapivideomemory.c:
4926           vaapivideomemory: destroy derived image at unmap
4927           If the allocator was configured to use direct upload or rendering, the
4928           generated derived image created at mapping needs to be destroyed after
4929           unmapping, because, in order to process the surface, it should not be marked
4930           as "busy" by the driver.
4931
4932 2016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4933
4934         * gst/vaapi/gstvaapivideomemory.c:
4935           vaapivideomemory: enhance logs for direct modes
4936           Print, conditionally, only the enabled direct mode.
4937
4938 2016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4939
4940         * gst/vaapi/gstvaapivideomemory.c:
4941         * gst/vaapi/gstvaapivideomemory.h:
4942           vaapivideomemory: add direct upload flag
4943           Adds the direct-upload flag in the GstVaapiVideoAllocator and
4944           GstVaapiVideoMemory.
4945           It still doesn't apply any functional change.
4946
4947 2016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4948
4949         * gst/vaapi/gstvaapipluginbase.c:
4950         * gst/vaapi/gstvaapivideomemory.c:
4951         * gst/vaapi/gstvaapivideomemory.h:
4952           vaapivideomemory: set direct rendering at run-time
4953           The way to experiment with the direct rendering is through and internal
4954           compiler pre-processor flag.
4955           The current change set enables a way to specified at run-time, as a flag
4956           passed to the allocator at instanciation time.
4957
4958 2016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4959
4960         * gst/vaapi/gstvaapivideomemory.c:
4961           vaapivideomemory: log in perf category when copy
4962           Log in performance category when the derive image handling fails, falling back
4963           to memory copy.
4964
4965 2016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4966
4967         * gst/vaapi/gstvaapivideomemory.c:
4968           vaapivideomemory: error log is derive image fails
4969           Instead of a silently failure of the derive image, this patch log an error
4970           message according to the failure.
4971
4972 2016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4973
4974         * gst/vaapi/gstvaapivideomemory.c:
4975           vaapivideomemory: store surface alloc flags in qdata
4976           For sake of consistency, we should add the requested surface allocation flags
4977           to the object's qdata structure.
4978
4979 2016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4980
4981         * gst/vaapi/gstvaapivideomemory.c:
4982           vaapivideomemory: category init when object define
4983           Move the Gstreamer debug category initialize to the GObject definition.
4984
4985 2016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4986
4987         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
4988           libs: vaapitexturemap: trivial code-style fix
4989
4990 2016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4991
4992         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
4993           libs: display: egl: avoid recreate native display
4994           Instead of passing the native descriptor of the display, just pass the received
4995           GstVaapiDisplay and reuse it.
4996
4997 2016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4998
4999         * gst/vaapi/gstvaapipluginbase.c:
5000           plugins: log the GstVaapiDisplay name
5001           Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
5002           name. Log it instead of the memory address.
5003
5004 2016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
5005
5006         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
5007           libs: window: egl: pass native va display
5008           When creating a GstVaapiWindowEGL, it also creates native window by its own
5009           native display. It should pass the native display, either X11 or Wayland.
5010           https://bugzilla.gnome.org/show_bug.cgi?id=768266
5011
5012 2016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
5013
5014         * gst-libs/gst/vaapi/gstvaapidebug.h:
5015         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5016         * gst-libs/gst/vaapi/gstvaapidisplay.h:
5017         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
5018         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
5019         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
5020         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5021         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
5022         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
5023         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
5024         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
5025         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
5026         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
5027         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5028         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
5029         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
5030         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
5031         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
5032         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
5033         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
5034         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
5035         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
5036         * gst/vaapi/gstvaapivideocontext.c:
5037           libs: display: GstVaapiDisplay as GstObject descendant
5038           This patch is to change the inheritance of GstVaapiDisplay to GstObject,
5039           instead of GstVaapiMiniObject. In this way we can use all the available
5040           infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
5041           In addition, a new debug category for GstVaapiDisplay is created to make it
5042           easier to trace debug messages. It is named "vaapidisplay" and it transverse
5043           all the VA display backends (DRM, GLX, EGL, Wayland, ...)
5044           This patch is a step forward to expose GstVaapiDisplay for users in a future
5045           library.
5046           https://bugzilla.gnome.org/show_bug.cgi?id=768266
5047           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5048
5049 === release 1.11.0 ===
5050
5051 2016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
5052
5053         * configure.ac:
5054           Back to development
5055
5056 === release 1.10.0 ===
5057
5058 2016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
5059
5060         * ChangeLog:
5061         * NEWS:
5062         * configure.ac:
5063         * gstreamer-vaapi.doap:
5064           Release 1.10.0
5065
5066 2016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5067
5068         * gst/vaapi/gstvaapidecodebin.c:
5069           vaapidecodebin: resurrect disable-vpp property
5070           https://bugzilla.gnome.org/show_bug.cgi?id=773589
5071
5072 2016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5073
5074         * gst/vaapi/gstvaapidecodebin.c:
5075           vaapidecodebin: name the internal queue
5076           https://bugzilla.gnome.org/show_bug.cgi?id=773589
5077
5078 2016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5079
5080         * gst/vaapi/gstvaapidecodebin.c:
5081         * gst/vaapi/gstvaapidecodebin.h:
5082           vaapidecodebin: remove unused variables
5083           Since vaapipostproc is only registered if the driver supports it, all the
5084           support for dynamic loading were removed. Though some leftovers remained.
5085           https://bugzilla.gnome.org/show_bug.cgi?id=773589
5086
5087 2016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5088
5089         * docs/plugins/Makefile.am:
5090         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
5091         * docs/plugins/running.xml:
5092           docs: document environment variables
5093           https://bugzilla.gnome.org/show_bug.cgi?id=773544
5094
5095 2016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5096
5097         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
5098         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
5099         * gst/vaapi/Makefile.am:
5100         * gst/vaapi/gstvaapidecode.c:
5101         * gst/vaapi/gstvaapidecodebin.c:
5102         * gst/vaapi/gstvaapidecodedoc.c:
5103           docs: replace vaapidecode with each codec
5104           In the spirit of the codec split, this patch removes the documentation of
5105           vaapidecode and adds a page per each possible decoder.
5106           Nonetheless, only those available in the compilation system are going to be
5107           instrospected, because the rest are not registered.
5108
5109 2016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5110
5111         * gst/vaapi/gstvaapipluginutil.c:
5112         * gst/vaapi/gstvaapivideobuffer.c:
5113         * gst/vaapi/gstvaapivideometa.c:
5114           docs: add missing long descriptions
5115
5116 2016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5117
5118         * gst/vaapi/gstvaapipostproc.c:
5119           vaapipostproc: use GST_*_OBJECT when possible
5120           Since we can have several vaapipostproc operating in a pipeline, it is useful
5121           to know which one is generating the logging message.
5122           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5123
5124 2016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5125
5126         * gst/vaapi/gstvaapidecode.c:
5127         * gst/vaapi/gstvaapidecode.h:
5128           vaapidecode: rename member to allowed_sinkpad_caps
5129           vaapidecode has a member named allowed_caps, but this name is not enough
5130           explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
5131           No functional changes were included.
5132           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5133
5134 2016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5135
5136         * gst/vaapi/gstvaapiencode_h264.c:
5137         * gst/vaapi/gstvaapiencode_h265.c:
5138         * gst/vaapi/gstvaapisink.c:
5139         * gst/vaapi/gstvaapivideomemory.c:
5140         * gst/vaapi/gstvaapivideometa.c:
5141         * gst/vaapi/gstvaapivideometa_texture.c:
5142           plugins: fix code style for errors
5143           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5144
5145 2016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5146
5147         * gst/vaapi/gstvaapivideomemory.c:
5148           vaapivideomemory: comment style
5149           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5150
5151 2016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5152
5153         * gst/vaapi/gstvaapivideomemory.c:
5154         * gst/vaapi/gstvaapivideomemory.h:
5155           vaapivideomemory: rename input parameter
5156           In order to clarify the use of flag as input parameter, it is renamed to
5157           surface_alloc_flag, since it is used when creating a VA surface with certain
5158           properties.
5159           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5160
5161 2016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5162
5163         * gst/vaapi/gstvaapidecode.c:
5164           vaapidecode: rename element description
5165           So encoders and decoders have similar descriptions.
5166           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5167
5168 2016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5169
5170         * gst/vaapi/gstvaapiencode_h264.c:
5171         * gst/vaapi/gstvaapiencode_h265.c:
5172           vaapiencode: h264, h265: rename codec name
5173           So encoder and decoders have the same codec name.
5174           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5175
5176 2016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5177
5178         * gst/vaapi/gstvaapipluginbase.c:
5179           plugins: simplify code
5180           Merge two lines of variable declarations.
5181           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5182
5183 2016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
5184
5185         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5186         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
5187         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
5188         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5189           libs: minor correction for logical consistency
5190           GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
5191           use its methods, even though it doesn't change functionality.
5192           GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
5193           GstVaapiObject, hence its methods shall be used.
5194           https://bugzilla.gnome.org/show_bug.cgi?id=772554
5195
5196 2016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
5197
5198         * gst/vaapi/gstvaapivideomemory.c:
5199           vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
5200           In short GstFdMemory is configured to call close when using
5201           GstDmabufMemory.
5202           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5203
5204 2016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5205
5206         * configure.ac:
5207         * gst-libs/gst/vaapi/Makefile.am:
5208           build: clean up the dlopen usage
5209
5210 2016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5211
5212         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5213         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5214           encoder: h264,h265: fix regression in offset count
5215           In commit dc35dafa a bug was introduced because I assumed that
5216           GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
5217           https://bugzilla.gnome.org/show_bug.cgi?id=772259
5218
5219 2016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5220
5221         * README:
5222           docs: update README
5223
5224 2016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5225
5226         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5227           libs: display: egl: remove unused header include
5228           The header gmodule.h is not used since the library dynamic loading for EGL
5229           display was removed.
5230           https://bugzilla.gnome.org/show_bug.cgi?id=772599
5231
5232 === release 1.9.90 ===
5233
5234 2016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
5235
5236         * ChangeLog:
5237         * NEWS:
5238         * common:
5239         * configure.ac:
5240         * gstreamer-vaapi.doap:
5241           Release 1.9.90
5242
5243 2016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
5244
5245         * gst/vaapi/gstvaapidecode.c:
5246         * gst/vaapi/gstvaapidecodebin.c:
5247         * gst/vaapi/gstvaapiencode_h264.c:
5248         * gst/vaapi/gstvaapiencode_h265.c:
5249         * gst/vaapi/gstvaapiencode_jpeg.c:
5250         * gst/vaapi/gstvaapiencode_mpeg2.c:
5251         * gst/vaapi/gstvaapiencode_vp8.c:
5252         * gst/vaapi/gstvaapipostproc.c:
5253         * gst/vaapi/gstvaapisink.c:
5254           vaapi: use new gst_element_class_add_static_pad_template()
5255           https://bugzilla.gnome.org/show_bug.cgi?id=763083
5256           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5257
5258 2016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
5259
5260         * gst/vaapi/gstvaapipluginbase.c:
5261           plugins: reset textures at negotiation/shutdown
5262           When caps reconfiguration is called, the new downstream frame size might be
5263           different. Thus, if the downstream caps change,the display's texture map is
5264           reset.
5265           In addition, during pipeline shutdown, textures in texture map have to be
5266           released, since each one have a reference to the GstVaapiDisplay object, which
5267           is a dangerous circular reference.
5268           https://bugzilla.gnome.org/show_bug.cgi?id=769293
5269           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5270
5271 2016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
5272
5273         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5274         * gst-libs/gst/vaapi/gstvaapidisplay.h:
5275         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5276         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
5277         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
5278         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
5279         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
5280         * gst/vaapi/gstvaapivideometa_texture.c:
5281           libs: display{egl,glx}: cache GstVaapiTextures
5282           instances when created and reuse
5283           This patch improves performance when glimagesink uploads a GL texture.
5284           It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
5285           instance of GstVaapiTextureMap, so our internal texture structure can be found
5286           by matching the GL texture id for each frame upload process, avoiding the
5287           internal texture structure creation and its following destruction.
5288           https://bugzilla.gnome.org/show_bug.cgi?id=769293
5289           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5290
5291 2016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
5292
5293         * gst-libs/gst/vaapi/Makefile.am:
5294         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
5295         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
5296           libs: vaapitexturemap: implement GstVaapiTextureMap
5297           Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
5298           reused. Internally it is a hash table.
5299           Note that it is GstObject based rather than GstVaapiObject, as part of the future
5300           converstion to GstObject of most of the code.
5301           https://bugzilla.gnome.org/show_bug.cgi?id=769293
5302           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5303
5304 2016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5305
5306         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5307           encoder: vp8: Increase the allocation size for coded buffer
5308           We are not getting enough compression for some streams and
5309           encoded frame end up with more size than allocated.
5310           Assuming a compression ratio of 4, which should be good enough
5311           for holding the frames.
5312           https://bugzilla.gnome.org/show_bug.cgi?id=771528
5313
5314 2016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5315
5316         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5317           encoder: vp9: Fix refresh frame flag setting
5318           While doing the mode-1 referece picture selection,
5319           the circular buffer logic was not correctly setting the
5320           refresh frame flags as per VP9 spec.
5321           Make sure refresh_flag[0] get updated correclty after
5322           each cycle of GST_VP9_REF_FRAMES.
5323           https://bugzilla.gnome.org/show_bug.cgi?id=771507
5324
5325 2016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5326
5327         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5328           vaapidecode: codec_data minimal size is 7
5329           When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
5330           stream, not in the codec_data, so the size of codec_data might be 7.
5331           This patch reduces the minimal size of the codec_data buffer from 8 to 7.
5332           https://bugzilla.gnome.org/show_bug.cgi?id=771441
5333
5334 2016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5335
5336         * gst/vaapi/gstvaapidecode.c:
5337           vaapidecode: reset decoder hard when set_format()
5338           set_format() is called by upstream when the stream capabilites has changed.
5339           Before, if the new stream is compatible with the old one the VA decoder was
5340           not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
5341           when the upstreamer parsers gets more details of the stream, such as the
5342           framerate. Hence, when the src caps are negotiates, the further sink caps
5343           updates are ignored.
5344           This patch forces the VA decoder destroying and recreation when set_format()
5345           is called.
5346           https://bugzilla.gnome.org/show_bug.cgi?id=770921
5347
5348 2016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
5349
5350         * configure.ac:
5351           configure: Depend on gstreamer 1.9.2.1
5352
5353 2016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5354
5355         * gst/vaapi/gstvaapivideomemory.c:
5356           Revert "vaapivideomemory: load VA Image when mapping to write"
5357           This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
5358
5359 2016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
5360
5361         * common:
5362           Automatic update of common submodule
5363           From b18d820 to f980fd9
5364
5365 2016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
5366
5367         * common:
5368           Automatic update of common submodule
5369           From f49c55e to b18d820
5370
5371 2016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
5372
5373         * gst/vaapi/gstvaapipluginbase.c:
5374           plugins: set allocator's image size to sinkpad bufferpool
5375           Otherwise the buffer is always ditched by the bufferpool, losing performance.
5376           https://bugzilla.gnome.org/show_bug.cgi?id=771035
5377
5378 2016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5379
5380         * gst-libs/gst/vaapi/gstvaapisurface.c:
5381           libs: surface: ensure composite overlay is not bigger
5382           Ensure the composition overlay rectangle (subtitles) is not bigger than
5383           the surface where it is going to be composited and rendered.
5384           https://bugzilla.gnome.org/show_bug.cgi?id=766978
5385
5386 2016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
5387
5388         * gst/vaapi/gstvaapivideomemory.c:
5389           vaapivideomemory: load VA Image when mapping to write
5390           When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
5391           ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
5392           in this case.
5393           https://bugzilla.gnome.org/show_bug.cgi?id=766978
5394
5395 2016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5396
5397         * gst/vaapi/gstvaapidecode.c:
5398           vaapidecode: merge vc1 and wmv3 elements
5399           This patch merges vaapivc1dec and vaapiwmv3dec into a single
5400           vaapivc1dec. Also, removed the WMVA format, since it is not
5401           supported by libva.
5402           https://bugzilla.gnome.org/show_bug.cgi?id=734093
5403
5404 2016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5405
5406         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5407           decoder: vc1: fails only on advanced profile
5408           In commit 2eb4394 the frame coding mode was verified for progressive
5409           regardless the profile. But the FCM is only valid in the advanced
5410           profile. This patch checks for the advanced profile before verifying FCM for
5411           progressive.
5412           https://bugzilla.gnome.org/show_bug.cgi?id=769250
5413
5414 2016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5415
5416         * gst/vaapi/gstvaapi.c:
5417           vaapi: DISPLAY envvar as dependency
5418           In a multiple video cards system, a X11 environment may have different VA
5419           capabilities. This patch tracks the DISPLAY environment variable to
5420           invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
5421           https://bugzilla.gnome.org/show_bug.cgi?id=770357
5422
5423 2016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5424
5425         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5426           decoder: vc1: Fail only on actual interlaced frames
5427           In the earlier patch:
5428           f31d9f3 decoder: vc1: Print error on interlaced content
5429           Decoding would error out if the interlace flag was set in the
5430           sequence bdu. This isn't quite right because a video can have this
5431           flag set and yet not have any interlaced pictures.
5432           Here instead we error out when either parsing a field bdu or
5433           decoding a frame bdu which has fcm set to anything other than
5434           progressive.
5435           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
5436           https://bugzilla.gnome.org/show_bug.cgi?id=769250
5437
5438 2016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
5439
5440         * configure.ac:
5441           Back to development
5442
5443 === release 1.9.2 ===
5444
5445 2016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
5446
5447         * ChangeLog:
5448         * NEWS:
5449         * configure.ac:
5450         * gstreamer-vaapi.doap:
5451           Release 1.9.2
5452
5453 2016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
5454
5455         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5456           decoder: vc1: Print error on interlaced content
5457           Interlaced video is as yet unsupported in the vc1 element. Print
5458           an error to make that more obvious.
5459           https://bugzilla.gnome.org/show_bug.cgi?id=769250
5460
5461 2016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5462
5463         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5464           encoder: h264: fix C90 mixed declarations and code
5465           Commit 4259d1a introduced this compilation error. This patch fixes it.
5466
5467 2016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5468
5469         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5470         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5471         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5472         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5473           encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
5474           Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
5475           to avoid overflows, underflows and loss of precision.
5476           https://bugzilla.gnome.org/show_bug.cgi?id=768458
5477
5478 2016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5479
5480         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5481         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5482           vaapiencode: h264,h265: validate fps numerator
5483           Validate that fps numerator is non-zero so it can be used to calculate
5484           the duration of the B frame.
5485           Also it gst_util_uint64_scale() is used instead of normal arithmetic in
5486           order to aviod overflows, underflows and loss of precision.
5487           https://bugzilla.gnome.org/show_bug.cgi?id=768458
5488
5489 2016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
5490
5491         * gst/vaapi/gstvaapi.c:
5492           encoders: demote to RANK_NONE since not fit for autoplugging yet
5493           Encoders claim to support a whole bunch of input formats but then
5494           just error out if the format is not actually supported, even if
5495           there's a converter in front. This means they're not fit for
5496           autoplugging in encodebin or camerabin yet and therefore should
5497           not have a rank. People can still use them in custom pipelines.
5498           https://bugzilla.gnome.org/show_bug.cgi?id=769266
5499
5500 2016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5501
5502         * gst/vaapi/gstvaapipluginbase.c:
5503           plugins: check dmabuf-import for sink pad allocator
5504           Check earlier if upstream video source has activated the dmabuf-import
5505           io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
5506           new allocator.
5507
5508 2016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5509
5510         * gst/vaapi/gstvaapipluginbase.c:
5511           plugins: reset allocators if video info changed
5512           If the frame size or format, change, the allocators are reset, so a new ones
5513           can be created with the new video info.
5514
5515 2016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5516
5517         * gst/vaapi/gstvaapipluginbase.c:
5518           plugins: remove sink pad allocator if caps change
5519           If the negotiated sinkpad caps change, destroy the assignated allocator,
5520           because it is not valid anymore.
5521
5522 2016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5523
5524         * gst/vaapi/gstvaapipluginutil.c:
5525         * gst/vaapi/gstvaapipluginutil.h:
5526           pluginutil: const params to gst_video_info_changed()
5527           Since they are not modified, we should mark them as const.
5528
5529 2016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5530
5531         * gst/vaapi/gstvaapipluginbase.c:
5532         * gst/vaapi/gstvaapivideomemory.c:
5533         * gst/vaapi/gstvaapivideomemory.h:
5534           gstvaapivideomemory: allocator's image size getter
5535           Add the method gst_allocator_get_vaapi_image_size() for the
5536           GstVaapiVideoAllocator, which gets the size of the allocated images with the
5537           current video info.
5538           This method replaces the direct call to the allocator's image info when the
5539           pool is configured.
5540
5541 2016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
5542
5543         * gst/vaapi/gstvaapipluginbase.c:
5544           plugins: update buffer pool size with new allocator's image size
5545           Depends on media, video size is sometimes updated with new allocator.
5546           It leads to dismatch between bufferpool's set size and real allocated buffer size.
5547           In this case, it causes every buffer is freed during release in bufferpool,
5548           which should be reused. This affects performance.
5549           https://bugzilla.gnome.org/show_bug.cgi?id=769248
5550
5551 2016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5552
5553         * configure.ac:
5554           configure: remove gmodule-2.0 EGL dependency
5555           Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
5556           thus the dependency to gmodule-2.0 is not mandatory anymore.
5557
5558 2016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5559
5560         * configure.ac:
5561           configure: Fix non-fatal PKG_CHECK_MODULES invocations
5562           Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
5563           the package is missing, but action-if-not-found was given as an empty
5564           string which still causes the default action to run, which halts
5565           execution.
5566           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
5567           https://bugzilla.gnome.org/show_bug.cgi?id=769237
5568
5569 2016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5570
5571         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5572           libs: egl: remove dynamic library loading code
5573           Since the upstream of gstreamer-vaapi, the library is not a public shared
5574           object anymore. But the EGL support depended on this dynamic library, so the
5575           EGL support was broken.
5576           This patch removes the dynamic library loading code and instantiates the
5577           EGL display using either X11 or Wayland if available.
5578           https://bugzilla.gnome.org/show_bug.cgi?id=767203
5579
5580 2016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5581
5582         * gst/vaapi/gstvaapi.c:
5583         * gst/vaapi/gstvaapidecode.c:
5584         * gst/vaapi/gstvaapidecode.h:
5585           vaapidecode: register only the available decoders
5586           In order to register only the available decoders, this patch queries the
5587           created test VA display, which uses the currently used back-end (X11, Wayland,
5588           DRM, …) on the used display device.
5589           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5590
5591 2016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5592
5593         * gst/vaapi/gstvaapi.c:
5594         * gst/vaapi/gstvaapipluginutil.c:
5595         * gst/vaapi/gstvaapipluginutil.h:
5596           vaapi: register only the available encoders
5597           In order to register only the available encoders, this patch queries the
5598           created test VA display, which uses the currently used back-end (X11,
5599           Wayland, DRM, …) on the used display device.
5600           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5601
5602 2016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5603
5604         * gst/vaapi/gstvaapidecode.c:
5605         * gst/vaapi/gstvaapidecodebin.c:
5606           vaapidecode: split all the codecs
5607           Split the vaapidecode to all the supported codecs with the format
5608           vaapi{codec}dec.
5609           vaapidecode is stil registered as a GObject type, but not as a
5610           GStreamer feature, so it can be used internally by vaapidecodebin without
5611           changing its code too much.
5612           https://bugzilla.gnome.org/show_bug.cgi?id=734093
5613
5614 2016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5615
5616         * gst/vaapi/gstvaapidecodebin.c:
5617           vaapidecodebin: simplify the code
5618           Since the elements dependant of the VA video processor are now only registered
5619           if it is available, vaapidecodebin code can be simplified a lot, removing all
5620           the code required to check if the VA video processor was available.
5621           https://bugzilla.gnome.org/show_bug.cgi?id=768899
5622
5623 2016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5624
5625         * gst/vaapi/gstvaapidecode.c:
5626           vaapidecode: delay the GstVaapiDisplay instantiating
5627           Delay the GstVaapiDisplay instantiating until when changing the state from
5628           READY to PAUSE. In this way the element has more chances to find an already
5629           created GstVaapiDisplay, or a GL context, in the pipeline.
5630           https://bugzilla.gnome.org/show_bug.cgi?id=766206
5631
5632 2016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5633
5634         * gst/vaapi/gstvaapipluginutil.c:
5635           pluginutil: set GLX display type
5636           The function gst_vaapi_create_display_from_gl_context() cretes a
5637           GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
5638           when the GL platform was GLX, but a plain X11 VA display.
5639           This patch fixes that, by querying the GL platform earlier.
5640           https://bugzilla.gnome.org/show_bug.cgi?id=766206
5641
5642 2016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5643
5644         * gst/vaapi/gstvaapipluginbase.c:
5645         * gst/vaapi/gstvaapivideocontext.c:
5646         * gst/vaapi/gstvaapivideocontext.h:
5647           plugins: add gst_vaapi_plugin_base_find_gl_context()
5648           Using the GstContext mechanism, it is possible to find if the pipeline
5649           shares a GstGLContext, even if we are not to negotiating GLTextureUpload
5650           meta. This is interesting because we could negotiate system memory caps
5651           feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
5652           https://bugzilla.gnome.org/show_bug.cgi?id=766206
5653
5654 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5655
5656         * gst/vaapi/gstvaapipluginbase.c:
5657         * gst/vaapi/gstvaapipluginbase.h:
5658           plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
5659           Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
5660           it is deleted.
5661
5662 2016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5663
5664         * gst/vaapi/gstvaapipluginbase.h:
5665           plugins: remove common change_state() vmethod
5666           Remove the common change_state() vmethod for all the plugins, since no one is
5667           using it.
5668
5669 2016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5670
5671         * gst/vaapi/gstvaapidecode.c:
5672           vaapidecode: remove change_state() vmethod
5673           Since the driver checkup is done at registering, there is no need to do it
5674           when changing the element state from NULL to READY. This patch remove this
5675           vmethod from vaapidecode.
5676
5677 2016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5678
5679         * gst/vaapi/gstvaapi.c:
5680           vaapi: register vaapipostproc only if supported
5681           Query the GstVaapiDisplay to know if the driver supports video
5682           postprocessing. If does, then register vaapipostproc and vaapidecodebin
5683           elements.
5684           This patch will simplify the design of vaapidecodebin.
5685           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5686
5687 2016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5688
5689         * gst/vaapi/gstvaapi.c:
5690           vaapi: don't register if VA driver is unsupported
5691           Using the test VA display, the driver name is queried, and if it is not
5692           white-listed, the plugin rejects to register any element.
5693           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5694
5695 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5696
5697         * gst/vaapi/gstvaapipluginbase.c:
5698         * gst/vaapi/gstvaapipluginutil.c:
5699         * gst/vaapi/gstvaapipluginutil.h:
5700           plugins: add gst_vaapi_driver_is_whitelisted()
5701           Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
5702           new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
5703           when registering the plugin's feature set with the test VA display.
5704           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5705
5706 2016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5707
5708         * gst/vaapi/gstvaapi.c:
5709           vaapi: instantiate a VA display when registering
5710           This patch tries to instantiate a GstVaapiDisplay when registering the plugin
5711           features, if it fails, no gstreamer-vaapi element is registering.
5712           The purpose of this patch is to avoid a situation where the user has
5713           gstreamer-vaapi installed but their VA-API setup is not functional, which may
5714           lead to unexpected behavior.
5715           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5716
5717 2016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5718
5719         * configure.ac:
5720         * gst/vaapi/gstvaapi.c:
5721           vaapi: declare external dependencies
5722           There are two main external dependencies that define the feature set of this
5723           plugin: a) the kernel and b) the VA driver
5724           This patch tracks both dependencies, if any of them change, GStreamer will
5725           re-inspect the plugin.
5726           The kernel is tracked through the device files /dev/dri/card*
5727           The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
5728           where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
5729           the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
5730           since they modify the driver lookup.
5731           Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
5732           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5733
5734 2016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5735
5736         * gst/vaapi/gstvaapidecode.c:
5737           vaapidecode: remove unneeded initializations
5738           GObject's memory is set to zero, so there is no need to initialize to zero or
5739           NULL it's class variables.
5740
5741 2016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5742
5743         * gst/vaapi/gstvaapipluginbase.h:
5744           plugins: remove undefined macros
5745
5746 2016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5747
5748         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
5749           Revert "gstvaapisurface_drm: release image when done"
5750           This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
5751           372a03a9e38acbf435eb80bf31d9a9844069e504.
5752           While the dmabuf handle is exported, the derive image must exist, otherwise
5753           the image's VA buffer is invalid, thus the dmabuf handle is never released,
5754           leading into a file descriptors leak.
5755
5756 2016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5757
5758         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5759           encoder: h265: fix code-style
5760
5761 2016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5762
5763         * gst/vaapi/gstvaapipostproc.c:
5764           vaapipostproc: update filters at color balance
5765           This is a fix for a regression of previous commit, which updates the filters
5766           only when the property is set, because it is also required to update the
5767           filter when the color balance interface change its values.
5768
5769 2016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
5770
5771         * gst/vaapi/gstvaapipostproc.c:
5772         * gst/vaapi/gstvaapipostproc.h:
5773           vaapipostproc: make it enable/disable pass-through mode
5774           In case that sink caps and src caps are same, and no filtering parameter set,
5775           pass-through mode is enabled.
5776           If new filtering parameter is set during playback, it makes it reconfiguring,
5777           so that pass-through mode is changed
5778           In addition, updating filter is performed during reconfiguration, if needed.
5779           https://bugzilla.gnome.org/show_bug.cgi?id=751876
5780
5781 2016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
5782
5783         * gst-libs/gst/vaapi/gstvaapifilter.c:
5784         * gst-libs/gst/vaapi/gstvaapifilter.h:
5785         * gst/vaapi/gstvaapipostproc.c:
5786           vaapipostproc: checking and updating filter parameter only when it's set
5787           This patch is to avoid checking filter value at every frame.
5788           https://bugzilla.gnome.org/show_bug.cgi?id=751876
5789
5790 2016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
5791
5792         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5793           decoder: h265: handle the SEI NAL units included in codec_data
5794           The prefix/suffix SEI nal units can appear in codec_data too
5795           which weren't handled before. Parse these SEI headers to
5796           fix the segfault.
5797           https://bugzilla.gnome.org/show_bug.cgi?id=768544
5798
5799 2016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5800
5801         * docs/plugins/Makefile.am:
5802           build: doc: do not redefine MAINTAINERCLEANFILES
5803           MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
5804           overload it, the files should be added.
5805
5806 2016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5807
5808         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5809           encoder: h264: Fix MVC encode while enabling dct8x8
5810           Pack the transform_8x8_mode_flag and other necessary rbsp data
5811           in packed_pps header for MVC encode.
5812           https://bugzilla.gnome.org/show_bug.cgi?id=768647
5813
5814 2016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5815
5816         * gst/vaapi/gstvaapisink.c:
5817           vaapisink: demote a debug message to trace
5818           Reduces noise when debugging.
5819
5820 2016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
5821
5822         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5823           wayland: Error check before using cached wl_display
5824           A planar(or some other) buffer allocation may fail on the driver, then
5825           the wayland connection becomes invalid, not able to send request or
5826           receive any event. So we need to set up a new wayland connection if
5827           there's an error detected on the cached wl_display.
5828           https://bugzilla.gnome.org/show_bug.cgi?id=768761
5829           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5830
5831 2016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
5832
5833         * common:
5834           Automatic update of common submodule
5835           From ac2f647 to f49c55e
5836
5837 2016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5838
5839         * gst/vaapi/gstvaapiencode.c:
5840           vaapiencode: demote a log to trace level
5841           Removes noise when debugging.
5842
5843 2016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
5844
5845         * gst/vaapi/gstvaapiencode.c:
5846           vaapiencode: implement flush() vmethod
5847           In order to handle correctly seek and other operations, vaapiencode should
5848           flush all the remaining data from the encoder without pushing it downstream.
5849           This patch implements the flush() vmethod, only after of pausing the
5850           source pad task, and restarting it again after the flush stop.
5851           https://bugzilla.gnome.org/show_bug.cgi?id=767176
5852           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5853
5854 2016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5855
5856         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5857           decoder: vc1: flush dpb only if opened
5858           Flush the decode picture buffer, if and only if, the decoder is
5859           started. Otherwise the dpb structure might be NULL.
5860           https://bugzilla.gnome.org/show_bug.cgi?id=742922
5861
5862 2016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
5863
5864         * gst/vaapi/gstvaapidecode.c:
5865         * gst/vaapi/gstvaapidecode.h:
5866           vaapidecode: drop non-keyframe in reverse playback
5867           To avoid surface-exhausted situation during reverse playback,
5868           drop frames except for key frame.
5869           Also, to avoid the corruption of the parser state, flush() vmethod
5870           doesn't destroy the VA decoder when playing in reverse.
5871           https://bugzilla.gnome.org/show_bug.cgi?id=742922
5872           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5873
5874 2016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5875
5876         * gst/vaapi/gstvaapidecode.c:
5877           vaapidecode: unref output frame earlier
5878           The queue in GstVaapiDecode adds an extra reference to the frames. This patch
5879           unref that extra reference earlier making the code simpler to follow.
5880           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5881
5882 2016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5883
5884         * gst/vaapi/gstvaapidecode.c:
5885           vaapidecode: remove gst_vaapidecode_internal_flush()
5886           As gst_vaapidecode_finish() is the only callee of
5887           gst_vaapidecode_internal_flush(), it is better to inline it.
5888           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5889
5890 2016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5891
5892         * gst/vaapi/gstvaapidecode.c:
5893           vaapidecode: flush output adapter at drain()
5894           Calling drain() vmethod means "decode any data it can at this point, but that
5895           more data may arrive after". Hence, vaapidecode should check if there is data
5896           in the output adapter and process them, without destroying the decoded picture
5897           buffer (dpb).
5898           Since this operation is done by gst_vaapidecode_internal_flush(), the operation
5899           was refactored into a new function gst_vaapidecode_flush_output_adapter().
5900           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5901
5902 2016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5903
5904         * gst/vaapi/gstvaapidecode.c:
5905           vaapidecode: call purge at flush()
5906           Calling flush() vmethod means "to flush all remaining data from the decoder
5907           without pushing it downstream".
5908           Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
5909           gst_video_decoder_have_frame() if there is still something in the input
5910           adapter, which may push buffers to downstream by calling handle_frame().
5911           This patch changes this behavior by calling gst_vaapidecode_purge() rather
5912           than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
5913           decoder and releases all the rest of decoded frames.
5914           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5915
5916 2016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5917
5918         * tests/elements/Makefile.am:
5919         * tests/elements/test-vaapisink.c:
5920           test: elements: remove spurious linkage
5921           Element tests only need to link against gstreamer libraries.
5922
5923 2016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
5924
5925         * configure.ac:
5926           configure: Require GLib >= 2.40 like everywhere else
5927
5928 2016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
5929
5930         * configure.ac:
5931           Back to development
5932
5933 === release 1.9.1 ===
5934
5935 2016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
5936
5937         * ChangeLog:
5938         * NEWS:
5939         * common:
5940         * configure.ac:
5941         * gstreamer-vaapi.doap:
5942           Release 1.9.1
5943
5944 2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5945
5946         * tests/elements/test-vaapisink.c:
5947           tests: elements: rotate orientation event
5948
5949 2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
5950
5951         * configure.ac:
5952         * tests/Makefile.am:
5953         * tests/elements/Makefile.am:
5954         * tests/elements/test-vaapisink.c:
5955           tests: elements: Add testsuite for vaapisink
5956           https://bugzilla.gnome.org/show_bug.cgi?id=765798
5957
5958 2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
5959
5960         * gst-libs/gst/vaapi/gstvaapitypes.h:
5961         * gst-libs/gst/vaapi/gstvaapivalue.c:
5962         * gst/vaapi/gstvaapisink.c:
5963         * gst/vaapi/gstvaapisink.h:
5964           vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
5965           https://bugzilla.gnome.org/show_bug.cgi?id=765798
5966
5967 2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5968
5969         * gst/vaapi/gstvaapipostproc.c:
5970           vaapipostproc: return caps template if no display
5971           This patch is a fix for my bad review of commit 6d73ca8d. The element should
5972           be able to return the available raw caps handled by the VA display, but that
5973           only should happen when there a VA display. If there's none, the element
5974           should use the caps template.
5975           https://bugzilla.gnome.org/show_bug.cgi?id=768161
5976
5977 2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
5978
5979         * gst/vaapi/gstvaapipostproc.c:
5980           vaapipostproc: don't require a vaapi display for all caps queries
5981           This delays the requirement of having a GstVaapiDisplay until later
5982           https://bugzilla.gnome.org/show_bug.cgi?id=768161
5983
5984 2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5985
5986         * gst-libs/gst/vaapi/gstvaapiutils.c:
5987           utils: report VP9 profiles
5988           Add VP9Profile0-3 name mapping.
5989
5990 2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5991
5992         * gst/vaapi/gstvaapi.c:
5993           vaapi: nest includes under USE_ENCODER macro
5994           This is a missed changeset from commit 1c05c53, since also header includes
5995           should be nested.
5996
5997 2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5998
5999         * gst/vaapi/gstvaapi.c:
6000           vaapi: nest encoders under USE_ENCODER macro
6001           Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
6002           macro, it is clearer to nest them, showing explicitly the dependency relation.
6003
6004 2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6005
6006         * gst/vaapi/gstvaapivideocontext.c:
6007           vaapivideocontext: check if query context is NULL
6008           Under certain conditions the element might receive a positive context query
6009           but without a context instance. This situation will lead to a segmentation
6010           fault when traversing the context list in the pipeline.
6011           https://bugzilla.gnome.org/show_bug.cgi?id=767946
6012
6013 2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6014
6015         * gst-libs/gst/vaapi/Makefile.am:
6016         * gst-libs/gst/vaapi/glibcompat.h:
6017         * gst-libs/gst/vaapi/sysdeps.h:
6018           remove unused glibcompat.h
6019           glibcompat.h is no longer doing anything. Remove it.
6020           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6021           https://bugzilla.gnome.org/show_bug.cgi?id=767886
6022
6023 2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6024
6025         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6026           encoder: h264: Use high profile by default
6027           Change defaults for max-bframes, cabac, and dct8x8 to be enabled
6028           by default. This will cause the default profile to be high instead
6029           of baseline. In most situations this is the right decision, and
6030           the profile can still be lowered in the case of caps restrictions.
6031           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6032           https://bugzilla.gnome.org/show_bug.cgi?id=757941
6033
6034 2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6035
6036         * gst/vaapi/gstvaapidecodebin.c:
6037           vaapidecodebin: element warning if missing element
6038           Raise an element warning if a required element is not available, thus the
6039           pipeline will post a warning message and the application will be informed.
6040
6041 2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
6042
6043         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6044           decoder: h265: fix to release all dpb pictures
6045           Without this, all dpb pictures are not released during flush,
6046           because we used the global dpb_count variable for checking the
6047           dpb fullness which get decremented in dpb_remove_index()
6048           routine during each loop iteration.
6049           https://bugzilla.gnome.org/show_bug.cgi?id=767934
6050
6051 2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6052
6053         * common:
6054           Automatic update of common submodule
6055           From ac2f647 to f363b32
6056
6057 2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
6058
6059         * gst/vaapi/gstvaapidecode.c:
6060         * gst/vaapi/gstvaapipostproc.c:
6061           vaapi: fix minor leaks
6062           https://bugzilla.gnome.org/show_bug.cgi?id=767868
6063
6064 2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6065
6066         * gst/vaapi/gstvaapi.c:
6067           vaapi: remove an already included header
6068           gst/gst.h is already included in gstcompat.h
6069
6070 2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6071
6072         * gst/vaapi/gstvaapidecodebin.c:
6073           vaapidecodebin: add vp9 in sink pad template
6074
6075 2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6076
6077         * gst/vaapi/gstvaapisink.c:
6078           vaapisink: return caps template if no display
6079           If vaapisink received a caps query before getting a VA display, it returned
6080           only the surfaces related caps. This behavior broke the autovideosink
6081           negotiation.
6082           This patch returns the pad's template caps if no VA display, otherwise the
6083           caps are crafted as before.
6084           https://bugzilla.gnome.org/show_bug.cgi?id=767699
6085
6086 2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6087
6088         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6089           decoder: vp9: Update comment about context resets
6090           Clarify that vaapi context resets are never needed for vp9, but
6091           that ensure_context() needs called when the size increases so that
6092           new surfaces can be allocated.
6093           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6094           https://bugzilla.gnome.org/show_bug.cgi?id=767474
6095
6096 2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6097
6098         * gst-libs/gst/vaapi/gstvaapicontext.c:
6099         * gst-libs/gst/vaapi/gstvaapicontext.h:
6100         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6101           gstvaapicontext: control reset_on_resize with option
6102           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6103           https://bugzilla.gnome.org/show_bug.cgi?id=767474
6104
6105 2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6106
6107         * gst/vaapi/gstvaapivideobufferpool.c:
6108           vaapivideobufferpool: add video meta to config when needed
6109           In cases where we know the video meta must be present, add it to
6110           the pool configuration.
6111           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6112           https://bugzilla.gnome.org/show_bug.cgi?id=766184
6113
6114 2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6115
6116         * gst/vaapi/gstvaapipluginbase.c:
6117           plugins: retry pool config
6118           if gst_buffer_pool_set_config returns FALSE, check the modified
6119           config and retry set_config if the config is still acceptable.
6120           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6121           https://bugzilla.gnome.org/show_bug.cgi?id=766184
6122
6123 2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6124
6125         * gst/vaapi/gstvaapivideomemory.h:
6126           vaapivideomemory: internal attributes to methods
6127           Mark as internal the functions used by VA-API dmabuf allocator.
6128
6129 2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6130
6131         * gst/vaapi/gstvaapipluginbase.c:
6132           plugins: remove precondition for decide_allocation()
6133           There's no need to check for the display in the plugin object when
6134           decide_allocation() vmethod is called, because the display will created or
6135           re-created along the method execution.
6136
6137 2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6138
6139         * gst/vaapi/gstvaapipluginbase.c:
6140           plugins: avoid possible memory leaks
6141           Get the pool config just before use it, to avoid a memory leak if the
6142           allocator cannot be instantiated. Similarly, return FALSE if the configuration
6143           cannot be set, avoid keep a not used allocator in the pool.
6144
6145 2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6146
6147         * gst/vaapi/gstvaapipluginbase.c:
6148           plugins: use GstParentBufferMeta
6149           Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
6150           use the GStreamer's GstParentBufferMeta.
6151           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6152
6153 2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6154
6155         * gst/vaapi/gstvaapipluginbase.c:
6156           plugins: cache VASurfaces from dmabufs
6157           This patch avoids the creation of a VASurface each time a new input buffer is
6158           processed, caching them in the input buffer itself.
6159           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6160
6161 2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6162
6163         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6164         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
6165         * gst/vaapi/gstvaapipluginbase.c:
6166           libs: change gst_vaapi_surface_new_with_dma_buf_handle()
6167           Instead of passing the data already in GstVideoInfo, let's just pass the
6168           GstVideoInfo structure.
6169           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6170
6171 2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6172
6173         * gst/vaapi/gstvaapipluginbase.c:
6174         * gst/vaapi/gstvaapipluginbase.h:
6175           plugins: use an unique allocator per pad
6176           Instead of instantiating an allocator per vaapivideobufferpool, only one
6177           allocator is instantiated per element's pad and shared among future pools.
6178           If the pad's caps changes, the allocator is reset.
6179           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6180
6181 2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6182
6183         * gst/vaapi/gstvaapipluginbase.c:
6184         * gst/vaapi/gstvaapivideobufferpool.c:
6185         * gst/vaapi/gstvaapivideobufferpool.h:
6186           vaapivideobufferpool: share options flag with pluginbase
6187           Originally, vaapivideobufferpool has a set of boolean variables for the
6188           buffer configuration options.
6189           This pach changes these boolean variables for a single bitwise, just as
6190           it is used in pluginbase. Hence, the internal enum was moved to
6191           vaapivideobufferpool header.
6192           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6193
6194 2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6195
6196         * gst/vaapi/gstvaapipluginbase.c:
6197           plugins: add gst_vaapi_plugin_base_create_pool()
6198           This patch refactors the code in pluginbase in order to centralize the buffer
6199           pool instantiation. As the buffer pool config may have different options, these
6200           are gathered using a bitwise flag.
6201           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6202
6203 2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6204
6205           pluginbase negotiates allocator with bufferpool
6206           Originally vaapivideobufferpool instantiates its own allocator regardless the
6207           received configuration, and it relies in custom configuration options to
6208           choose which kind of allocator instantiate.
6209           This patch transfers the responsibility of the allocator instantiate to
6210           vaapipluginbase and pass it to the vaapivideobufferpool through its
6211           configuration.
6212           * gst/vaapi/gstvaapipluginbase.c
6213           + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
6214           + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
6215           bufferpool configuration
6216           + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
6217           needed.
6218           + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
6219           allocator in bufferpool configuration
6220           * gst/vaapi/gstvaapivideobufferpool.c
6221           + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
6222           allocator, process the received one through its configuration.
6223           * gst/vaapi/gstvaapivideobufferpool.h: removed
6224           GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
6225           * gst/vaapi/gstvaapivideomemory.c
6226           + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
6227           allocator with the vaapi qdata.
6228           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6229
6230 2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6231
6232         * gst/vaapi/gstvaapivideobufferpool.c:
6233           vaapivideobufferpool: keep only current video info
6234           Instead of keeping old and new GstVideoInfo video structure, we only keep one,
6235           the current one, the negotiated. The old one is not needed at all.
6236           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6237
6238 2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6239
6240         * gst/vaapi/gstvaapipluginbase.c:
6241         * gst/vaapi/gstvaapipluginutil.c:
6242         * gst/vaapi/gstvaapipluginutil.h:
6243         * gst/vaapi/gstvaapivideomemory.c:
6244           pluginutil: add gst_video_info_force_nv12_if_encoded()
6245           This lines repeat a couple times in the code, so it would be better to put it
6246           a helper function.
6247           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6248
6249 2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6250
6251         * gst/vaapi/gstvaapipluginutil.c:
6252         * gst/vaapi/gstvaapipluginutil.h:
6253         * gst/vaapi/gstvaapipostproc.c:
6254         * gst/vaapi/gstvaapivideobufferpool.c:
6255           pluginutil: add gst_video_info_changed() helper
6256           This function is shared among different elements, so let factorized it.
6257           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6258
6259 2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
6260
6261         * gst/vaapi/gstvaapipostprocutil.c:
6262           vaapipostproc: Add colorimetry attributes to src caps
6263           https://bugzilla.gnome.org/show_bug.cgi?id=766596
6264
6265 2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
6266
6267         * gst/vaapi/gstvaapidecode.c:
6268           vaapidecode: remove chroma-site and colorimetry from src caps
6269           https://bugzilla.gnome.org/show_bug.cgi?id=766596
6270
6271 2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6272
6273         * gst/vaapi/gstvaapipostproc.c:
6274         * gst/vaapi/gstvaapipostproc.h:
6275           vaapipostproc: add postproc_lock to protect data members
6276           Add a mutex to postproc to protect concurrent access to data members.
6277           Previously set_caps() could release the allowed_srcpad_caps while
6278           transform_caps was in the middle of using it.
6279           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6280           https://bugzilla.gnome.org/show_bug.cgi?id=766940
6281
6282 2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6283
6284         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6285         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
6286           encoder: vp9: Add simple algorithms for reference picture selection
6287           Added two modes(as properties) for reference picture selection:
6288           ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
6289           and LastRef is pointing to the previous frame.
6290           ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
6291           and n-2 th frame as AltRef
6292           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6293
6294 2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6295
6296         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6297           encoder: vp9: Define Max frame width and height
6298           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6299
6300 2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6301
6302         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6303         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
6304           encoder: vp9: Add more propertis for tuning encode quality
6305           Added three tuning properties:
6306           1: filter_level
6307           2: sharpness_level
6308           3: luma ac quant-table index
6309           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6310
6311 2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6312
6313         * gst/vaapi/Makefile.am:
6314         * gst/vaapi/gstvaapi.c:
6315         * gst/vaapi/gstvaapiencode_vp9.c:
6316         * gst/vaapi/gstvaapiencode_vp9.h:
6317           Add vp9 encode element to "vaapi" plugin
6318           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6319
6320 2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6321
6322         * gst-libs/gst/vaapi/Makefile.am:
6323         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6324         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
6325           Add vp9 encoder support in libgstvaapi
6326           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6327
6328 2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6329
6330         * configure.ac:
6331           build: Add check for VP9 encode API support in libva
6332           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6333
6334 2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6335
6336         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6337           gstvaapisurface_drm: fix internal documentation
6338
6339 2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6340
6341         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6342           gstvaapisurface_drm: fix code-style
6343
6344 2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6345
6346         * gst/vaapi/gstvaapipluginbase.c:
6347           plugins: remove unused header
6348           Remove the include of gst/allocators/allocators.h since it is not used.
6349
6350 2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6351
6352         * gst/vaapi/gstvaapivideobufferpool.h:
6353           vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
6354           Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
6355           keep compatibility definition.
6356           This patch removes the definition of
6357           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
6358           gst-plugins-base version 1.2.2
6359
6360 2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6361
6362         * gst/vaapi/gstvaapipluginbase.c:
6363           plugins: add gst_vaapi_buffer_pool_caps_is_equal()
6364           This is a helper function to improve the readability of
6365           ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
6366           re-instantiated.
6367
6368 2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6369
6370         * gst/vaapi/gstvaapipluginbase.c:
6371           plugins: deactivate buffer pool before unref
6372           This buffer pool may still be processing buffers when a caps renegotiation is
6373           done. This one-liner patch deactivates the pool to drain it before it
6374           de-allocation.
6375
6376 2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6377
6378         * gst/vaapi/gstvaapipluginbase.c:
6379           plugins: no sinkpad bufferpool when decoder
6380           Right now, the decoders create a buffer pool for their sink pad which is not
6381           used at all, because the decoders have never proposed it to upstream.
6382           This patch avoids the buffer pool instantiating when the element inherits from
6383           the GstVideoDecoder class.
6384
6385 2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6386
6387         * gst/vaapi/gstvaapipluginbase.c:
6388           plugins: avoid to get/set pool config twice
6389           This patch is a bit of optimization, since the bufferpool configuration is get
6390           when the pool is created. Hence, we only need to request it when the pool from
6391           the allocation query is reused.
6392
6393 2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6394
6395         * gst/vaapi/gstvaapipluginbase.c:
6396           plugins: destroy pool earlier if non-vaapi
6397           If the offered pool in decide_allocation() vmethod doesn't have the
6398           VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
6399           so it could be created later.
6400
6401 2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6402
6403         * gst/vaapi/gstvaapivideobufferpool.c:
6404           vaapivideobufferpool: split caps validation
6405           When validating the caps from bufferpool config, this patch distinguishes the
6406           error from no caps received (NULL) from the invalid caps (cannot be converted
6407           into GstVideoInfo structure).
6408
6409 2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6410
6411         * gst/vaapi/gstvaapidecode.c:
6412         * gst/vaapi/gstvaapipluginbase.c:
6413           plugins: check for caps in query earlier
6414           Check for caps as soon gst_query_parse_allocation() returns.
6415
6416 2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6417
6418         * gst/vaapi/gstvaapipluginbase.c:
6419         * gst/vaapi/gstvaapipluginbase.h:
6420           plugins: remove unused variables
6421           This variables stopped to be used since commit 001a5c63, which removed the
6422           gstvaapiuploader.
6423
6424 2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6425
6426         * gst/vaapi/gstvaapipluginbase.c:
6427           plugins: fix potential memleak from commit 9159328
6428           If gst_video_info_from_caps() fails it is required to unref the instantiated
6429           pool.
6430
6431 2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6432
6433         * gst/vaapi/gstvaapipostproc.c:
6434           vaapipostproc: handle if gst_video_info_from_caps() fails
6435           Return FALSE is the received caps cannot be transformed into a GstVideoInfo
6436           structure.
6437
6438 2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6439
6440         * gst/vaapi/gstvaapipluginbase.c:
6441           plugins: handle if gst_video_info_from_caps() fails
6442           Let's play safe and return error if, somehow, the received caps are wrong.
6443
6444 2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6445
6446         * gst/vaapi/gstvaapipluginbase.c:
6447           plugins: relate errors to instance
6448           Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
6449           will show the name of the vaapipluginbase instance that failed.
6450           Also, the code-style is fixed, where some error labels need to be surrounded
6451           by braces.
6452
6453 2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6454
6455         * gst/vaapi/gstvaapipluginbase.c:
6456         * gst/vaapi/gstvaapipluginutil.c:
6457         * gst/vaapi/gstvaapisink.c:
6458           plugins: use GstVideoInfo accessors
6459           Instead of access to GstVideInfo members directly, use their accessors
6460           macros. This patch makes more resistance to future changes in GStreamer core.
6461
6462 2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6463
6464         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6465         * gst/vaapi/gstvaapipluginbase.c:
6466         * gst/vaapi/gstvaapipostproc.c:
6467         * tests/simple-encoder.c:
6468           remove spurious gst_video_info_init()
6469           gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
6470           gst_video_info_init(), hence it is not required to call it before them. This
6471           patch removes these spurious calls.
6472
6473 2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6474
6475         * gst/vaapi/gstvaapipluginbase.c:
6476           vaapipluginbase: code-style: rename goto label
6477           The error labels have error_ prefix, but this one.
6478
6479 2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6480
6481         * gst/vaapi/gstvaapivideomemory.c:
6482           vaapivideomemory: use allocator custom alloc flag
6483           Instead of a dummy alloc() vmethod, the allocator instance set the flag
6484           GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
6485           gst_allocator_alloc() on the allocator.
6486
6487 2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6488
6489         * gst/vaapi/gstvaapivideobufferpool.c:
6490           vaapivideobufferpool: relate errors to instance
6491           Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
6492           the vaapivideobufferpool instance that failed.
6493
6494 2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6495
6496         * gst/vaapi/gstvaapipluginbase.c:
6497           plugins: remove gst_vaapi_plugin_base_set_pool_config()
6498           This function helper make sense for GStreamer 1.2, but it is not helpful for
6499           greater version since the validation is already done in the API implementation.
6500           Thus, it is removed.
6501
6502 2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6503
6504         * gst/vaapi/gstvaapipluginbase.c:
6505           gstvaapipluginbase: Fix typo in doc
6506
6507 2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6508
6509         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6510           encoder : h264: Disable b-frame encode in low-power mode
6511           This is a workaround since vaapi-intel-driver doesn't have
6512           support for B-frame encode when utilizing low-power-enc
6513           hardware block.
6514           Fixme :We should query the VAConfigAttribEncMaxRefFrames
6515           instead of blindly disabling b-frame support and set b/p frame count,
6516           buffer pool size etc based on the query result.
6517           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6518
6519 2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6520
6521         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6522         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6523           encoder: h264 : Use "tune=low-power" for enabling lowpower encode
6524           Remove the duplicate property "low-power-enc" and use the
6525           tune property for enabling low power encoding mode.
6526           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6527
6528 2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6529
6530         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6531           gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
6532           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6533
6534 2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6535
6536         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6537         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6538         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6539           encoder: h264: Add support of low power/high performance encoding mode
6540           Added a new property "low-power-enc" for enabling low power
6541           encoding mode. Certain encoding tools may not be available
6542           with the VAEntrypointEncSliceLP.
6543           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6544
6545 2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6546
6547         * gst-libs/gst/vaapi/gstvaapitypes.h:
6548         * gst-libs/gst/vaapi/gstvaapiutils.c:
6549         * gst-libs/gst/vaapi/gstvaapivalue.c:
6550           Add mapping for Macroblock level rate control (VA_RC_MB)
6551
6552 2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6553
6554         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6555           gstvaapidisplay: Add VAEntrypointEncSliceLP support
6556           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6557
6558 2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6559
6560         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6561         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6562           gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
6563           This is for implementations that supports low_power/high_performance
6564           variant for slice level encode.
6565           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6566
6567 2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6568
6569         * gst/vaapi/gstvaapipostprocutil.c:
6570           vaapipostproc: negotiate frame size fixation
6571           Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
6572           using the sink caps, also it use the next capsfilter.
6573           This code is a shameless copy of gst_video_scale_fixate_caps() from
6574           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
6575           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6576
6577 2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
6578
6579         * gst/vaapi/gstvaapipostprocutil.c:
6580           vaapipostproc: don't use GstVideoInfo for src caps
6581           Instead of using gst_video_info_to_caps () to generated the fixed src caps,
6582           this patch enables the first step for caps negotiation with a possible
6583           following caps filter.
6584           _get_preferred_caps() will traverse the possible src caps looking for the one
6585           wit the preferred feature and the preferred color format. Then the color
6586           format, the frame size and the frame rate are fixated.
6587           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6588
6589 2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6590
6591         * gst/vaapi/gstvaapipostproc.c:
6592         * gst/vaapi/gstvaapipostprocutil.c:
6593         * gst/vaapi/gstvaapipostprocutil.h:
6594           vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
6595           Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
6596           No functional changes.
6597           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6598
6599 2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6600
6601         * gst/vaapi/gstvaapipostproc.c:
6602           vaapipostproc: simplify code
6603           Change a convoluted snippet to find the preferred color format in the peer
6604           caps.
6605           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6606
6607 2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6608
6609         * gst/vaapi/gstvaapipostproc.c:
6610           vaapipostproc: use othercaps for preferred caps
6611           Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
6612           from fixate_caps() vmethod to find the preferred caps feature and color
6613           format.
6614           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6615
6616 2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
6617
6618         * gst/vaapi/gstvaapipostproc.c:
6619           vaapipostproc: add fixate_caps() vmethod
6620           Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
6621           implements the fixate_caps() vmethod and moves code around.
6622           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6623
6624 2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6625
6626         * gst/vaapi/Makefile.am:
6627         * gst/vaapi/gstvaapipostproc.c:
6628         * gst/vaapi/gstvaapipostprocutil.c:
6629         * gst/vaapi/gstvaapipostprocutil.h:
6630           vaapipostproc: set early properties restrictions
6631           When running transform_caps() vmethod, returning the srcpad caps, the caps are
6632           early restricted to the element properties set: width, height, format and
6633           force keep aspect.
6634           A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
6635           are stored.
6636           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6637
6638 2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6639
6640         * gst/vaapi/gstvaapipostproc.c:
6641           vaapipostproc: log the caps transformation
6642           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6643
6644 2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6645
6646         * gst/vaapi/gstvaapipostproc.c:
6647           vaapipostproc: no GLTextureUpload in sinkpad
6648           As the vaapipostproc does not process frames with the VideoGLTextureUpload
6649           meta, the feature is removed from the sink pad template.
6650           https://bugzilla.gnome.org/show_bug.cgi?id=765931
6651
6652 2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
6653
6654         * gst/vaapi/gstvaapivideobufferpool.c:
6655           vaapibufferpool: do not create texture upload meta if dmabuf
6656           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6657
6658 2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6659
6660         * git.mk:
6661           build: update git.mk
6662
6663 2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6664
6665         * gst/vaapi/gstvaapipluginbase.h:
6666           plugin: fix macro processor check
6667           Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
6668           defined in config.h, but it would be 0 or 1 depending on the configure output.
6669           https://bugzilla.gnome.org/show_bug.cgi?id=765702
6670
6671 2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6672
6673         * tests/test-display.c:
6674           tests: display: guard possible unused variables
6675           https://bugzilla.gnome.org/show_bug.cgi?id=765702
6676
6677 2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6678
6679         * tests/codec.c:
6680         * tests/decoder.c:
6681         * tests/image.c:
6682         * tests/output.c:
6683         * tests/simple-decoder.c:
6684         * tests/test-decode.c:
6685         * tests/test-display.c:
6686         * tests/test-filter.c:
6687         * tests/test-h264.c:
6688         * tests/test-jpeg.c:
6689         * tests/test-mpeg2.c:
6690         * tests/test-mpeg4.c:
6691         * tests/test-subpicture-data.c:
6692         * tests/test-subpicture.c:
6693         * tests/test-surfaces.c:
6694         * tests/test-textures.c:
6695         * tests/test-vc1.c:
6696         * tests/test-windows.c:
6697           tests: inforce gstreamer code-style
6698
6699 2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6700
6701         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6702           encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
6703           It seems driver requires enablement of cu_qp_delta_enabled_flag
6704           for modifying QP values to controll the CBR mode bitrate.
6705           https://bugzilla.gnome.org/show_bug.cgi?id=749852
6706
6707 2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6708
6709         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6710           encoder: h265: Add CBR Encoding support
6711           https://bugzilla.gnome.org/show_bug.cgi?id=749852
6712
6713 2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
6714
6715         * gst-libs/gst/vaapi/gstvaapisurface.c:
6716           gstvaapisurface: explicitely clear TILING flag if dmabuf
6717           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6718
6719 2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
6720
6721         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6722           gstvaapisurface_drm: release image when done
6723           Otherwise intel-vaapi-driver will fail to process the exported surface because
6724           it will find it is currently derived, so considered as busy.
6725           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6726
6727 2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
6728
6729         * gst/vaapi/gstvaapipostproc.c:
6730           vaapipostproc: already have a surface proxy if dmabuf
6731           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6732
6733 2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
6734
6735         * gst/vaapi/gstvaapipostproc.c:
6736           various gst-indent
6737
6738 2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6739
6740         * gst/vaapi/gstvaapidecode.c:
6741         * gst/vaapi/gstvaapipluginbase.c:
6742         * gst/vaapi/gstvaapipluginbase.h:
6743           vaapidecode: search driver in whitelist
6744           If the backend driver vendor string is not in a white-list, and the
6745           environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
6746           change it state from NULL to READY, hence the auto-plug mechanism will look
6747           for another decoder.
6748           This patch assumes the GstContext has already being shared along the pipeline
6749           and the element has a valid GstVaapiDisplay instance.
6750           https://bugzilla.gnome.org/show_bug.cgi?id=764673
6751
6752 2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6753
6754         * gst/vaapi/gstvaapidecode.c:
6755         * gst/vaapi/gstvaapiencode.c:
6756         * gst/vaapi/gstvaapipluginbase.c:
6757         * gst/vaapi/gstvaapipluginbase.h:
6758         * gst/vaapi/gstvaapipostproc.c:
6759         * gst/vaapi/gstvaapisink.c:
6760           plugins: rework set_context() vmethod definition
6761           In bug 757598 was added the set_context() vmethod chain up in
6762           GstVaapiPluginBase. But it is buggy, since the parent_class address is
6763           assigned to the last element which called gst_vaapi_plugin_base_class_init().
6764           No error has shown up since none of the element's base classes redefined
6765           set_context() vmethod from GstElement, so always the correct function was
6766           called. Still this code is wrong and this patch make it right.
6767           Since set_context() is the same code, a macro is used to implement that code
6768           in all the gst-vaapi elements.
6769           https://bugzilla.gnome.org/show_bug.cgi?id=765368
6770
6771 2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6772
6773         * gst/vaapi/gstvaapipostproc.c:
6774           vaapipostproc: resize if negotiated and allocation caps are different
6775           Since commit 859a2b2, in vaapidecode, allocation query can be different from
6776           the negotiated caps.
6777           When connecting the vaapidecoder to the vaapipostprocessor, the last one will
6778           resize the frame to the negotiated, if and only if, some other parameter is
6779           activated to avoid the passthrough. If it is not, the surface won't be mapped
6780           into a image. If not, the image won't be resized and the output buffer would be
6781           mapped.
6782           This patch will break the passthrough if the allocation query is different
6783           from the negotiation caps, forcing the resizing.
6784           https://bugzilla.gnome.org/show_bug.cgi?id=765095
6785
6786 2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6787
6788         * gst/vaapi/gstvaapidecode.c:
6789           vaapidecode: improve code readability
6790           No functional changes.
6791
6792 2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6793
6794         * gst/vaapi/gstvaapidecode.c:
6795           vaapidecode: move GstCapsFeatures near to its use
6796           Move the handling of the GstCapsFeatures just after it is used, in order to
6797           avoid handling its memory.
6798
6799 2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6800
6801         * gst/vaapi/gstvaapidecode.c:
6802           vaapidecode: caps negotiation checks
6803           Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
6804           compiled with GL support.
6805
6806 2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6807
6808         * gst/vaapi/gstvaapidecode.c:
6809         * gst/vaapi/gstvaapipluginbase.c:
6810         * gst/vaapi/gstvaapipluginbase.h:
6811         * gst/vaapi/gstvaapipostproc.c:
6812           plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
6813
6814 2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6815
6816         * gst/vaapi/gstvaapidecode.c:
6817           vaapidecode: bail early if not caps in decide_allocation()
6818
6819 2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6820
6821         * gst/vaapi/gstvaapidecode.c:
6822         * gst/vaapi/gstvaapipluginbase.c:
6823         * gst/vaapi/gstvaapipluginutil.c:
6824         * gst/vaapi/gstvaapipluginutil.h:
6825         * gst/vaapi/gstvaapipostproc.c:
6826           plugin: use allowed caps filter from element
6827           Instead of using the srcpad template caps for filtering the peer caps, the
6828           function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
6829           for the element's allowed caps.
6830           With this modification, the vaapipostproc element simplifies a bit its code.
6831           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6832
6833 2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6834
6835         * gst/vaapi/gstvaapidecode.c:
6836         * gst/vaapi/gstvaapipluginbase.c:
6837         * gst/vaapi/gstvaapipluginutil.c:
6838         * gst/vaapi/gstvaapipluginutil.h:
6839         * gst/vaapi/gstvaapipostproc.c:
6840           plugin: remove function parameter
6841           The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
6842           saved if the out format is used for both: in and out. Thus the code is more
6843           readable.
6844           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6845
6846 2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6847
6848         * gst/vaapi/gstvaapidecode.c:
6849           vaapidecode: warns if driver will do color conversions
6850           If the downstream feature is system memory, the surface has to be mapped,
6851           hence a warning message is logged saying that the driver has to do color
6852           conversions. This might be troublesome because not all the color conversion
6853           combinations are supported by the VA-API drivers, and there is not a reliable
6854           way to know them before hand.
6855           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6856
6857 2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6858
6859         * gst/vaapi/gstvaapipluginutil.c:
6860           plugin: honour negotiated format
6861           Instead of setting the requested format by the caller, the function
6862           gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
6863           the negotiated format.
6864           A new helper function was added: gst_vaapi_find_preferred_format(), which,
6865           given the format list from the negotiated caps, will choose the best one, if
6866           possible, given the native format.
6867           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6868
6869 2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6870
6871         * gst/vaapi/gstvaapipluginutil.c:
6872           plugin: simplify caps feature selection
6873           This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
6874           Instead of intersecting custom caps to find the preferred feature, the peer
6875           caps are traversed in order to find the preferred feature, according to an
6876           ordered feature priority list.
6877           In the case of GLTextureUploadMeta, the colour format is computed using
6878           GstVideoInfo of the selected fixed caps.
6879           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6880
6881 2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6882
6883         * gst/vaapi/gstvaapidecode.c:
6884           vaapidecode: use macros for GstVideoInfo
6885           Instead of accessing directly to the members of the structure, use the macros.
6886
6887 2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6888
6889         * gst/vaapi/gstvaapidecode.c:
6890           vaapidecode: refactor is_display_resolution_changed()
6891           Make the comparisons more readable and simple.
6892           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6893
6894 2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6895
6896         * gst/vaapi/gstvaapidecode.c:
6897         * gst/vaapi/gstvaapidecode.h:
6898           vaapidecode: keep only display_{width,height}
6899           Instead of keeping the structure GstVideoInfo when we are using its width and
6900           height, we only keep these two guints.
6901           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6902
6903 2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6904
6905         * gst/vaapi/gstvaapidecode.c:
6906           vaapidecode: decoded_info is valid at src caps update
6907           As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
6908           is called, then we don't need to verify or replace it with the sinkpad info
6909           (reference state).
6910           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6911
6912 2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6913
6914         * gst/vaapi/gstvaapidecode.c:
6915           vaapidecode: always a valid format in decoded_info
6916           Always set a valid format in decoded_info class variable.
6917           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6918
6919 2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6920
6921         * gst/vaapi/gstvaapidecode.c:
6922           vaapidecode: code style fixes
6923           No functional changes.
6924           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6925
6926 2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6927
6928         * gst/vaapi/gstvaapidecode.c:
6929           vaapidecode: init {decoded,display}_info at open()
6930           It is required to initialize {decoded,display}_info variables when the decoder
6931           is open, not only at instance initialization.
6932           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6933
6934 2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6935
6936         * gst/vaapi/gstvaapidecode.c:
6937         * gst/vaapi/gstvaapidecode.h:
6938           vaapidecode: remove spurious class variables
6939           active, do_pool_renego and do_outstate_renego class variables were used to
6940           indicate when negotiate downstream once, but now that each time a new surface
6941           resolution is pop out a renegotation verified, these variable are not required
6942           anymore.
6943           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6944
6945 2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6946
6947         * gst/vaapi/gstvaapidecode.c:
6948         * gst/vaapi/gstvaapipluginbase.c:
6949         * gst/vaapi/gstvaapipluginbase.h:
6950         * gst/vaapi/gstvaapipostproc.c:
6951           remove custom allocation query
6952           When resolving bug 753914, a custom allocation query was added, overlapping
6953           the responsibilities of GstVideoDecoder.
6954           But with the merge of the patches from bug 764421 this overlapping was not
6955           required anymore. This patch restores this situation setting the
6956           allocation_caps in the GstVideoCodecState when needed.
6957           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6958
6959 2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
6960
6961         * common:
6962           Automatic update of common submodule
6963           From 6f2d209 to ac2f647
6964
6965 2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6966
6967         * gst/vaapi/gstvaapidecode.c:
6968         * gst/vaapi/gstvaapidecodebin.c:
6969         * gst/vaapi/gstvaapipostproc.c:
6970           plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
6971           The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
6972           their caps templates if they were not compiled either with GLX or EGL support.
6973
6974 2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6975
6976         * gst/vaapi/gstvaapipluginutil.c:
6977           plugins: fix compilation when EGL/GLX is disabled
6978           The compiler might complain of gst_vaapi_create_display_from_handle() being
6979           unused if both EGL and GLX are disabled. This patch avoid that compilation
6980           error.
6981
6982 2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
6983
6984         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
6985           libs: fix deleting a GstVaapiCodedBufferPool object
6986           Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
6987           Otherwise it is not called when the pool is destroyed and all objects
6988           referenced by the GstVaapiVideoPool are never released.
6989           https://bugzilla.gnome.org/show_bug.cgi?id=764993
6990
6991 2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6992
6993         * gst-libs/gst/vaapi/gstvaapisurface.c:
6994           surface: destroy derived image
6995           If gst_vaapi_image_new_with_image() fails, the created derived image should be
6996           destroyed, otherwise the surface cannot be processed because is being used.
6997           https://bugzilla.gnome.org/show_bug.cgi?id=764607
6998
6999 2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7000
7001         * gst/vaapi/gstvaapidecode.c:
7002           vaapidecode: add stop function
7003           Clear any status on the current stream:
7004           stored frames, caps and decoder configuration
7005           https://bugzilla.gnome.org/show_bug.cgi?id=763460
7006
7007 2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7008
7009         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7010           decoder: vp9: Align with the ABI changes in vp9 codecparser
7011           The subsampling_x, subsampling_y, bit_depth, color_space and color_range
7012           fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
7013           These fields are only present in keyframe or intra-only frame, no need to
7014           duplicate them for inter-frames.
7015           https://bugzilla.gnome.org/show_bug.cgi?id=764082
7016
7017 2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7018
7019         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7020           decoder: vp9 : Add 10bit decoding support (Profile2)
7021           https://bugzilla.gnome.org/show_bug.cgi?id=764082
7022
7023 2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7024
7025         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7026         * gst-libs/gst/vaapi/gstvaapiprofile.h:
7027           gstvaapiporfile: Add more VP9 profile definitions
7028           https://bugzilla.gnome.org/show_bug.cgi?id=764082
7029
7030 2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7031
7032         * Makefile.am:
7033         * configure.ac:
7034           build: possibility to disable tests
7035           The configuration option --disable-examples will disable the compilation of
7036           the sample apps in tests/ directory.
7037
7038 2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7039
7040         * gst/vaapi/gstvaapiencode_h264.c:
7041         * gst/vaapi/gstvaapiencode_h265.c:
7042         * gst/vaapi/gstvaapiencode_jpeg.c:
7043         * gst/vaapi/gstvaapiencode_mpeg2.c:
7044         * gst/vaapi/gstvaapiencode_vp8.c:
7045         * gst/vaapi/gstvaapipluginutil.h:
7046         * gst/vaapi/gstvaapisink.c:
7047           unify caps template for VAAPI encoders and decoders
7048           There is no difference in VAAPI surface caps between encoders and decoders.
7049           Thus, the patch makes a simplification by removing encoders specific caps and
7050           shares the same definition of VAAPI surfaces caps for all the elements.
7051
7052 2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7053
7054         * gst/vaapi/gstvaapidecode.c:
7055           vaapidecode: move gst_vaapidecode_negotiate() code
7056           With it we can remove a function declaration, making the code a bit
7057           more readable.
7058           https://bugzilla.gnome.org/show_bug.cgi?id=764316
7059
7060 2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7061
7062         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7063         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
7064         * gst/vaapi/gstvaapidecode.c:
7065           docs: generate vaapijpegdec documentation
7066           https://bugzilla.gnome.org/show_bug.cgi?id=764314
7067
7068 2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7069
7070         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7071           decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
7072           The array_completeness, reserved bit and num_nal_units fields
7073           in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
7074           but not for each occurance of similar headers.
7075           https://bugzilla.gnome.org/show_bug.cgi?id=764274
7076
7077 2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7078
7079         * gst-libs/gst/vaapi/video-format.c:
7080           video-format: Keep the HW order preference while mapping to GstVideoFormats
7081
7082 2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7083
7084         * gst/vaapi/gstvaapidecode.c:
7085         * gst/vaapi/gstvaapipluginbase.c:
7086         * gst/vaapi/gstvaapipluginutil.c:
7087         * gst/vaapi/gstvaapipluginutil.h:
7088         * gst/vaapi/gstvaapivideomemory.c:
7089           gst/vaapi: keep precedence for NV12 over I420
7090           Use NV12 as default "assumption" format all over.
7091           NV12 is the default high priority format used my most of the
7092           vaapi-drivers.
7093
7094 2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7095
7096         * gst/vaapi/gstvaapidecode.c:
7097           vaapidecode: Use video format derived from decoded surface as default src pad format
7098           Use the surface format derived from first decoded surface
7099           to negotiate the downstream video format capabilities.
7100           https://bugzilla.gnome.org/show_bug.cgi?id=759181
7101
7102 2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
7103
7104         * gst-libs/gst/vaapi/gstvaapiimage.c:
7105         * gst-libs/gst/vaapi/video-format.c:
7106         * gst/vaapi/gstvaapidecode.c:
7107         * gst/vaapi/gstvaapipluginutil.h:
7108         * gst/vaapi/gstvaapisink.c:
7109           Add P010 video format support
7110           The P010 video format is the native format used by the vaapi intel driver
7111           for HEVCMain10 decode . Add support for planes and images of this video format.
7112           https://bugzilla.gnome.org/show_bug.cgi?id=759181
7113
7114 2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
7115
7116         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
7117           libs: x11: allows 30-bit colour depth
7118           The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
7119           fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
7120           with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
7121           work as expected.
7122           https://bugzilla.gnome.org/show_bug.cgi?id=764256
7123
7124 2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7125
7126         * gst/vaapi/gstvaapivideometa_texture.c:
7127           gltextureupload: use an array for texture type
7128           Instead of using a single value for the texture type, use an array with 4
7129           elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
7130           overflow.
7131           https://bugzilla.gnome.org/show_bug.cgi?id=764231
7132
7133 2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7134
7135         * gst/vaapi/gstvaapidecode.c:
7136         * gst/vaapi/gstvaapipluginbase.c:
7137           vaapidecode: Fix decide_allocation handling
7138           Set the already configured pool in decide_allocation query
7139           in cases where pool renegotiation is not required.
7140           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7141
7142 2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7143
7144         * gst/vaapi/gstvaapidecode.c:
7145           vaapidecode: Derive and save the decoded surface format
7146           After the decoding of first frame, try to extract the exact
7147           decoded surface format using vaDeriveImage and keep this
7148           as the format in decoded_info.
7149           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7150
7151 2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7152
7153         * gst/vaapi/gstvaapidecode.c:
7154         * gst/vaapi/gstvaapidecode.h:
7155         * gst/vaapi/gstvaapipluginbase.c:
7156         * gst/vaapi/gstvaapipluginbase.h:
7157         * gst/vaapi/gstvaapipostproc.c:
7158           Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
7159           -- Maintaing decoded surface resoluton and actual display resoultion separately
7160           -- Before pushing every frames downstream, check for the requirement of pool negoation and
7161           output_state negotiation: This is needed to avoid multiple issuses with cropping,
7162           multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
7163           possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
7164           We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
7165           This is slight overhead, but safe enough. Optimization could be possible though.
7166           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7167
7168 2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7169
7170         * gst/vaapi/gstvaapidecode.c:
7171           vaapidecode: Delay the output format setting until we have a decoded surface
7172           This will help to consoidate the out caps negotiation to a single place,
7173           which will make the code simpler, allows to get the exact decoded format
7174           if needed and the selected chroma type too.
7175           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7176
7177 2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7178
7179         * gst/vaapi/gstvaapidecode.h:
7180           vaapidecode: GST_VAAPIDECODE macro is a cast
7181           This patch is the continuation of commit 1e1d3b1d because the function
7182           gst_vaapidecode_get_type() got undefined since then.
7183           Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
7184           structure. The rest of the GObject handling macros were deleted too.
7185
7186 2016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
7187
7188         * configure.ac:
7189           Back to development
7190
7191 === release 1.8.0 ===
7192
7193 2016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
7194
7195         * ChangeLog:
7196         * NEWS:
7197         * configure.ac:
7198         * gstreamer-vaapi.doap:
7199           Release 1.8.0
7200
7201 === release 1.7.91 ===
7202
7203 2016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
7204
7205         * ChangeLog:
7206         * NEWS:
7207         * configure.ac:
7208         * gstreamer-vaapi.doap:
7209           Release 1.7.91
7210
7211 2016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7212
7213         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7214           decoder: h265: Fix offset calculation in codec_data parsing
7215           https://bugzilla.gnome.org/show_bug.cgi?id=762922
7216
7217 2016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7218
7219         * gst/vaapi/gstvaapidecodebin.c:
7220           vaapidecodebin: don't handle jpeg decoding
7221           As JPEG decoder has been split and demoted, it cannot be handled by
7222           vaapidecodebin
7223           Added a fixme comment regarding the future removal of vaapidecode.
7224           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7225
7226 2016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7227
7228         * gst/vaapi/gstvaapidecode.c:
7229           vaapidecode: split out jpeg decoder
7230           Split, as a different element, the JPEG decoder.
7231           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7232
7233 2016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7234
7235         * gst/vaapi/gstvaapi.c:
7236         * gst/vaapi/gstvaapidecode.c:
7237         * gst/vaapi/gstvaapidecode.h:
7238           vaapidecode: register decoder with internal GType
7239           Don't expose the the vaapidecode GType, instead expose a function
7240           which will register element.
7241           This is the first step to split the decoder by codecs.
7242           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7243
7244 2016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7245
7246         * gst/vaapi/gstvaapidecode.c:
7247           vaapidecode: remove unused function declaration
7248           There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
7249           code-style of the other pre-declared functions.
7250
7251 2016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7252
7253         * docs/plugins/Makefile.am:
7254           build: git ignore gtkdoc generated files
7255
7256 2016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7257
7258         * m4/Makefile.am:
7259           build: handle git ignore in m4 directory
7260
7261 2016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7262
7263         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7264           vaapidecoder_h265: plug leak of h265 parsing info
7265           If something goes wrong while parsing, the info object is
7266           being leaked
7267           https://bugzilla.gnome.org/show_bug.cgi?id=763121
7268
7269 2016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7270
7271         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7272           vaapidecoder_h264: plug leak of h264 parsing info
7273           If something goes wrong while parsing, the info object is
7274           being leaked
7275           https://bugzilla.gnome.org/show_bug.cgi?id=763121
7276
7277 2016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
7278
7279         * gst/vaapi/gstvaapipluginutil.c:
7280           plugins: fix gstgl and vaapi memory leaks
7281           1\ Unref gl_display and gl_window as soon they are not needed.
7282           2\ Remove an unneeded display type check, since is handled by
7283           gst_vaapi_created_display_from_handle()
7284           3\ Unref vaapi's display if the display cannot be bind to a GL API.
7285           Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7286           https://bugzilla.gnome.org/show_bug.cgi?id=763354
7287
7288 2016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
7289
7290         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7291           vaapidisplay: Fix uninitialized value error for VA attribute
7292           https://bugzilla.gnome.org/show_bug.cgi?id=763362
7293
7294 2016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7295
7296         * gst/vaapi/gstvaapidecode.c:
7297         * gst/vaapi/gstvaapiencode.c:
7298           plugins: proxy information from downstream caps
7299           Propagate to upstream the downstream information, such as fps, par, etc.
7300           This will fix several "getcaps" critical warnings in gst-validate.
7301           https://bugzilla.gnome.org/show_bug.cgi?id=763300
7302
7303 2016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7304
7305         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7306           decoder: vp9: Assign values for profile and bit_depth from frame header
7307           bit_depth field has added only in VA-API 0.39.0, added version check.
7308
7309 2016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
7310
7311         * Makefile.am:
7312           build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
7313           https://bugzilla.gnome.org/show_bug.cgi?id=763067
7314
7315 === release 1.7.90 ===
7316
7317 2016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
7318
7319         * ChangeLog:
7320         * NEWS:
7321         * configure.ac:
7322         * gstreamer-vaapi.doap:
7323           Release 1.7.90
7324
7325 2016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
7326
7327         * configure.ac:
7328           configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
7329
7330 2016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7331
7332         * gst/vaapi/gstvaapidecode.c:
7333           vaapidecode: intersect with filter in getcaps()
7334           In commit 6034734d I forgot to add the caps filter intersection in the
7335           getcaps() vmethod generating a regression when a capsfilter is set in the
7336           pipeline.
7337           This commit adds the caps filter intersection.
7338
7339 2016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
7340
7341         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7342           Add memset to initialize value for VAEncSliceParameterBufferJPEG
7343           https://bugzilla.gnome.org/show_bug.cgi?id=762850
7344
7345 2016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
7346
7347         * common:
7348           Automatic update of common submodule
7349           From b64f03f to 6f2d209
7350
7351 2016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7352
7353         * Makefile.am:
7354         * configure.ac:
7355         * m4/Makefile.am:
7356           build: add m4 directory
7357           Instead of rely on the automatic creation of m4 directory by aclocal, we
7358           already control it. Later we could create our own m4 scripts in order to
7359           unclutter configure.ac
7360           https://bugzilla.gnome.org/show_bug.cgi?id=762528
7361
7362 2016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
7363
7364         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7365           decoder: hevc: Fill dependent slice segment headers while parsing
7366           Copy the data into the dependent slice segment header from the
7367           corresponding independent slice segment header during parsing.
7368           Previously the reference to the "previous" independent header was
7369           held through the parsing phase and then dereferenced during the
7370           decoding phase. This caused all dependent headers to be populated
7371           with the data of the AU's last independent header instead of the
7372           proper corresponding header.
7373           https://bugzilla.gnome.org/show_bug.cgi?id=762352
7374           Changes since v1:
7375           - Reworded commit message
7376
7377 2016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7378
7379         * gst/vaapi/gstvaapidecode.c:
7380           vaapidecode: use video decoder getcaps()
7381           The usage of getcaps() vmethod is preferred than to handle manually the sink's
7382           caps query.
7383           In order to avoid function declarations, this patch moves the class_init()
7384           method to the end of the file.
7385
7386 2016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7387
7388         * gst/vaapi/gstvaapipluginbase.c:
7389           plugins: remove deprecated code
7390           Since we are only supporting current GStreamer version, since 1.3
7391           gst_buffer_pool_config_add_option() checks if the option to add is
7392           already set. There is no need to do it ourselves.
7393
7394 2016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7395
7396         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7397           vaapidecoder_h265: fix parsing of NALU aligned data
7398           Don't assume the whole buffer is a single NAL, instead look for the
7399           next start code in case there are multiple NALs per buffer.
7400           https://bugzilla.gnome.org/show_bug.cgi?id=762328
7401
7402 2016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7403
7404         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7405           vaapidecoder_h264: fix parsing of NALU aligned data
7406           Don't assume the whole buffer is a single NAL, instead look for the
7407           next start code in case there are multiple NALs per buffer.
7408           https://bugzilla.gnome.org/show_bug.cgi?id=762328
7409
7410 2016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
7411
7412         * gst/vaapi/gstvaapisink.c:
7413           vaapisink: Fix event,pad,structure memory leaks
7414           https://bugzilla.gnome.org/show_bug.cgi?id=762229
7415
7416 2016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
7417
7418         * gst/vaapi/gstvaapipluginbase.c:
7419           Add icamerasrc as dmabuf capable peer element
7420           icamerasrc is another gstreamer plugin using to capture RAW
7421           frames from camera device. It is based on libcamhal library.
7422           There are some properties available to control icamera behavior.
7423           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
7424           Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
7425           https://bugzilla.gnome.org/show_bug.cgi?id=759481
7426           Fixme: This is the similar workaround we done for v4l2src.
7427           The workaround will be removed once we fix #755072
7428
7429 2016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
7430
7431         * gst/vaapi/gstvaapipluginbase.c:
7432           vaapipluginbase: Fix structure memory leak
7433           config structure is not being freed in all cases
7434           https://bugzilla.gnome.org/show_bug.cgi?id=762172
7435
7436 2016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
7437
7438         * gst/vaapi/gstvaapidecode.c:
7439           vaapidecode: Fix videocodec state memory leak
7440           When state is not NULL and either width/height of video info is 0, then state leaks
7441           https://bugzilla.gnome.org/show_bug.cgi?id=762173
7442
7443 2016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
7444
7445         * gst/vaapi/gstvaapisink.c:
7446           vaapisink: post message for application for unhandled keyboard/mouse events
7447           Makes (most) keyboard shortcuts work in gst-play-1.0 when
7448           the video window has focus.
7449
7450 2016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
7451
7452         * gst/vaapi/gstvaapidecode.c:
7453           vaapidecode: Fix capsfeature memory leak
7454           https://bugzilla.gnome.org/show_bug.cgi?id=762116
7455
7456 2016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
7457
7458         * gst/vaapi/gstvaapisink.c:
7459           vaapisink: Fix capsfeature memory leak
7460           caps feature allocated is not being freeing in some cases
7461           https://bugzilla.gnome.org/show_bug.cgi?id=762111
7462
7463 2016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
7464
7465         * configure.ac:
7466         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
7467         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7468         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7469         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7470         * gst-libs/gst/vaapi/gstvaapifilter.c:
7471         * gst/vaapi/gstvaapidecodebin.c:
7472         * gst/vaapi/gstvaapipluginutil.c:
7473           vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
7474
7475 2016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
7476
7477         * configure.ac:
7478           configure: Fix setting of extra compiler warning flags
7479
7480 2016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7481
7482         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
7483           libs: fix build error
7484           gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
7485           functions are used only when libva's API version is greater than 0.36.0
7486           This patch guards those functions completely rather than just their
7487           content. The patch is a continuation of commit 38f8fea4
7488           Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
7489           https://bugzilla.gnome.org/show_bug.cgi?id=762055
7490
7491 2016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
7492
7493         * tests/simple-encoder.c:
7494           tests: simple-encoder: fix build error
7495           argument mismatch of gsize with 'long unsigned int'
7496           https://bugzilla.gnome.org/show_bug.cgi?id=762055
7497
7498 2016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7499
7500         * gst/vaapi/gstvaapisink.c:
7501           vaapisink: Fix wrong caps advertising
7502           The get_caps() should only report the supported formats.
7503           https://bugzilla.gnome.org/show_bug.cgi?id=761147
7504
7505 2016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7506
7507         * common:
7508           Automatic update of common submodule
7509           From e97c9bb to b64f03f
7510
7511 2016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7512
7513         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7514         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
7515         * gst/vaapi/gstvaapi.c:
7516         * gst/vaapi/gstvaapiencode_h264.c:
7517         * gst/vaapi/gstvaapiencode_h265.c:
7518         * gst/vaapi/gstvaapiencode_jpeg.c:
7519         * gst/vaapi/gstvaapiencode_mpeg2.c:
7520         * gst/vaapi/gstvaapiencode_vp8.c:
7521           rename encoders to vaapi{codec}enc
7522           Trying to comply with GStreamer's element names, this patch renames the
7523           encoders using the name format vaapi{codec}enc.
7524           In this way, the plugin documentation is linked correctly.
7525           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7526
7527 2016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7528
7529         * configure.ac:
7530           Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
7531           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7532
7533 2016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7534
7535         * configure.ac:
7536           build: remove vp9 parser check
7537           Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
7538           the check of the parser, as we did for the others.
7539           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7540
7541 2016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7542
7543         * common:
7544         * configure.ac:
7545           Back to development
7546           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7547
7548 === release 1.6.0 ===
7549
7550 2016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7551
7552         * configure.ac:
7553           Release 1.6.0
7554
7555 2016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7556
7557         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7558         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7559         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7560           libs: fix compiler warnings
7561           After setting the release flags, the compiler warns about a couple
7562           initialized variables.
7563           Also marked a couple of set variables as unused, because they are only
7564           used for assertion.
7565           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7566
7567 2016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7568
7569         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7570         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
7571         * gst/vaapi/gstvaapidecode.c:
7572         * gst/vaapi/gstvaapidecodebin.c:
7573         * gst/vaapi/gstvaapiencode_h264.c:
7574         * gst/vaapi/gstvaapiencode_h265.c:
7575         * gst/vaapi/gstvaapiencode_jpeg.c:
7576         * gst/vaapi/gstvaapiencode_mpeg2.c:
7577         * gst/vaapi/gstvaapiencode_vp8.c:
7578         * gst/vaapi/gstvaapipostproc.c:
7579         * gst/vaapi/gstvaapisink.c:
7580           docs: update plugin documentation
7581           Update all the documentation of elements of the vaapi plugin.
7582           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7583
7584 2016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7585
7586         * Makefile.am:
7587         * configure.ac:
7588         * docs/Makefile.am:
7589         * docs/plugins/Makefile.am:
7590         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7591         * docs/plugins/gstreamer-vaapi-plugins.types:
7592         * docs/reference/Makefile.am:
7593         * docs/reference/plugins/Makefile.am:
7594         * docs/reference/plugins/plugins-sections.txt:
7595         * docs/reference/plugins/plugins.types:
7596         * docs/version.entities.in:
7597           resurrect gtk-doc machinery
7598           Our auto-generated documentation has been a bit neglected. This patch replaces
7599           the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
7600           plugins, elements and libraries.
7601           This patch also re-enables documentation generation.
7602           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7603
7604 2016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7605
7606         * ChangeLog:
7607         * Makefile.am:
7608         * autogen.sh:
7609         * configure.ac:
7610           use gst-common submodule
7611           This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
7612           GStreamer common submodule.
7613           The documentation generation has been disable temporarily since it needs a
7614           major rework, which will be done in the following commit.
7615           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7616
7617 2016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7618
7619         * .gitmodules:
7620         * common:
7621           add gst-common submodule
7622           Pointing to branch 1.6
7623           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7624
7625 2016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7626
7627         * gstreamer-vaapi.doap:
7628           add doap descriptor
7629           DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
7630           describe software projects, in particular free and open source software.
7631           The description is used in GStreamer as in many other open source projects.
7632           This patch adds the doap description of this project.
7633           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7634
7635 2016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7636
7637         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
7638         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7639         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
7640         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
7641         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7642         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
7643         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7644         * gst-libs/gst/vaapi/gstvaapiimage.c:
7645         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
7646         * gst-libs/gst/vaapi/gstvaapipixmap.c:
7647         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
7648         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7649         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
7650           libs: humongous code style fix
7651           As part of the upstreaming process of gstreamer-vaapi into the GStreamer
7652           umbrella, we need to comply with the project's code style. This meant to
7653           change a lot of code.
7654           It was decided to use a single massive patch to update the code style.
7655           I would like to apologize with the original developers of this code because of
7656           the history breakage.
7657           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7658
7659 2016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7660
7661         * gst-libs/gst/vaapi/gstvaapicontext.c:
7662         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7663         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7664         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7665         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7666         * gst/vaapi/gstvaapivideomemory.c:
7667           libs: small refactors to enhance the code style
7668           As gst-indent generated ugly code in these cases, this patch changes the used
7669           idiomatic into other one.
7670           No functional changes were introduced.
7671           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7672
7673 2016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7674
7675         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
7676         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
7677         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
7678         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7679         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7680         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
7681         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7682         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7683         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7684         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7685         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7686         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
7687         * gst-libs/gst/vaapi/gstvaapifilter.c:
7688         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
7689         * gst-libs/gst/vaapi/gstvaapisurface.c:
7690         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
7691         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7692         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
7693         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
7694         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
7695         * gst-libs/gst/vaapi/gstvaapiwindow.c:
7696         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
7697           libs: small code style fixes
7698           This a set of small code style fixes detected as-is by gst-indent.
7699           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7700
7701 2016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7702
7703         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
7704         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7705         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
7706         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
7707         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7708         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
7709         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
7710         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
7711         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
7712           libs: trivial comment style fixes
7713           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7714
7715 2016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7716
7717         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
7718         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
7719           libs: avoid gst-indent mess up
7720           Guard pieces of code to avoid gst-ident to mess up the following code.
7721           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7722
7723 2016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7724
7725         * gst/vaapi/gstvaapidecode.c:
7726         * gst/vaapi/gstvaapidecodebin.c:
7727         * gst/vaapi/gstvaapipluginutil.c:
7728         * gst/vaapi/gstvaapisink.c:
7729         * gst/vaapi/gstvaapivideomemory.c:
7730           plugins: fix code style
7731           Minor code style changes by executing gst-indent in gst/vaapi directory.
7732           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7733
7734 2016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
7735
7736         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7737         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7738           Fix some more compiler warning
7739           Two (false) compiler warnings about variables potentially
7740           being used uninitialized, and one about a variable being
7741           set but not used.
7742           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7743
7744 2016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
7745
7746         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7747         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7748         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7749         * gst-libs/gst/vaapi/gstvaapifilter.c:
7750         * gst/vaapi/gstvaapidecode.c:
7751         * gst/vaapi/gstvaapipluginbase.c:
7752         * gst/vaapi/gstvaapipluginutil.c:
7753         * gst/vaapi/gstvaapipostproc.c:
7754         * tests/simple-encoder.c:
7755         * tests/test-filter.c:
7756           vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
7757           Declare variables at the beginning of a code block, which
7758           is how it's done in GStreamer.
7759           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7760
7761 2016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7762
7763         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7764           decoder: vp9: Fix crop rectangle setting
7765           Align with software vp9dec behaviour: Add crop rectangle
7766           only if display_width/display_height is less than the
7767           frame_hdr->width/frame_hdr->height
7768
7769 2016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7770
7771         * gst/vaapi/gstvaapidecode.c:
7772           vaapidecode: Fix renegotiation for resolution change
7773           Always renegotiate the pool if the immediate frame which going
7774           to be pushed has a different un-cropped resolution than the already
7775           configured one.
7776
7777 2016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7778
7779         * gst/vaapi/gstvaapipluginbase.h:
7780           plugins: use the same pre-processor macro
7781           In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
7782           code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
7783           HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
7784           We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
7785           in the header file.
7786           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7787
7788 2016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7789
7790         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7791           decoder: update a deprecated function
7792           Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
7793           deprecated since GStreamer 1.0.
7794           This patch replace it with gst_adapter_prev_pts()
7795           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7796
7797 2016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7798
7799         * configure.ac:
7800           build: honor configure's cache
7801           The user might enable --config-cache when calling configure script. If so, our
7802           configuration variables will not be correctly calculated.
7803           This patch extracts the value of our variables either from the cache or from
7804           the operation result.
7805           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7806
7807 2016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7808
7809         * configure.ac:
7810           build: use common version variables
7811           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7812
7813 2016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7814
7815         * configure.ac:
7816           build: hard-code an unneeded macro
7817           That macro is required for EGL's dynamic module loading, but since
7818           gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
7819           That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
7820           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7821
7822 2016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7823
7824         * configure.ac:
7825           build: refactorization of dependency tracking
7826           This patch tries to avoid branching in configure.ac using a more functional
7827           approach in macros usage.
7828           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7829
7830 2016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7831
7832         * configure.ac:
7833           build: check for OpenGL either GLX or EGL are requested
7834           Refactor some code in configure.ac to centralize $enable_opengl definition.
7835           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7836
7837 2016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7838
7839         * configure.ac:
7840           build: indent and add square braces
7841           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7842
7843 2016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7844
7845         * configure.ac:
7846           build: upgrade autotools version dependency
7847           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7848
7849 2016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7850
7851         * configure.ac:
7852           build: enhance string comparisons
7853           Add a 'x' as a prefix in string comparisons to watch out for edge cases where
7854           the string is empty or undefined.
7855           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7856
7857 2016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7858
7859         * configure.ac:
7860           build: remove unused variables
7861           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7862
7863 2016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7864
7865         * configure.ac:
7866           build: remove check for old version of gstreamer
7867           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7868
7869 2016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7870
7871         * configure.ac:
7872           build: remove GStreamer's parsers checks
7873           This patch removes almost all the parsers check since they are already in place,
7874           with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
7875           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7876
7877 2016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7878
7879         * configure.ac:
7880         * gst/vaapi/Makefile.am:
7881           build: add gstreamer-pbutils dependency
7882           This dependency was added in gstvaapidecodebin with the call
7883           gst_missing_element_message_new().
7884           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7885
7886 2016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7887
7888         * configure.ac:
7889           build: fix variable declaration
7890           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7891
7892 2016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7893
7894         * gst-libs/gst/vaapi/Makefile.am:
7895           build: fix when HEVC decoder is disabled
7896           This a very pathological situation: when we have a HEVC encoder but not a HEVC
7897           decoder.
7898           The encoder needs functions that are only available when the decoder is
7899           enabled.
7900           This patch moves the utils functions into the generic sources, such as the
7901           rest of the utils.
7902           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7903
7904 2016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7905
7906         * gst/vaapi/Makefile.am:
7907           build: remove unused EGL specific sources
7908           These Makefile variables are not used at all.
7909           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7910
7911 2016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7912
7913         * gst/vaapi/Makefile.am:
7914           build: remove check for GStreamer 1.2
7915           Since we are working for current stable GStreamer 1.6
7916           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7917
7918 2016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7919
7920         * gst/vaapi/gstvaapiparse.h:
7921           Remove more video parser crufts
7922           This header is not used anymore since it declares parsers that are
7923           already in GStreamer 1.6
7924           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7925
7926 2016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
7927
7928         * configure.ac:
7929         * docs/reference/Makefile.am:
7930         * docs/reference/libs/Makefile.am:
7931         * docs/reference/libs/libs-docs.xml.in:
7932         * docs/reference/libs/libs-overrides.txt:
7933         * docs/reference/libs/libs-sections.txt:
7934           docs: remove library documentation which is non-public now
7935           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7936
7937 2016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
7938
7939         * Makefile.am:
7940         * configure.ac:
7941         * debian.upstream/Makefile.am:
7942         * debian.upstream/changelog.in:
7943         * debian.upstream/compat:
7944         * debian.upstream/control.in:
7945         * debian.upstream/copyright:
7946         * debian.upstream/gstreamer-vaapi-doc.install.in:
7947         * debian.upstream/gstreamer-vaapi.install.in:
7948         * debian.upstream/rules:
7949           Remove debian.upstream packaging
7950           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7951
7952 2016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7953
7954         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7955         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7956         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
7957         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7958         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7959         * gst/vaapi/gstcompat.h:
7960         * gst/vaapi/gstvaapi.c:
7961         * gst/vaapi/gstvaapidecode.c:
7962         * gst/vaapi/gstvaapiencode.c:
7963         * gst/vaapi/gstvaapipluginbase.c:
7964         * gst/vaapi/gstvaapipluginbase.h:
7965         * gst/vaapi/gstvaapipluginutil.c:
7966         * gst/vaapi/gstvaapisink.c:
7967           Remove old gst version guards
7968           As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
7969           all the old GStreamer version guards.
7970           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7971
7972 2016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7973
7974         * gst/vaapi/gstvaapiparse.c:
7975           Remove video parser crufts
7976           We forgot to remove gstvaapiparse.c when we removed all the videoparser
7977           machinery.
7978           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7979
7980 2015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7981
7982         * docs/reference/libs/Makefile.am:
7983         * docs/reference/plugins/Makefile.am:
7984         * gst-libs/gst/vaapi/Makefile.am:
7985         * gst/vaapi/Makefile.am:
7986         * tests/Makefile.am:
7987           libs: remove versioning
7988           Since we don't install libraries anymore, it makes no sense to keep
7989           versioning them according to the gstreamer's version.
7990           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7991
7992 2015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7993
7994         * configure.ac:
7995         * debian.upstream/Makefile.am:
7996         * debian.upstream/control.in:
7997         * debian.upstream/libgstvaapi-dev.install.in:
7998         * debian.upstream/libgstvaapi-drm.install.in:
7999         * debian.upstream/libgstvaapi-glx.install.in:
8000         * debian.upstream/libgstvaapi-wayland.install.in:
8001         * debian.upstream/libgstvaapi-x11.install.in:
8002         * debian.upstream/libgstvaapi.install.in:
8003         * gst-libs/gst/vaapi/Makefile.am:
8004         * tests/Makefile.am:
8005           libs: make libraries no installables
8006           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8007
8008 2015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8009
8010         * debian.upstream/libgstvaapi-dev.install.in:
8011         * gst-libs/gst/vaapi/Makefile.am:
8012           Do not install libgstvaapi headers
8013           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8014
8015 2016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8016
8017         * Makefile.am:
8018         * configure.ac:
8019         * patches/Makefile.am:
8020         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
8021         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
8022         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
8023         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
8024         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
8025         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
8026         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
8027         * patches/videoparsers/Makefile.am:
8028         * patches/videoparsers/series.frag:
8029           Remove videoparser patches
8030
8031 2015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8032
8033         * Makefile.am:
8034         * configure.ac:
8035         * debian.upstream/libgstvaapi-dev.install.in:
8036         * pkgconfig/Makefile.am:
8037         * pkgconfig/gstreamer-vaapi-drm.pc.in:
8038         * pkgconfig/gstreamer-vaapi-glx.pc.in:
8039         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
8040         * pkgconfig/gstreamer-vaapi-x11.pc.in:
8041         * pkgconfig/gstreamer-vaapi.pc.in:
8042           Remove pkg-config files
8043           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8044
8045 2015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8046
8047         * .gitmodules:
8048         * Makefile.am:
8049         * configure.ac:
8050         * ext/Makefile.am:
8051         * ext/codecparsers:
8052         * gst-libs/gst/Makefile.am:
8053         * gst-libs/gst/codecparsers/Makefile.am:
8054         * gst-libs/gst/vaapi/Makefile.am:
8055         * gst/vaapi/Makefile.am:
8056           Remove codecparsers submodule
8057           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8058
8059 2015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8060
8061         * .gitmodules:
8062         * autogen.sh:
8063         * configure.ac:
8064         * debian.upstream/libgstvaapi.install.in:
8065         * ext/Makefile.am:
8066         * ext/libvpx/Makefile.am:
8067         * ext/libvpx/gstlibvpx.c:
8068         * ext/libvpx/gstlibvpx.h:
8069         * ext/libvpx/libgstcodecparsers_vpx.vers:
8070         * ext/libvpx/sources.frag:
8071         * ext/libvpx/upstream:
8072         * gst-libs/gst/codecparsers/Makefile.am:
8073         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
8074           Remove libvpx submodule
8075           We will be using upstream codecparsers always.
8076           No more internal libvpx !
8077
8078 2015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8079
8080         * configure.ac:
8081           build: fix check for GstJpegParser
8082           Right now the local JPEG parser is always compiled because the check for the
8083           upstreamed version is broken: it looks for an non existent symbol:
8084           GstJpegImage.
8085           This patch changes that check for< GstJpegFrameHdr.
8086           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8087
8088 2015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
8089
8090         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8091           wayland: free the frame in frame_release_callback()
8092           This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
8093           decouple wl_buffer from frame).
8094           Otherwise the frame may be overwritten while it is still used by the
8095           compositer:
8096           The frame done callback (frame_done_callback()) is called, when the
8097           compositor is done processing the frame and hands it to the hardware.
8098           The buffer release callback (frame_release_callback()) is called when the
8099           buffer memory is no longer used.
8100           This can be quite some time later: E.g. if weston (with the DRM backend)
8101           puts the buffer on a hardware plane, then then buffer release callback is
8102           called when the kernel is done with the buffer. This is usually when the
8103           next frame is shown, so most likely after the frame done callback for the
8104           next frame!
8105           Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
8106           destroy()" the mentioned possible leak should no longer be a problem, so
8107           reverting this change should cause no leaking buffers.
8108           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8109           https://bugzilla.gnome.org/show_bug.cgi?id=758848
8110           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8111
8112 2016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8113
8114         * gst/vaapi/gstvaapipostproc.c:
8115           vaapipostproc: check ANY caps at transform_caps()
8116           When transforming downstream caps we should check for ANY caps from peer pad,
8117           otherwise we get a segmentation fault.
8118           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8119           https://bugzilla.gnome.org/show_bug.cgi?id=759893
8120
8121 2016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8122
8123         * gst/vaapi/gstvaapisink.c:
8124           vaapisink: ignore frame if its upload failed
8125           When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
8126           into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
8127           ignored by the vaapisink, leading to a segmentation fault.
8128           This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
8129           returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
8130           segmentation fault, but doing and effort to continue rendering. This is
8131           the same behavior of ximagesink.
8132           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8133           https://bugzilla.gnome.org/show_bug.cgi?id=759332
8134
8135 2015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
8136
8137         * configure.ac:
8138           build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
8139           https://bugzilla.gnome.org/show_bug.cgi?id=759184
8140
8141 2015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8142
8143         * gst-libs/gst/vaapi/gstvaapicontext.c:
8144         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8145         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
8146         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
8147           Add 10 HEVC 10 bit decoding support
8148           Only supporting vaapidecode ! vaapisink combination for now.
8149           Missing dependencies:
8150           1: No support for P010 video format in GStreamer
8151           2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
8152           3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
8153           through GstVideoMeta.
8154           Right now we only set chroma format (YUV420 with more than 8 bits per channel)
8155           for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
8156           of the surfaces is implementation (driver) defined, which is P010.
8157
8158 2001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8159
8160         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
8161         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
8162           gstvaapisurfacepool: Add new API to create surface pool based on chroma type
8163           This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
8164           creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
8165           chroam type and dimensions. The underlying format of the surfaces is
8166           implementation (driver) defined.
8167
8168 2015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8169
8170         * gst-libs/gst/vaapi/gstvaapisurface.h:
8171         * gst-libs/gst/vaapi/gstvaapiutils.c:
8172           Add definitions for YUV420 with more than 8 bits per channel
8173
8174 2015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8175
8176         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8177           gstvaapiporfile: Fix string representation of HEVCMain10 profile
8178
8179 2015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8180
8181         * configure.ac:
8182           Bump version for development
8183
8184 === release 0.7.0 ===
8185
8186 2015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8187
8188         * configure.ac:
8189           0.7.0
8190
8191 2015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8192
8193         * NEWS:
8194           NEWS: Updates
8195
8196 2015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8197
8198         * AUTHORS:
8199           AUTHORS: Update
8200
8201 2015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8202
8203         * README:
8204           README: Update
8205
8206 2015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8207
8208         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
8209           texture: detect GL version and use the proper API
8210           When receiving the texture from the application or the video sink, we must
8211           know it size and border. To query the texture the API has changed according to
8212           the OpenGL version used in the GL context of the application/vsink.
8213           This patch checks the current context API type and queries the texture
8214           according to this detected API.
8215           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8216           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8217
8218 2015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8219
8220         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
8221           texture: check for expected target and format
8222           gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
8223           formats GL_RGBA or GL_BGRA.
8224           This patch adds a debugging verification of those values.
8225           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8226           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8227
8228 2015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8229
8230         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
8231         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8232           libs: add gl3_bind_texture_2d()
8233           Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
8234           needed. In particular, the Intel's Mesa implementation complains if it is
8235           called.
8236           This patch add a new binding function for 2D textures, without enabling
8237           gl3_bind_texture_2d()[2].
8238           1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
8239           2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
8240           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8241           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8242
8243 2015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8244
8245         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
8246         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8247           libs: add gl_get_current_api()
8248           In order to know which OpenGL API use, we must detect the API type of current
8249           context. This patch adds the function gl_get_current_api() which returns the
8250           OpenGL API type.
8251           This function is an adaptation of gst_gl_context_get_current_gl_api() from
8252           GstGL.
8253           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8254           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8255
8256 2015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8257
8258         * configure.ac:
8259         * gst-libs/gst/vaapi/Makefile.am:
8260           build: Add gmodule dependency for libgstvaapi_egl
8261           https://bugzilla.gnome.org/show_bug.cgi?id=756259
8262
8263 2015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8264
8265         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
8266         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
8267         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
8268         * patches/videoparsers/series.frag:
8269           patches/videoparsers: h264: Disable passthorugh mode enabling
8270           This is a quick fix for regression introduced by the upstream
8271           commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
8272           The patch is disabling the passthrough mode, otherwise it will
8273           break multi-layer mvc stream parsing.
8274           https://bugzilla.gnome.org/show_bug.cgi?id=758656
8275
8276 2015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8277
8278         * gst/vaapi/Makefile.am:
8279         * patches/videoparsers/Makefile.am:
8280         * patches/videoparsers/series.frag:
8281           build: add gsth265parse patches conditionally
8282           As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
8283           GStreamer 1.2, the patching of gsth265parse must be conditional to the target
8284           GStreamer version.
8285           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8286           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8287
8288 2015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8289
8290         * gst/vaapi/Makefile.am:
8291           build: declare correctly parse lib built files
8292           This is a continuation of commit fc8a0d12
8293           When declaring BUILT_SOURCES, those files should not be distributed. This
8294           patch avoids the distribution of the generated source code.
8295           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8296           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8297
8298 2015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8299
8300         * ext/libvpx/sources.frag:
8301           build: libvpx: Add missing source file
8302
8303 2015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8304
8305         * gst/vaapi/gstvaapipostproc.c:
8306           vaapipostproc: Correctly detect the caps change
8307           This is a quick fix for regression introuduced by the
8308           commit 757833230bc73b8e3b4e31649e4618ba802bea51
8309           With out this, the gst_vaapipostproc_create() will
8310           never get invoked.
8311           https://bugzilla.gnome.org/show_bug.cgi?id=758543
8312
8313 2015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8314
8315         * ext/libvpx/Makefile.am:
8316         * ext/libvpx/sources.frag:
8317           build: libvpx: update the sources lists
8318           `make dist` broke since commit f06798 (libvpx: Update the submodule to
8319           libvpx-1.4.0) because the sources.frag does not contain all the module
8320           sources.
8321           This patch updates thoroughly the sources.
8322           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8323           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8324
8325 2015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8326
8327         * gst/vaapi/gstvaapipostproc.c:
8328           vaapipostproc: don't set caps change at first set
8329           When the source caps change, the filter is destroyed and recreated.
8330           Nonetheless, this happens every time the vaapipostproc starts, since the caps
8331           change detection algorithm does not take in consideration when the caps are
8332           set by first time.
8333           This patch intents to be an optimization, to avoid a useless filter
8334           destroy-creation cycle when the sources caps are set for first time.
8335           The new helper function video_info_update() is a refactorization to avoid
8336           duplicated code.
8337           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8338           https://bugzilla.gnome.org/show_bug.cgi?id=758007
8339
8340 2015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8341
8342         * gst/vaapi/gstvaapipostproc.c:
8343           vaapipostproc: params video_info_changed() callers
8344           The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
8345           swapped the the order. This didn't raise problems since the comparison of both
8346           structures were not affected by its semantics.
8347           But still it would be better to fix this to keep the coherence of the code.
8348           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8349           https://bugzilla.gnome.org/show_bug.cgi?id=758007
8350
8351 2015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8352
8353         * gst/vaapi/Makefile.am:
8354           build: declare real built files
8355           When runnig the `make dist` target from a clean tree, it fails because
8356           if could not find the copied files from codecparsers submodule.
8357           They weren't copied because they weren't declared as built sources.
8358           This patch removes the stamp mechanism and use the actual file list to copy
8359           as the built sources. Also it fixes the duplication of the parser files.
8360           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8361           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8362
8363 2015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8364
8365         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8366           decoder: vp9: Fix last/golden/altref frame index setting
8367           Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
8368           based on what ever reference frame indices encoded in frame header.
8369
8370 2015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8371
8372         * debian.upstream/rules:
8373           debian: remove custom parallel compilation
8374           In order to build a debian package with upstream source, the user should
8375           do
8376           ./autogen.sh
8377           cp -a debian.upstream debian
8378           debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
8379           The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
8380           way to make a parallel build (-j8 in this case).
8381           This commit removes the script in debian/rules that detects the number of
8382           cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
8383           official in debian.
8384           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8385           https://bugzilla.gnome.org/show_bug.cgi?id=754087
8386
8387 2015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8388
8389         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8390           decoder: vp9: Fix PTS calculation of cloned frames
8391
8392 2015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8393
8394         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8395           decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
8396           We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
8397           gstvaapidecoder base calss is reponsible for handling those frames later on.
8398           No need for explicit verification of frame header's show_frame in order to
8399           do picture outputing.
8400
8401 2015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8402
8403         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8404           decoder: vp9: Fix ref picture update while doing repeat frame
8405           Don't try to do frame decoding and reference picture update
8406           while receiving a vp9 frame having show_existing_frame flag
8407           set as TRUE.
8408
8409 2015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8410
8411         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8412           decoder: vp9: Add repeat-frame display handling
8413           If vp9 frame header come up with show_existing_frame flag set,
8414           we should duplicate the existing decoded frame as current frame to
8415           be displayed.
8416
8417 2015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8418
8419         * gst/vaapi/gstvaapidecodebin.c:
8420           vaapidecodebin: add me as element co-author
8421           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8422           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8423
8424 2015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8425
8426         * gst/vaapi/gstvaapidecodebin.c:
8427           vaapidecodebin: try to get display from decoder
8428           Rather than create a dummy display, if none has propagated as a context, we
8429           should try to get the one from vaapidecode.
8430           As the bin is already in READY state, the vaapidecode should be also in that
8431           state. That means that the contexts have been negotiated, and it should have
8432           already a display.
8433           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8434           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8435
8436 2015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8437
8438         * gst/vaapi/gstvaapidecodebin.c:
8439         * gst/vaapi/gstvaapidecodebin.h:
8440           vaapidecodebin: add postprocessor dynamically
8441           The former approach to left the bin unfinished has some problems: the context
8442           cannot be shared because the vaapidecode is unlinked in many cases, leading to
8443           creating a VADisplay twice.
8444           Initially the bin is fully functional, constructed as
8445           (-----------------------------------)
8446           |            vaapidecodebin         |
8447           |   (-------------)    (-------)    |
8448           |<--| vaapidecode |--->| queue |--->|
8449           |   (-------------)    (-------)    |
8450           (-----------------------------------)
8451           When the context is shared and the VADisplay has VPP capabilities, before
8452           changing to READY state, the bin is reconfigured dynamically, adding the
8453           vaapipostproc element afeter the queue:
8454           (--------------------------------------------------------)
8455           |                       vaapidecodebin                   |
8456           |   (-------------)    (-------)    (---------------)    |
8457           |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
8458           |   (-------------)    (-------)    (---------------)    |
8459           (--------------------------------------------------------)
8460           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8461           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8462
8463 2015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8464
8465         * gst/vaapi/gstvaapidecodebin.c:
8466           vaapidecodebin: delay the bin configuration
8467           Delay the bin configuration until changing to READY state. This is because we
8468           should add the vaapipostproc element until the vaapidecode has emitted the
8469           HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
8470           vaapipostproc.
8471           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8472           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8473
8474 2015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8475
8476         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8477           decoder: vp9: Add crop rectangle support.
8478           Set crop rectange if:
8479           There is display_width and display_height which is different from actual width/height
8480           or
8481           The changed resolution is less than the actual configured dimension of surfaces
8482
8483 2015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8484
8485         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8486           decoder: vp9: Fix the context and surface pool reset for multi resolution video
8487           Unlike other decoders, vp9 decoder doesn't need to reset the
8488           whole context and surfaces for each resolution change. Context
8489           reset only needed if resolution of any frame is greater than
8490           what actullay configured. There are streams where a bigger
8491           resolution set in ivf header or webm header but actual resolution
8492           of all frames are less. Also it is possible to have inter-prediction
8493           between these multi resolution frames.
8494
8495 2015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8496
8497         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8498           decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
8499           Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
8500           Preliminary fix for supproting multi resolution video decode.
8501
8502 2015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8503
8504         * gst/vaapi/gstvaapidecode.c:
8505           vaapidecode: Add comments for corner case fixes and fix couple of indentations.
8506
8507 2015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8508
8509         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8510           decoder: vp9: Set lossless flag from frame header
8511
8512 2015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8513
8514         * ext/codecparsers:
8515           codecparsers: Update to gst-vaapi-branch d9f25
8516           d9f2527: codecparsers: vp9: Set lossless flag in frame header
8517
8518 2015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8519
8520         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8521           libs: vp9: remove unused symbols
8522           clang complains about a couple variables and one label which were not
8523           used. This patch removes them.
8524           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8525           https://bugzilla.gnome.org/show_bug.cgi?id=757958
8526
8527 2015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8528
8529         * ext/codecparsers:
8530           codecparsers: Update to gst-vaapi-branch da251bb
8531           da251bb: codecparsers: vp9: Optimize the memory allocation
8532           f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
8533
8534 2015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8535
8536         * gst/vaapi/gstvaapipluginbase.c:
8537         * gst/vaapi/gstvaapipluginbase.h:
8538           plugin: guard pointers to pad query functions
8539           Since gstreamer 1.4 is not required to have pad query functions if the query
8540           vmethods are used.
8541           This patch guards out the pad query functions for gstreamer < 1.4
8542           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8543           https://bugzilla.gnome.org/show_bug.cgi?id=757629
8544
8545 2015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8546
8547         * gst/vaapi/gstvaapiencode.c:
8548           vaapiencode: use pad query vmethods
8549           GstVideoEncoder, the base class of vaapiencode, added support for pad queries
8550           as virtual methods since gstreamer 1.4. This patch enables those vmethods,
8551           while keeps support for previous versions of gstreamer.
8552           This patch is relevant since GstVideoEncoder takes care of other queries that
8553           we are currently ignoring.
8554           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8555           https://bugzilla.gnome.org/show_bug.cgi?id=757629
8556
8557 2015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8558
8559         * gst/vaapi/gstvaapidecode.c:
8560           vaapidecode: return pad's template caps if no display
8561           A caps query can occur before the element has a display. In that case, the
8562           element can return its pad's template. But when the element already has a
8563           display, and the caps probe fails, the element shall return an empty caps, so
8564           the auto-plug could try with another decoder.
8565           If the element has a display and the caps probe works, then the computed caps
8566           should be returned.
8567           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8568           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8569
8570 2015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8571
8572         * gst/vaapi/gstvaapidecode.c:
8573         * gst/vaapi/gstvaapisink.c:
8574           plugins: don't create display at caps query
8575           Caps query can happen before the element has a bus. The display creation should
8576           be should occur on the context negotiation, when the bus is already configured.
8577           Then at caps query no display should be created.
8578           Instead of force the display creation, we graciously fail the allowed_caps()
8579           creation.
8580           This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
8581           basetransform descendant, seems to be not affected by this, nor the encoders.
8582           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8583           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8584
8585 2015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8586
8587         * gst/vaapi/gstvaapidecode.c:
8588         * gst/vaapi/gstvaapiencode.c:
8589         * gst/vaapi/gstvaapipluginutil.c:
8590         * gst/vaapi/gstvaapipluginutil.h:
8591         * gst/vaapi/gstvaapipostproc.c:
8592         * gst/vaapi/gstvaapisink.c:
8593           plugins: fix context query handling
8594           The current context query handling design is flawed: the function
8595           gst_vaapi_reply_to_query() returns FALSE either if the query is not a
8596           GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
8597           pad query function should handle differently each case.
8598           This patch changes the gst_vaapi_reply_to_query() for
8599           gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
8600           to match the correct context query handling.
8601           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8602           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8603
8604 2015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8605
8606         * gst/vaapi/gstvaapipluginutil.c:
8607           plugin: don't lose previous context at query
8608           When processing the GST_CONTEXT_QUERY we should not lose the previous
8609           context in the query, we should only add our display structure.
8610           This patch copies the old context, if it is there, and stamp our display on
8611           it. Otherwise, a new context is created.
8612           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8613           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8614
8615 2015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8616
8617         * gst/vaapi/gstvaapivideocontext.c:
8618         * gst/vaapi/gstvaapivideocontext.h:
8619           vaapivideocontext: add gst_vaapi_video_context_set_display()
8620           This function set the display to an already created context. This function is
8621           going to be used later.
8622           Also, gst_vaapi_video_context_new_with_display() now uses this function.
8623           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8624           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8625
8626 2015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8627
8628         * gst/vaapi/gstvaapipluginutil.c:
8629         * gst/vaapi/gstvaapivideocontext.c:
8630         * gst/vaapi/gstvaapivideocontext.h:
8631           plugins: check if display is set in sync
8632           Since the context messages are sync'ed, the display assignation happens in the
8633           same thread, hence we can know if the display was found or not as soon we call
8634           for it.
8635           In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
8636           as a new parameter, the address of the plugin's display, and reports back if
8637           the display was found and set.
8638           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8639           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8640
8641 2015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8642
8643         * gst/vaapi/gstvaapipluginutil.c:
8644         * gst/vaapi/gstvaapivideocontext.c:
8645           plugins: set display through context
8646           Instead of setting the display to the plugin directly after its creation, do
8647           it through the gstreamer's context mechanism, avoiding double assignations.
8648           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8649           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8650
8651 2015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8652
8653         * gst/vaapi/gstvaapivideocontext.c:
8654           vaapivideocontext: rename context structure
8655           The context structure is named "display" which is too generic. The contrary
8656           happens, for example, with GstGL, what uses the same name as the context, and
8657           its logs make more sense.
8658           This patch renames the context structure with the same name as the
8659           context, thus GST_PTR_FORMAT can pretty print it.
8660           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8661
8662 2015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8663
8664         * gst/vaapi/gstvaapivideocontext.c:
8665           vaapivideocontext: refactor gst_vaapi_video_context_prepare()
8666           First, refactorized run_context_query() into _gst_context_run_query(), adding
8667           a new parameter: the pad direction, in order to simplify the code.
8668           Second, added a new helper function: _gst_context_query(), which is a generic
8669           context query function.  It isolates the operation of running the query and
8670           sets the context if found, also it enhances the logs.
8671           _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
8672           future this helper function will be merged into the core libraries of
8673           GStreamer.
8674           Finally, gst_vaapi_video_context_prepare() was rewritten to use
8675           _gst_context_query().
8676           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8677           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8678
8679 2015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8680
8681         * gst/vaapi/gstvaapivideocontext.c:
8682           vaapivideocontext: refactor context category debug
8683           Refactor the extraction GST_CAT_CONTEXT logging using a only once
8684           initializator, so we could get the debug category from different code
8685           paths, safely.
8686           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8687           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8688
8689 2015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8690
8691         * gst/vaapi/gstvaapivideocontext.c:
8692           gstvaapivideocontext: fix indentation
8693           gst-indent does not handle correctly some expression like function
8694           declaration with attributes, breaking the following expressions.
8695           This patch makes gst-indent to ignore the attributed function
8696           declartion so the followed function definition is not mangled, such
8697           as happened in commit b4154a
8698           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8699           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8700
8701 2015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8702
8703         * gst/vaapi/gstvaapipluginbase.c:
8704           plugin: chain up set_context() vmethod
8705           Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
8706           the parent class in order to broadcast all its contexts when the element
8707           is added into a bin:
8708           http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
8709           There is no need to guard the call, because before GStreamer 1.7, the
8710           set_context() vmethod was NULL in the element class, hence the conditional
8711           call make it safe.
8712           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8713           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8714
8715 2015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8716
8717         * tests/simple-encoder.c:
8718           tests: simple-encoder: remove dead code
8719           The caps creation for codec state configuration is not used. Let's remove it.
8720           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8721
8722 2015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8723
8724         * gst/vaapi/gstvaapidecodebin.c:
8725           vaapidecodebin: fix a leaked display instance
8726           The display returned by gst_vaapi_video_context_get_display() increments the
8727           references. Thus, we have to unref the returned display.
8728           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8729           https://bugzilla.gnome.org/show_bug.cgi?id=757595
8730
8731 2015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8732
8733         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
8734         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8735           libs: remove unneeded headers
8736           Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
8737           required to include them in the header. It is not also required to include
8738           them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
8739           exposes their structures (e.g. GLXPixmap).
8740           Nonetheless, glext.h neither glxext.h are required to include, they are
8741           already included conditionally by gl.h and glx.h, respectively.
8742           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8743           https://bugzilla.gnome.org/show_bug.cgi?id=757577
8744
8745 2015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8746
8747         * ext/codecparsers:
8748           codecparsers: Update to gst-vaapi-branch 0ea6792
8749           0ea6792: codecparsers: vp9: Add header comments
8750           347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
8751
8752 2015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8753
8754         * gst/vaapi/gstvaapidecode.c:
8755           VP9: plugins: Add VP9 decoder
8756
8757 2015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8758
8759         * gst-libs/gst/vaapi/Makefile.am:
8760         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8761         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
8762           VP9: libgstvaapi: Add VP9 decoder
8763
8764 2015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8765
8766         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8767         * gst-libs/gst/vaapi/gstvaapiprofile.h:
8768           VP9: gstvaapiprofile: Add profile definitions
8769
8770 2015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8771
8772         * configure.ac:
8773           VP9: build: Check availability of vp9 decoder APIs
8774
8775 2015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8776
8777         * configure.ac:
8778         * ext/Makefile.am:
8779         * gst-libs/gst/codecparsers/Makefile.am:
8780           VP9: Allow building vp9 codecparser internally
8781
8782 2015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8783
8784         * ext/codecparsers:
8785           codecparsers: Update to gst-vaapi-branch commit ac5dc1a
8786           ac5dc1a: codecparsers: vp9: Add vp9 codec parser
8787           e7d9217: codecparser: h264: initialize parsing structures
8788           403d400: codecparser: h265: initialize parsing structures
8789
8790 2015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8791
8792         * configure.ac:
8793           configure.ac: don't use an undefined variable
8794           If the environment lacks of gstreamer development packages, this error will
8795           be reported to the user: "gstreamer- was not found"
8796           This is because we are using an undefined variable in the printed message. The
8797           fix simple changes the variable for the hard-coded string "1.0".
8798           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8799           https://bugzilla.gnome.org/show_bug.cgi?id=757283
8800
8801 2015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8802
8803         * gst/vaapi/gstvaapidecode.c:
8804           vaapidecode: relax guards for memory:VASurface capsfeature
8805           Though caps features are supported since GStreamer 1.2, there are some
8806           issues with the features caps negotiation in that version. Nonetheless,
8807           those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
8808           feature negotiation is relaxed for GStreamer 1.4.
8809           The guard is the same as in vaapisink's caps template.
8810           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8811           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8812
8813 2015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8814
8815         * gst/vaapi/gstvaapidecode.c:
8816           vaapidecode: decide allocation doesn't update srccaps
8817           The received caps query will bring the already negotiated caps, so they are
8818           not expected to change.
8819           This patch removes this verification which is dead code path.
8820           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8821           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8822
8823 2015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8824
8825         * gst/vaapi/gstvaapidecode.c:
8826         * gst/vaapi/gstvaapipluginutil.c:
8827         * gst/vaapi/gstvaapipluginutil.h:
8828           vaapidecode: use caps to check the features
8829           Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
8830           expensive, we check the caps from the allocation query, to check the
8831           negotiated feature.
8832           In order to do this verification a new utility function has been implemented:
8833           gst_vaapi_caps_feature_contains().
8834           As this new function shared its logic with gst_caps_has_vaapi_surface(), both
8835           have been refactorized.
8836           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8837           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8838
8839 2015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8840
8841         * gst/vaapi/gstvaapidecode.c:
8842           vaapidecode: set format before decide allocation
8843           There is a regression from commit 3d8e5e. It was expected the buffer pool
8844           allocation occur before the caps negotiation, but it is not.
8845           This patch fixes this regression: the caps negotiation is done regardless the
8846           allocation query from downstream.
8847           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8848           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8849
8850 2015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
8851
8852         * configure.ac:
8853           build: check for patch and fix yasm check
8854           Add configure checking for GNU patch tools and fixed configure
8855           checking YASM to correct sequence.
8856           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
8857           https://bugzilla.gnome.org/show_bug.cgi?id=756690
8858
8859 2015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8860
8861         * ext/libvpx/Makefile.am:
8862           build: Remove disable-md5 option for libvpx build
8863           The configure option --disable-md5 was provided in libvpx-1.3.0 which
8864           has been removed in 1.4.0.
8865
8866 2015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8867
8868         * ext/libvpx/upstream:
8869           libvpx: Update the submodule to libvpx-1.4.0
8870           libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
8871
8872 2015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8873
8874         * configure.ac:
8875           configure: mark support for GStreamer 1.2 as obsolete.
8876           Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
8877           Our goal is to support the last two stable versions of GStreamer which
8878           are 1.4 and 1.6 at the moment.
8879           We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
8880           release and will get rid of those in 0.8.
8881
8882 2015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8883
8884         * gst/vaapi/gstvaapidecode.c:
8885           vaapidecode: Fix buffer copy assertion
8886           Don't try to copy the NULL buffer-codec_data.
8887
8888 2015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8889
8890         * configure.ac:
8891           build: allow builds against GStreamer 1.7.x
8892           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8893
8894 2015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8895
8896         * gst/vaapi/gstcompat.h:
8897           gstcompat: add gst_buffer_copy_deep() if gst < 1.5
8898           gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
8899           add an implementation if gstreamer-vaapi is linked to previous versions.
8900           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8901
8902 2015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8903
8904         * gst/vaapi/gstvaapidecode.c:
8905           vaapidecode: simplify copy of GstVideoCodecState
8906           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8907
8908 2015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8909
8910         * patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
8911         * patches/videoparsers/series.frag:
8912           patches/videoparsers: h265parser: more API fences
8913           Add more API fences according with its version and refresh the patch.
8914           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8915           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8916
8917 2015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8918
8919         * patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
8920         * patches/videoparsers/series.frag:
8921           patches/videoparsers: h265parser: rename patch keeping number
8922           Refresh the patch and rename it in order to keep the patch number.
8923           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8924           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8925
8926 2015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8927
8928         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
8929           patches/videoparsers: h264parser: more API fences and refresh
8930           Add more API fences according with its version and refresh the patch.
8931           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8932           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8933
8934 2015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8935
8936         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
8937         * patches/videoparsers/series.frag:
8938           patches/videoparsers: h264parser: fix description and refresh
8939           Fix a typo in the patch description and refresh it in order to avoid the
8940           creation of .orig files and break the distcheck target.
8941           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8942           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8943
8944 2015-09-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8945
8946         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
8947         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
8948           patches/videoparsers: h264parser: refresh patches
8949           In order to avoid the creation of .orig files and break the distcheck target.
8950           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8951           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8952
8953 2015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8954
8955         * gst/vaapi/Makefile.am:
8956           build: link libgstvaapi_parse against codec parser
8957           GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
8958           when running configure.
8959           Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
8960           need it if builtin codec parsers are disabled.
8961           This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
8962           compilation. If builtin codec parsers are enable, this variable is null, so it
8963           should work using libgstvaapi, as normal.
8964           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8965           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8966
8967 2015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8968
8969         * configure.ac:
8970           build: verify for H264 MVC and H265 SPS
8971           Currently the H264 and H265 parsers look for MVC and SPS respectively, and
8972           the required symbols for those were added in GStreamer 1.5
8973           If we try to compile in GStreamer < 1.4, without enabling the builtin codec
8974           parsers, the compilation fails, because the lack of those symbols.
8975           This patch verifies if the installed H264 and H265 parsers have those symbols. If
8976           they do not, the specific built in codec parsers are enabled and used.
8977           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8978           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8979
8980 2015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8981
8982         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8983           decoder: h264: initialize PPS's slice_group_id
8984           When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
8985           so it contains random data.
8986           When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
8987           pointer uninitialized, leading to a segmentation fault when the memory is
8988           freed.
8989           This patch prevents this by initializing the slice_group_id before the PPS
8990           parsing.
8991           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8992           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8993
8994 2015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
8995
8996         * gst/vaapi/gstvaapidecode.c:
8997           vaapidecode: proper numerator and denominator for forced latency framerate
8998           https://bugzilla.gnome.org/show_bug.cgi?id=755040
8999
9000 2015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9001
9002         * ext/codecparsers:
9003           codecparsers: Update to gst-vaapi-branch commit f9e284b
9004           dae1a84: h264parse/h265parse: Fix negotiation crash
9005           45a9f8a: codecparsers: h265 : Fix default scaling list values
9006           28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
9007           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9008
9009 2015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9010
9011         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9012           decoder: hevc: Don't flush dpb for EOS/EOB nal
9013           Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
9014           the dpb_add() itself will handle the flusing(if needed) of dpb
9015           for end of sequence and end of bitstream.
9016           https://bugzilla.gnome.org/show_bug.cgi?id=754010
9017
9018 2015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9019
9020         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9021           decoder: hevc: Fix the dpb_add() based on C.5.2.3
9022           Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
9023           just after the PicLatencyCnt setting of existing dpb frames.
9024           https://bugzilla.gnome.org/show_bug.cgi?id=754010
9025
9026 2015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9027
9028         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9029           decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
9030           This fix is based on the V3 vesion of spec which was missing in older versions.
9031           When the current picture has PicOutputFlag equal to 1, for each picture in the
9032           DPB that is marked as "needed for output" and follows the current picture in output order,
9033           the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
9034           https://bugzilla.gnome.org/show_bug.cgi?id=754010
9035
9036 2015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9037
9038         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9039           decoder: h265: Fix indentation
9040
9041 2015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
9042
9043         * gst-libs/gst/vaapi/gstvaapidecoder.c:
9044         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9045         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
9046         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9047         * gst/vaapi/gstvaapidecode.c:
9048         * gst/vaapi/gstvaapipluginutil.c:
9049           multiview: initial attempt at stereo/multiview support
9050           Add support for marking caps and buffers for multiview or
9051           stereoscopic output.
9052           https://bugzilla.gnome.org/show_bug.cgi?id=750835
9053
9054 2015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9055
9056         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9057           decoder: hevc: remove unused functions
9058           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9059           https://bugzilla.gnome.org/show_bug.cgi?id=754250
9060
9061 2015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9062
9063         * gst/vaapi/gstvaapidecode.c:
9064           vaapidecode: remove (another) unused variable
9065           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9066
9067 2015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9068
9069         * gst/vaapi/gstvaapidecode.c:
9070           vaapidecode: remove unused variable
9071           Thus silence the compilation warnings.
9072
9073 2015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9074
9075         * gst/vaapi/gstvaapidecode.c:
9076           vaapidecode: compilation fix
9077           gst_vaapi_decoder_state_changed() returns void. This patch fixes the
9078           compilation where the toolchain uses restrictive flags as clang.
9079           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9080
9081 2015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9082
9083         * gst/vaapi/gstvaapidecode.c:
9084           vaapidecode: renegotiate if caps are not equal
9085           The use of gst_caps_is_always_compatible() for this optimization may lead to
9086           false positives. It is better to stick to gst_caps_is_strictly_equal() to know
9087           if it is required a re-negotiation.
9088           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9089           https://bugzilla.gnome.org/show_bug.cgi?id=750835
9090
9091 2015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9092
9093         * gst/vaapi/gstvaapidecode.c:
9094         * gst/vaapi/gstvaapidecode.h:
9095           vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
9096           Delaying the pool re-negotiation untill we push all decoded (and queued)
9097           frames downstream. Otherwise for the multi-resolution videos, the
9098           GstVideoVideoMemory will be having wrong resolution and which leads
9099           to nasty behaviours, especially when using software renderers.
9100           sample media file: RAP_B_Bossen_1.bin
9101           case explained:
9102           The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
9103           get the final resoultion 416x240.
9104           Starting from 25 th frame, the resolution will change to 416x240. But parser
9105           elements won't report this since the effective croped resolution is same in
9106           both cases. Here the core libgstvaapi will detect this through it's internal
9107           parsing and do all context/pool destory/reset stuffs. Also it will notify this
9108           change to plugins in advance. But if the plugin try to do re-negotiaion of pool
9109           immediately, this will not sync with the resolution of already decoded and queued
9110           frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
9111           software renderer). So we have to delay the pool renegotiation in vaapidecode,
9112           untill we push all decoded frames downstream.
9113           https://bugzilla.gnome.org/show_bug.cgi?id=753914
9114
9115 2015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9116
9117         * gst/vaapi/gstvaapidecode.c:
9118           vaapidecode: Always keep a copy of input codec state
9119           Currently we are sharing the input GstVideoCodecState with
9120           GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
9121           each caps change. This is troublesome in many cases, for eg: if
9122           resoultion changes with in a singe stream. Because, when ever there
9123           is a resolution change, GstVideoDecoder will first change the Codec_state->caps
9124           fields with new resolution, but since we are using the same codecstate (ref)
9125           in gstvaapidecode.c, the caps check for input caps change will always fail.
9126           https://bugzilla.gnome.org/show_bug.cgi?id=753914
9127
9128 2015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9129
9130         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9131           decoder: hevc: Fix the scaling list scan order
9132           The default scan order of scaling lists are up-right-diagonal
9133           as per hevc specification. Use the newly implemented
9134           uprightdiagonal_to_raster conversion codecparser APIs to
9135           get the the scaling_list values in raster order, which is
9136           what the VA intel driver requires.
9137
9138 2015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9139
9140         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9141           decoder: hevc: sync with the codecparser changes
9142           The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
9143           in codecparsers now. Remove the duplication from gstvaapidecoder_h265
9144
9145 2015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9146
9147         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9148           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
9149
9150 2015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9151
9152         * ext/codecparsers:
9153           codecparsers: Update to gst-vaapi-branch commit 69550f1
9154           c207c6d: codecparsers: h265: Fix tile row and column parsing
9155           47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
9156           cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
9157           1746bbe: videoparsers: Use gst_base_parse_merge_tags()
9158           2f0932b: h264parse: Clear SPS info after processing
9159           f57d6b0: videoparsers: enable accept-template flag
9160
9161 2015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9162
9163         * debian.upstream/control.in:
9164           debian: add yasm as build dependency
9165           As the compilation of libvpx (for vp8 parser) is enabled by default,
9166           yasm is required by default too.
9167           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9168
9169 2015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
9170
9171         * debian.upstream/rules:
9172           debian: remove --with-gstreamer-api option
9173           It is no longer valid in gstreamer-vaapi.
9174           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
9175           [removed unused GST_API_VERSION variable]
9176           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9177           https://bugzilla.gnome.org/show_bug.cgi?id=753618
9178
9179 2015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9180
9181         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9182           wayland: rename is_cancelled to sync_failed
9183           Since commit 065a18a3, the semantics of the variable is_cancelled did not make
9184           sense. This commit renames this variable to sync_failed.
9185
9186 2015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
9187
9188         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9189           wayland: Don't return GST_FLOW_ERROR on flushing
9190           Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
9191           return FALSE which makes gst_vaapi_window_wayland_render() return
9192           FALSE which ends up posting an ERROR message in
9193           gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
9194           in the EBUSY case.
9195           https://bugzilla.gnome.org/show_bug.cgi?id=753598
9196
9197 2015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9198
9199         * gst/vaapi/gstvaapi.c:
9200           Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
9201           This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
9202
9203 2015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9204
9205         * gst/vaapi/gstvaapidecodebin.c:
9206           vaapidecodebin: check for postproc instance
9207           If the VPP's deinterlace-method is set, first we should check if the postproc
9208           is already instanced to set it. Otherwise we just store it until the VPP is
9209           added into the bin.
9210           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9211           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9212
9213 2015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9214
9215         * gst/vaapi/gstvaapidecodebin.c:
9216         * gst/vaapi/gstvaapipluginutil.c:
9217         * gst/vaapi/gstvaapipluginutil.h:
9218           vaapidecodebin: ensure VPP before going to READY
9219           There are sometimes that the VA-API display context is not shared among the
9220           pipeline, but it is important to know it before going to READY state (when the
9221           pipeline is already linked).
9222           One instance of this case is this:
9223           gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
9224           This patch adds a new function in gstvaapipluginutil called
9225           gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
9226           display, which only will be used for verify if the VAEntrypointVideoProc is
9227           available by the hardware. Afterwards, it should be unrefed.
9228           If the vaapidecodebin is going to READY state, and the element still doesn't
9229           know if VPP is available, the last resort is to create a new instance of the
9230           VA-API display and test for it.
9231           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9232
9233 2015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9234
9235         * gst/vaapi/gstvaapidecodebin.c:
9236           vaapidecodebin: post an error message if fails
9237           If the construction of the bin fails, post an error message in the bus.
9238           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9239           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9240
9241 2015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9242
9243         * gst/vaapi/gstvaapidecodebin.c:
9244         * gst/vaapi/gstvaapidecodebin.h:
9245           vaapidecodebin: has_vpp as a tri-state variable
9246           has_vpp can be UNKNOWN while the context message hasn't being received.
9247           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9248           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9249
9250 2015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9251
9252         * gst/vaapi/gstvaapivideomemory.c:
9253           gstvaapivideomemory: native format with no derived image
9254           If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
9255           info based on the derived image configuration.
9256           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9257           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9258
9259 2015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9260
9261         * gst-libs/gst/vaapi/video-format.c:
9262         * gst-libs/gst/vaapi/video-format.h:
9263         * gst/vaapi/gstvaapivideomemory.c:
9264           surface pool config based on video info
9265           First added the function gst_vaapi_video_format_get_best_native(), which
9266           returns the best native format that matches a particular chroma type:
9267           YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
9268           RGB32 chroma and encoded format map to NV12 too.
9269           That format is used to configure, initially, the surface's pool for the
9270           allocator.
9271           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9272           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9273
9274 2015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9275
9276         * gst/vaapi/gstvaapivideomemory.c:
9277           gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
9278           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9279           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9280
9281 2015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
9282
9283         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9284           gstvaapiencoder: validate chroma according to the VA's RT format
9285           Before, only YUV420 color space where supported. With this patch, the
9286           encoder is queried to know the supported formats and admits YUV422
9287           color space if its available.
9288           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9289           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9290
9291 2015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9292
9293         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9294           decoder: hevc: Add calculation of WpOffsetHalfRangeC
9295           This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
9296           prediction weight table values with out using any hard coding.
9297           Fixme: We don't have parser API for sps_range_extension, so
9298           assumed zero value for high_precision_offsets_enabled_flag.
9299           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9300
9301 2015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9302
9303         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9304           decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
9305           Based on ITU-T rec H265(4/2015): 7-56
9306           This was a wrong equation in rec H265 (4/2013): 7-44...
9307           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9308
9309 2015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9310
9311         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9312           decoder: hevc: Fix default value assignment of pred_weight_table
9313
9314 2015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9315
9316         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9317           decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
9318           Assign only if ChromaArrayType != 0..
9319           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9320
9321 2015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9322
9323         * ext/codecparsers:
9324           codecparsers: Update to gst-vaapi-branch commit 1c70432
9325           8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
9326           839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
9327           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9328
9329 2015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9330
9331         * ext/codecparsers:
9332           codecparsers: Update to gst-vaapi-branch commit c18b8ad
9333           8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
9334           a033083: videoparsers: h265: Fix the frame start detection code
9335           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9336
9337 2015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9338
9339         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9340           decoder: hevc: Add SEI parsing
9341           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9342
9343 2015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9344
9345         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9346           decoder: hevc: Workaround to recognize wrongly encoded main profile streams
9347           HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
9348           There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
9349           have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
9350           has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
9351           is TRUE. Assuming them as MAIN profile for now.
9352           https://bugzilla.gnome.org/show_bug.cgi?id=753226
9353           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9354
9355 2015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9356
9357         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9358           patches/videoparsers: Fix the wrong source file path
9359           This is something wrongly typed in commit 6d7b631
9360
9361 2015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9362
9363         * ext/codecparsers:
9364           codecparsers: Update to gst-vaapi-branch commit b8d8be4
9365           ee7e81b: h264parse: Don't discard first AU delimiter
9366           3690fb9: h264parse: Add more NAL types for debugging output
9367           108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
9368           ace61048: h265parse: expose compatible profiles to downstream
9369           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9370
9371 2015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9372
9373         * gst/vaapi/gstvaapipluginutil.c:
9374         * gst/vaapi/gstvaapivideocontext.c:
9375         * gst/vaapi/gstvaapivideocontext.h:
9376           gstvaapivideocontext: remove unused parameter
9377           gst_vaapi_video_context_prepare() received an unused parameter. This patch
9378           removes it and the structure passed by the caller.
9379           This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
9380           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9381
9382 2015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9383
9384         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9385           decoder: hevc: Fix decoding of stream when it has temporal sublayers
9386           We are calculating the dpb size based on max_dec_pic_buffering.
9387           But if there are more than one temporal sublayers, we are supposed
9388           to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
9389           size calculation (Assuming HighestTid as max_sub_layers_minus).
9390           Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
9391           https://bugzilla.gnome.org/show_bug.cgi?id=753226
9392           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9393
9394 2015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9395
9396         * gst/vaapi/gstvaapidecode.c:
9397         * gst/vaapi/gstvaapidecodebin.c:
9398         * gst/vaapi/gstvaapiencode_h264.c:
9399         * gst/vaapi/gstvaapiencode_h265.c:
9400         * gst/vaapi/gstvaapiencode_jpeg.c:
9401         * gst/vaapi/gstvaapiencode_mpeg2.c:
9402         * gst/vaapi/gstvaapiencode_vp8.c:
9403         * gst/vaapi/gstvaapipluginutil.h:
9404         * gst/vaapi/gstvaapipostproc.c:
9405         * gst/vaapi/gstvaapisink.c:
9406           refactor vaapi caps strings for pad templates
9407           Refactor the main vaapi caps strings into three macros:
9408           GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
9409           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
9410           Those are in gstvaapipluginutil.h so all the elements could use them, instead
9411           of re-declaring them every time.
9412           No functional changes.
9413           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9414
9415 2015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9416
9417         * gst/vaapi/gstvaapipostproc.c:
9418           gstvaapipostproc: fix code style
9419           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9420
9421 2015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9422
9423         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9424           decoder: hevc: Fix the decoding of dependent slice segment
9425           Decoding process for reference picture list construction needs to be
9426           invoked only for P and B slice and the value for slice_type of dependent slice
9427           segment should be taken from the previous independent slice segment header
9428           of the same pic.
9429           https://bugzilla.gnome.org/show_bug.cgi?id=753226
9430           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9431
9432 2015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
9433
9434         * gst/vaapi/gstvaapipluginbase.c:
9435           plugins: reduce the noise of warnings
9436           Those messagse should be attached to the object, also the lack of
9437           caps is not an error, in particular in the case of JPEG encoding.
9438           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9439           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9440
9441 2015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9442
9443         * gst-libs/gst/vaapi/gstvaapicontext.c:
9444           gstvaapicontext: fix the JPEG encoder attribs value
9445           When we query for the VAConfigAttribEncJPEG, we get a value which packs the
9446           VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
9447           assigns the returned value to the attribute.
9448           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9449           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9450
9451 2015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
9452
9453         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9454           gstvaapiencoder: framerate 0/1 is valid too
9455           Framerate 0/1 is valid, and it is particularly useful for picture
9456           encoding, such as jpeg. This patch makes the encoder to admit that
9457           framerate.
9458           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9459           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9460
9461 2015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9462
9463         * gst/vaapi/gstvaapipostproc.c:
9464           vaapipostroc: GLTextureUploadMeta in sink template
9465           Advertise GLTextureUploadMeta in sink caps template.
9466           https://bugzilla.gnome.org/show_bug.cgi?id=752130
9467
9468 2015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9469
9470         * gst/vaapi/Makefile.am:
9471         * gst/vaapi/gstvaapiencode.c:
9472         * gst/vaapi/gstvaapipluginbase.c:
9473         * gst/vaapi/gstvaapipluginbase.h:
9474         * gst/vaapi/gstvaapipostproc.c:
9475         * gst/vaapi/gstvaapisink.c:
9476         * gst/vaapi/gstvaapiuploader.c:
9477         * gst/vaapi/gstvaapiuploader.h:
9478           remove gstvaapiuploader
9479           Working on bug #744042 I realized that the gstvaapiuploader is practically not
9480           used.
9481           This patch removes the gstvaapiuploader and add the method
9482           gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
9483           the system can handle, which is used by vaapisink and vaapipostproc.
9484           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9485           https://bugzilla.gnome.org/show_bug.cgi?id=752777
9486
9487 2015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9488
9489         * gst/vaapi/gstvaapidecode.c:
9490           vaapidecode: don't lost GLTextureUpload on seek
9491           When seeking, the decoder is reset, but the buffer pool is not
9492           re-negotiated, but in reset_full() the code forgets if the negotiated buffer
9493           pool has the GLTextureUpload meta.
9494           The decoder knows that GLTextureUpload meta was negotiated in
9495           decide_allocation(), but this method is not called when seeking.
9496           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9497           https://bugzilla.gnome.org/show_bug.cgi?id=752929
9498
9499 2015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9500
9501         * gst/vaapi/gstvaapipluginutil.c:
9502           plugins: don't use gst_pad_get_allowed_caps()
9503           gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
9504           decoders, that is OK, but in the case of the postproc might lead loops,
9505           since the gst_base_transform_query_caps() forwards the query upstream
9506           and forth.
9507           Instead of gst_pad_get_allowed_caps() we only query the peer with
9508           gst_pad_peer_query_caps() using the pad's template as filter.
9509           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9510           https://bugzilla.gnome.org/show_bug.cgi?id=752558
9511
9512 2015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9513
9514         * README:
9515           README: updates
9516
9517 2015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9518
9519         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
9520         * patches/videoparsers/series.frag:
9521           patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
9522           All API/ABI changes for S3D/MVC are added in 1.5, backporting
9523           them to older verison is not recommended.
9524           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9525
9526 2015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9527
9528         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9529           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
9530
9531 2015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9532
9533         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
9534           decoder: jpeg: Align with new API/ABI changes in codecparser
9535           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9536
9537 2015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9538
9539         * ext/codecparsers:
9540           codecparsers: Update to gst-vaapi-branch commit 800bdb2
9541           ed13220: mpegvideometa: add meta transform function
9542           18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
9543           7a51722: codecparsers: jpeg: fix docs for table parsing functions
9544           06b8ded: codecparsers: jpeg: fix validity checking of data parsed
9545           387a39d: codecparsers: jpeg: fix up API
9546           db9d6a9: codecparsers: jpeg: tweak API a little
9547           bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
9548           f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
9549           4658c30: codecparsers: jpeg: fix calculation of segment size
9550           759bcb9: codecparsers: jpeg: fix default Huffman tables generation
9551           b4811ee: codecparsers: jpeg: add JPEG bitstream parser
9552           9422464: h264parse: fix typo in log message
9553           9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
9554           77704ce: nalutils: trivial patch to check if
9555           8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
9556           7862f95: Revert "codecparsers: remove ignored increment of return"
9557           54017b1: h264parse: Add support for passing stereoscopic/multiview info
9558           8667ee4: h264parse: Don't switch to passthrough on set_caps()
9559           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9560
9561 2015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9562
9563         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9564           decoder: h264: track previous reference frames.
9565           Improve closure of gaps in frame_num by strictly following and trying
9566           to fill them with previous reference frames. So, they are now tracked
9567           thus avoiding insertion of dummy ("greenish") frames.
9568
9569 2015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9570
9571         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9572           decoder: h264: fix integration of second field into the DPB.
9573           If the new picture to be added to the DPB is not a first field, then
9574           it shall be the second field of the previous picture that was added
9575           before.
9576           This removes the need for dpb_find_picture() now that we track the
9577           immediately preceding decoded picture, in decode order.
9578
9579 2015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9580
9581         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9582           decoder: h264: fix closure of "other-field" gap.
9583           When a dummy "other-field" is inserted, it is assumed to inherit the
9584           reference flags from the first field, and the sliding window decoded
9585           reference picture marking process is also executed so that corrupted
9586           frames are moved out as early as possible.
9587           While doing so, we also try to output frames that now contain a single
9588           valid field picture, prior to inserting any other picture into the DPB.
9589           Note: this may be superfluous currently based on the fact that dpb_add()
9590           combines the two most recent pairable fields, but this process would be
9591           further simplified later on.
9592
9593 2015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9594
9595         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9596           decoder: h264: track corrupted frames.
9597           Mark the picture as "corrupted" if it is reconstructed from corrupted
9598           references or if those references are fake, e.g. resulting from lost
9599           frames.
9600           This is useful for notifying the upper layer, or downstream elements,
9601           that the decoded frame may contain artefacts.
9602           https://bugzilla.gnome.org/show_bug.cgi?id=703921
9603
9604 2015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9605
9606         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
9607         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
9608         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
9609         * gst/vaapi/gstvaapidecode.c:
9610           decoder: add initial infrastructure for marking corrupted output.
9611           Add initial infrastructure in core codec library and vaapidecode to mark
9612           corrupted frames as such. A corrupted frame is such a frame that was
9613           reconstructed from invalid references for instance.
9614           https://bugzilla.gnome.org/show_bug.cgi?id=751434
9615           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9616
9617 2015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9618
9619         * configure.ac:
9620           Bump version for development
9621
9622 === release 0.6.0 ===
9623
9624 2015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9625
9626         * configure.ac:
9627           0.6.0
9628
9629 2015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9630
9631         * NEWS:
9632           NEWS: updates
9633
9634 2015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9635
9636         * gst-libs/gst/vaapi/gstvaapiprofile.c:
9637           vaapidecoder: no wmv profiles gstreamer 1.4/1.2
9638           This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
9639           Right now there is not a primary ranked parser for vc1 and the demuxers
9640           delivers caps without specifying the profile. This situation is not an issue
9641           for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
9642           explicit profile defined in the negotiated caps.
9643           Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
9644           negotiation admits caps subsets try outs.
9645           This patch solves the issue ignoring the profile negotiation in the caps. For
9646           gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
9647           done without the vc1 parser, such as happens in gstreamer 1.5.
9648           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9649
9650 2015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9651
9652         * gst/vaapi/gstvaapi.c:
9653           Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
9654           Unfortunately vaapidecodebin element is not seems to be stable
9655           enough for autoplugging ahead of vaapidecode.
9656           Lowering the rank for now (cosidering the immediate 0.6 release).
9657           See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
9658           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9659
9660 2015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9661
9662         * gst-libs/gst/vaapi/Makefile.am:
9663           build: Add missing CFLAGS to Makefile.am
9664
9665 2015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9666
9667         * gst-libs/gst/vaapi/gstvaapifilter.c:
9668           gstvaapifilter: Only register STE property if it supported by corresponding VA library
9669           Fix the regression introduced in commit eb465fb.
9670           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
9671           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9672
9673 2015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9674
9675         * gst/vaapi/gstvaapipostproc.c:
9676           vaapipostproc: no format convert on GL tex upload meta
9677           When GL texture upload meta is negotiated, vaapipostproc shall not modify the
9678           color format of the buffer.
9679           https://bugzilla.gnome.org/show_bug.cgi?id=748184
9680
9681 2015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9682
9683         * gst-libs/gst/vaapi/gstvaapifilter.c:
9684           gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
9685           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
9686           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9687
9688 2015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9689
9690         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9691           encoder:h265: Fix the check for packed-header support
9692           Use VA_ENC_PACKED_HEADER_* definition for checking.
9693           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9694
9695 2015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9696
9697         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9698           encoder:h264: Fix the check for packed-header support
9699           Use VA_ENC_PACKED_HEADER_* definition for checking.
9700           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9701
9702 2015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9703
9704         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9705           encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
9706           One buffering_period() SEI message shall be present in every IDR access unit
9707           when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
9708           use a non-CQP mode, e.g. CBR. In other words, when
9709           nal_hrd_parameters_present_flag is set to 1.
9710           One picture_timing() SEI messages shall be present in every access unit
9711           if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
9712           https://bugzilla.gnome.org/show_bug.cgi?id=722734
9713           https://bugzilla.gnome.org/show_bug.cgi?id=751831
9714           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9715
9716 2015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9717
9718         * gst/vaapi/gstvaapidecodebin.c:
9719           vaapidecodebin: notify if vpp is disabled
9720           When the system is aware that VPP is not available by the VA driver,
9721           it would be useful to notify to the user that the disable-vpp property
9722           has changed.
9723           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9724
9725 2015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9726
9727         * gst/vaapi/gstvaapidecodebin.c:
9728         * gst/vaapi/gstvaapidecodebin.h:
9729           vaapidecodebin: enable vpp if it is available
9730           Instead of creating and adding VPP into the bin at setup, we wait until
9731           we are sure the VA driver supports it. We know that when the VA video
9732           context is received by the bin. Afterwards, it is decided to instanciate
9733           and link the VPP or not.
9734           This is more efficient and safer than waiting the VPP to fail and then
9735           disable it.
9736           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9737
9738 2015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9739
9740         * tests/test-display.c:
9741         * tests/test-windows.c:
9742           tests: Fix compilation while enabling egl as the only renderer in build
9743           Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
9744
9745 2015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9746
9747         * configure.ac:
9748           configure: fix the build while enabling egl as the only renderer
9749
9750 2015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9751
9752         * configure.ac:
9753           libs: Bump library major version
9754
9755 2015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9756
9757         * gst/vaapi/gstvaapi.c:
9758         * gst/vaapi/gstvaapidecodebin.c:
9759         * gst/vaapi/gstvaapiencode.c:
9760         * gst/vaapi/gstvaapiencode_jpeg.c:
9761         * gst/vaapi/gstvaapipluginbase.c:
9762         * gst/vaapi/gstvaapipluginutil.c:
9763         * gst/vaapi/gstvaapipostproc.c:
9764         * gst/vaapi/gstvaapivideobufferpool.c:
9765         * gst/vaapi/gstvaapivideocontext.c:
9766         * gst/vaapi/gstvaapivideomemory.c:
9767         * gst/vaapi/gstvaapivideometa.c:
9768           gst/vaapi: Switch to upstreram like indentation.
9769           gst-indent for all gst/vaapi/*.c source files
9770
9771 2015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9772
9773         * gst/vaapi/gstvaapidecodebin.c:
9774         * gst/vaapi/gstvaapidecodebin.h:
9775           vaapidecodebin: Add property to disable VPP
9776           Adding a new propery "disable-vpp", enabling it will prevent
9777           the insertion of vaapipostproc child element.
9778           This is helpful in debugging, specifically to narrow-down the
9779           vaapidecodebin/vaapipostproc related negotiation issues.
9780           No support for run-time disabling for now.
9781           https://bugzilla.gnome.org/show_bug.cgi?id=745901
9782
9783 2015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9784
9785         * gst/vaapi/gstvaapipostproc.c:
9786           vaapipostproc: Fix wrong selection of passthrough mode.
9787           The Current code path is falling back to passthorugh mode if there is no
9788           vpp property set by the user explictily. But we should not use the
9789           passthrough mode if the negotiated src pad caps have a differnt color space
9790           format than sink pad caps (Even though the user didn't set the format property
9791           explicitly).
9792           https://bugzilla.gnome.org/show_bug.cgi?id=748184
9793           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9794
9795 2015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9796
9797         * gst/vaapi/gstvaapipostproc.c:
9798           vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
9799           This is a workaround to deal with the va-intel-driver for non-native
9800           formats while doing advanced deinterlacing. The format of reference surfaces must
9801           be same as the format used by the driver internally for motion adaptive
9802           deinterlacing and motion compensated deinterlacing.
9803           A permanent solution could be to do the color space conversion internally
9804           for reference surfaces.
9805           https://bugzilla.gnome.org/show_bug.cgi?id=730925
9806           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9807
9808 2015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
9809
9810         * gst/vaapi/gstvaapisink.c:
9811           Work around ABBA deadlock between vaapisink and vaapipostproc
9812           vaapisink takes the display lock, then does a gst_buffer_replace which can
9813           take the lock on the gst_vaapi_video_pool.
9814           vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
9815           the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
9816           surfaces, which means that gst_vaapi_surface_create is
9817           called. gst_vaapi_surface_create takes the display lock.
9818           If vaapisink and vaapipostproc are in different threads, and this happens,
9819           you get a deadlock. vaapisink holds the display lock, and wants the
9820           gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
9821           and wants the display lock.
9822           Work around this by releasing the display lock in vaapisink around the
9823           gst_buffer_replace.
9824           https://bugzilla.gnome.org/show_bug.cgi?id=738249
9825           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
9826           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9827
9828 2015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
9829
9830         * gst/vaapi/gstvaapidecodebin.c:
9831         * gst/vaapi/gstvaapidecodebin.h:
9832           vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
9833           https://bugzilla.gnome.org/show_bug.cgi?id=745901
9834
9835 2015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9836
9837         * gst/vaapi/gstvaapipostproc.c:
9838           vaapipostproc: log negotiated caps
9839
9840 2015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9841
9842         * gst/vaapi/gstvaapipostproc.c:
9843           vaapipostproc: remove useless debug message
9844
9845 2015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9846
9847         * gst/vaapi/gstvaapidecode.c:
9848           vaapidecode: log negotiated src/sink caps
9849
9850 2015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9851
9852         * gst/vaapi/gstvaapisink.c:
9853           vaapisink: error handling if rendering fails
9854           This patch enhance the code path when an error is found when rendering a
9855           buffer.
9856           If the video meta doesn't contain a surface proxy or a surface, a warning
9857           message is printed.
9858           If the rendering backend fails, a error message is posted in the bus.
9859           https://bugzilla.gnome.org/show_bug.cgi?id=749382
9860
9861 2015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9862
9863         * gst/vaapi/gstvaapisink.c:
9864           vaapisink: Fix the conditional pad template creation.
9865
9866 2015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9867
9868         * tests/Makefile.am:
9869           build: Don't build simple-encoder test program if there is no VA Encoding support
9870           This will fix the build error against older VA-APIs <= 0.32
9871
9872 2015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9873
9874         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
9875         * gst-libs/gst/vaapi/gstvaapicompat.h:
9876           Fix build error for older VA-API versions
9877           Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
9878           VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
9879           VA >= 0.36.
9880
9881 2015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9882
9883         * gst/vaapi/gstvaapisink.c:
9884           vaapisink: Fix the capsfeature advertisement in padtemplate
9885           This fixes the regression introduced in 64acc74.
9886           If a pad supports multiple set of capsfeatures, it needs to add
9887           multiple equal structures with different feature sets to the caps.
9888           Because caps structures with the same name but with a non-equal
9889           set of caps features are not compatible.
9890           Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
9891           https://bugzilla.gnome.org/show_bug.cgi?id=750095
9892
9893 2015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
9894
9895         * gst/vaapi/gstvaapisink.c:
9896           vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
9897           https://bugzilla.gnome.org/show_bug.cgi?id=750095
9898           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9899           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9900
9901 2015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
9902
9903         * gst/vaapi/gstvaapipluginbase.c:
9904           vaapipluginbase: Override downstream allocation reply if no pool
9905           If the downstream replied without a pool, then override it.
9906           https://bugzilla.gnome.org/show_bug.cgi?id=748559
9907
9908 2015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9909
9910         * gst/vaapi/gstvaapipostproc.c:
9911         * gst/vaapi/gstvaapipostproc.h:
9912           vaapipostproc: add color balance interface
9913           https://bugzilla.gnome.org/show_bug.cgi?id=720376
9914
9915 2015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9916
9917         * gst-libs/gst/vaapi/gstvaapifilter.c:
9918         * gst-libs/gst/vaapi/gstvaapifilter.h:
9919         * gst/vaapi/gstvaapipostproc.c:
9920         * gst/vaapi/gstvaapipostproc.h:
9921           vaapipostproc: add skin tone enhancement
9922           Added the 'skin-tone-enhancement' property to vaapostproc.
9923           https://bugzilla.gnome.org/show_bug.cgi?id=744088
9924
9925 2015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9926
9927         * docs/reference/libs/libs-docs.xml.in:
9928           doc: add VA-API reference in freedesktop
9929
9930 2015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9931
9932         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
9933         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9934         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
9935           patches/videoparsers: rebase all the h264parse patches
9936           In order to avoid the creation of .orig files and break the distcheck target
9937
9938 2015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9939
9940         * ext/libvpx/Makefile.am:
9941           build: don't build in parallel libvpx
9942           This fixes the distcheck -j XX target.
9943
9944 2015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9945
9946         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9947           encoder: jpeg: Fix the packed header generation
9948           This is a work-around to satisfy the va-intel-driver.
9949           Normalize the quality factor and scale QM values (only for packed header
9950           generation) similar to what VA-Intel driver is doing . Otherwise the
9951           generated packed headers will be wrong, since the driver itself is
9952           scaling the QM values using the normalized quality factor.
9953           https://bugzilla.gnome.org/show_bug.cgi?id=748335
9954           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9955
9956 2015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9957
9958         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9959           decoder: h264: fix uninitialized variables in avcC mode.
9960           Fix uninitialized variables when decoding SPS and PPS NAL units from
9961           "codec-data" buffers. This is particularly important when seeking ops
9962           are involved, and the new persistent states are used more often.
9963           https://bugzilla.gnome.org/show_bug.cgi?id=750094
9964
9965 2015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9966
9967         * gst/vaapi/gstvaapidecode.c:
9968           vaapidecode: remove unneeded casting
9969           And a code-style fix
9970
9971 2015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9972
9973         * gst/vaapi/gstvaapidecode.c:
9974           vaapidecode: calculate decoding latency
9975           This is a naïve approach to the calculation of the VA-API decoding latency. It
9976           takes into consideration when the frame-rate has some insane value.
9977           https://bugzilla.gnome.org/show_bug.cgi?id=740419
9978
9979 2015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
9980
9981         * configure.ac:
9982           configure: Compiling against libgstgl requires libgstvideo
9983           Fix detection of the GstGL helper headers in uninstalled
9984           builds.
9985
9986 2015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9987
9988         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9989           encoder: hevc: Fix the size over-flow for encoded buffer.
9990           The approximation of 6 times compression ratio migh not
9991           work in all cases. Especially when enabling I frames.
9992           Provide large enough size for coded-buffer creation.
9993
9994 2015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9995
9996         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9997           encoder: vp8: Fix the size over-flow for encoded buffer.
9998           The approximation of 4 times compression ratio will not
9999           work in all cases. Especially when enabling I frames.
10000           Provide large enough size for coded-buffer creation.
10001
10002 2015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10003
10004         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10005           encoder: hevc:  fix bug in multi slice encoding.
10006           This is a work-around for satisfying the VA-Intel driver.
10007           The driver only support slices begin from CTU row start address.
10008           Multi-Slice encoding also requires a fix in va-intel-driver:
10009           http://lists.freedesktop.org/archives/libva/2015-May/003351.html
10010           https://bugzilla.gnome.org/show_bug.cgi?id=749854
10011           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10012
10013 2015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10014
10015         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10016           decoder: h264: add initial support for loss of pictures.
10017           Implement decoding process for gaps in frame_num (8.5.2). This
10018           also somewhat supports unintentional loss of pictures.
10019           https://bugzilla.gnome.org/show_bug.cgi?id=745048
10020           https://bugzilla.gnome.org/show_bug.cgi?id=703921
10021           Original-patch-by: Wind Yuan <feng.yuan@intel.com>
10022           [fixed derivation of POC, ensured clone is valid for reference,
10023           actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
10024           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10025
10026 2015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10027
10028         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10029           decoder: h264: add support for missing first field.
10030           Try to identify missing first fields too, thus disregarding any
10031           intermediate gaps in frames. We also assume that we keep the same
10032           field sequence, i.e. if previous frames were in top-field-first
10033           (TFF) order, then so are subsequent frames.
10034           Note that insertion of dummy first fields need to operate in two
10035           steps: (i) create the original first field that the current field
10036           will inherit from, and (ii) submit that field into the DPB prior
10037           to initializing the current (other) field POC values but after any
10038           reference flag was set. i.e. copy reference flags from the child
10039           (other field) to the parent (first field).
10040           https://bugzilla.gnome.org/show_bug.cgi?id=745048
10041
10042 2015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10043
10044         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10045           decoder: h264: add support for missing second field.
10046           Interlaced H.264 video frames always have two fields to decode and
10047           display. However, in some cases, e.g. packet loss, one of the field
10048           can be missing. This perturbs the reference picture marking process,
10049           whereby the number of references available in DPB no longer matches
10050           the expected value.
10051           This patch adds initial support for missing field within a decoded
10052           frame. The current strategy taken is to find out the nearest field,
10053           by POC value, and with the same parity.
10054           https://bugzilla.gnome.org/show_bug.cgi?id=745048
10055
10056 2015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10057
10058         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10059           decoder: h264: improve tracking of "top-field-first" flag.
10060           Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
10061           does not mandate it. This will be useful for tracking missing fields, and
10062           also for more correct _split_fields() implementation for frames in the DPB.
10063
10064 2015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10065
10066         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10067           decoder: h264: skip all pictures prior the first I-frame.
10068           Don't try to decode pictures until the first I-frame is received within
10069           the currently active sequence. There is no point is decoding and then
10070           displaying frames with artifacts.
10071
10072 2015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10073
10074         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10075           decoder: h264: fix processing of EOSEQ NAL.
10076           Fix decoding of end_of_seq() NAL unit so that to not submit the current
10077           picture for decoding again. This is pretty vintage code that dates back
10078           before the existing of the whole decoder units machinery.
10079           One issue that could be arising if that code was kept is that we could
10080           have submitted a picture, and subsequently a GstVideoCodec frame, twice.
10081           Once without the decode_only flag set, and once with that flag set. The
10082           end result is that the GstVideoDecoder would release the codec frame
10083           twice, thus releasing stale data.
10084           In short, the piece of code that is removed by this patch is for once
10085           completely obsolete for a while, and secondly error-prone in corner
10086           cases.
10087
10088 2013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
10089
10090         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10091         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10092         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
10093         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
10094           decoder: add utility function to clone picture objects.
10095           https://bugzilla.gnome.org/show_bug.cgi?id=703921
10096           Signed-off-by: Wind Yuan <feng.yuan@intel.com>
10097           [added cosmetic changes, fixed propagation of "one-field" flag to
10098           children, fixed per-codec clone modes (h264)]
10099           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10100
10101 2015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
10102
10103         * gst/vaapi/Makefile.am:
10104           build: don't compile HEVC encoder if not supported
10105           Fix:
10106           (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
10107           https://bugzilla.gnome.org/show_bug.cgi?id=749954
10108           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
10109           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10110
10111 2015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
10112
10113         * gst-libs/gst/vaapi/gstvaapicompat.h:
10114         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10115           HEVC: decode: add missing va_dec_hevc header
10116           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
10117           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10118           https://bugzilla.gnome.org/show_bug.cgi?id=749953
10119
10120 2015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10121
10122         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10123           mpeg2: fix PTS cache for GOP start.
10124           If the GOP temporal sequence number (TSN) is interpolated from a valid
10125           PTS, then we need to compensate that PTS corresponding to the start of
10126           GOP with the next picture to be decoded, which shall be an I-frame,
10127           based on its sequence number.
10128           https://bugzilla.gnome.org/show_bug.cgi?id=748676
10129
10130 2015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10131
10132         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10133           mpeg2: avoid crash when seeking with debug logs
10134           Move down the debug message when the state of the decoder is verified
10135           so the slice header is not NULL.
10136
10137 2014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
10138
10139         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10140           mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
10141           Reset state and add some checks for safe state to avoid a crash and
10142           a warning after the decoder is destroyed/recreated during a seek.
10143
10144 2015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10145
10146         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
10147         * patches/videoparsers/series.frag:
10148           patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
10149           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10150
10151 2015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10152
10153         * ext/codecparsers:
10154           codecparsers: Update to gst-vaapi-branch commit 20ee952
10155           b7dded3: h264parse: don't consider unknown stream-format as avc
10156           5110ad9: h264parse: fix up handling of input caps corner cases
10157           e51db3e: h264parse: Remove dead code
10158           3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
10159           8482957: h265parse: Fix profile, tier and level setting in caps
10160           4649acb: h265parse: Fix the memory freeing of stored VPS nals
10161           f2beeb7: h265parse: Fix source caps to report cropped dimensions
10162           6886a31: h264parse: Fix profile and level setting in caps
10163           5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
10164           eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
10165           53074fc: build: Upgrade GStreamer dependency to 1.0
10166           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10167
10168 2015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10169
10170         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10171           HEVC: decode: Replace clip3 implementation with glib CLAMP macro
10172           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10173
10174 2015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10175
10176         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10177           HEVC: decode: Update Cropping Rectangle
10178           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10179
10180 2015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10181
10182         * gst/vaapi/Makefile.am:
10183         * gst/vaapi/gstvaapi.c:
10184         * gst/vaapi/gstvaapiencode_h265.c:
10185         * gst/vaapi/gstvaapiencode_h265.h:
10186           HEVC_Encode: Add HEVC(h265) Encoder plugin
10187           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10188           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10189
10190 2015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10191
10192         * gst-libs/gst/vaapi/Makefile.am:
10193         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10194         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
10195           HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
10196           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10197           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10198
10199 2015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10200
10201         * configure.ac:
10202           HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
10203           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10204           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10205
10206 2015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10207
10208         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
10209         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
10210           gstvaapiutils_h265: Add H265 Tier specific utility functions
10211           -- New API: gst_vaapi_utils_h265_get_tier_from_string()
10212           -- New API: gst_vaapi_utils_h265_get_tier_string()
10213           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10214           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10215
10216 2015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10217
10218         * docs/reference/plugins/Makefile.am:
10219           doc: conditional linking for scanner
10220           Add x11 library only if it is enabled.
10221           https://bugzilla.gnome.org/show_bug.cgi?id=749018
10222
10223 2015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10224
10225         * docs/reference/plugins/plugins.types:
10226           doc: fix scanner compilation warning
10227           https://bugzilla.gnome.org/show_bug.cgi?id=749018
10228
10229 2015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10230
10231         * docs/reference/libs/libs-docs.xml.in:
10232         * docs/reference/libs/libs-sections.txt:
10233           doc: update sections and symbols
10234           https://bugzilla.gnome.org/show_bug.cgi?id=749018
10235
10236 2015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10237
10238         * .gitignore:
10239         * Makefile.am:
10240         * debian.upstream/Makefile.am:
10241         * docs/Makefile.am:
10242         * docs/reference/Makefile.am:
10243         * docs/reference/libs/Makefile.am:
10244         * docs/reference/plugins/Makefile.am:
10245         * ext/Makefile.am:
10246         * ext/libvpx/Makefile.am:
10247         * git.mk:
10248         * gst-libs/Makefile.am:
10249         * gst-libs/gst/Makefile.am:
10250         * gst-libs/gst/base/Makefile.am:
10251         * gst-libs/gst/codecparsers/Makefile.am:
10252         * gst-libs/gst/vaapi/Makefile.am:
10253         * gst/Makefile.am:
10254         * gst/vaapi/Makefile.am:
10255         * patches/Makefile.am:
10256         * patches/videoparsers/Makefile.am:
10257         * pkgconfig/Makefile.am:
10258         * tests/Makefile.am:
10259           build: use git.mk
10260           This patch handles dinamically the gitignore files with git.mk[1].
10261           Removed the automake variable MAINTAINERCLANFILES in most of the
10262           Makefile.am files since now it is handled by the top one.
10263           1. https://github.com/behdad/git.mk/blob/master/git.mk
10264           https://bugzilla.gnome.org/show_bug.cgi?id=749321
10265
10266 2015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10267
10268         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10269           wayland: sync() when destroy()
10270           Before pushing a the new frame, the render() method calls sync() to flush the
10271           pending frames. Nonetheless, the last pushed frame never gets rendered, leading
10272           to a memory leak too.
10273           This patch calls sync() in the destroy() to flush the pending frames before
10274           destroying the window.
10275           Also a is_cancelled flag is added. This flag tells to not flush the event
10276           queue again since the method failed previously or were cancelled by the user.
10277           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10278
10279 2015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
10280
10281         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10282         * gst-libs/gst/vaapi/gstvaapiwindow.h:
10283         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10284         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10285         * gst/vaapi/gstvaapisink.c:
10286           vaapisink: implement unlock/unlock_stop for wayland
10287           Otherwise wl_display_dispatch_queue() might prevent the pipeline from
10288           shutting down. This can happen e.g. if the wayland compositor exits while
10289           the pipeline is running.
10290           Changes:
10291           * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
10292           * splitted the patch removing wl_display_dispatch_queue()
10293           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10294           https://bugzilla.gnome.org/show_bug.cgi?id=747492
10295           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10296
10297 2015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10298
10299         * configure.ac:
10300         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10301           wayland: wl_display_dispatch_queue() can block forever.
10302           wl_display_dispatch_queue() might prevent the pipeline from shutting
10303           down. This can happen e.g. if the wayland compositor exits while the
10304           pipeline is running.
10305           This patch replaces it with these steps:
10306           - With wl_display_prepare_read() all threads announce their intention
10307           to read.
10308           - wl_display_read_events() is thread save. On threads reads, the other
10309           wait for it to finish.
10310           - With wl_display_dispatch_queue_pending() each thread dispatches its
10311           own events.
10312           wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
10313           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
10314           * stripped out the unlock() unlock_stop() logic
10315           * stripped out the poll handling
10316           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10317           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10318           https://bugzilla.gnome.org/show_bug.cgi?id=747492
10319
10320 2015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10321
10322         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10323           wayland: rename frame for last_frame
10324           Since frame in the private data means the last frame sent, it would
10325           semantically better use last_frame.
10326           Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
10327           functions.
10328           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10329
10330 2015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10331
10332         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10333           wayland: use a counter as sync flag
10334           Wayland window has a pointer to the last pushed frame and use it to set the
10335           flag for stopping the queue dispatch loop. This may lead to memory leaks,
10336           since we are not keeping track of all the queued frames structures.
10337           This patch removes the last pushed frame pointer and change the binary flag
10338           for an atomic counter, keeping track of number of queued frames and use it for
10339           the queue dispatch loop.
10340           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10341
10342 2015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10343
10344         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10345           wayland: decouple wl_buffer from frame
10346           This patch takes out the wayland's buffer from the the frame structure. The
10347           buffer is queued to wayland and destroyed in the "release" callback. The
10348           frame is freed in the surface's "done" callback.
10349           In this way a buffer may be leaked but not the whole frame structure.
10350           - surface 'done' callback is used to throttle the rendering operation and to
10351           unallocate the frame, but not the buffer.
10352           - buffer 'release' callback is used to destroy wl_buffer.
10353           Original-patch-by: Zhao Halley <halley.zhao@intel.com>
10354           * code rebase
10355           * kept the the event_queue for buffer's proxy
10356           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10357           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10358
10359 2015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10360
10361         * gst/vaapi/gstvaapisink.c:
10362           vaapisink: fix indentation
10363
10364 2015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10365
10366         * debian.upstream/Makefile.am:
10367         * ext/libvpx/Makefile.am:
10368         * gst-libs/gst/vaapi/Makefile.am:
10369         * gst/vaapi/Makefile.am:
10370         * tests/Makefile.am:
10371           build: fix make distcheck
10372           This patch fixes several issues found when running the `make distcheck`
10373           target:
10374           - In commit c561b8da, the update of gstcompat.h in Makefile.am was
10375           forgotten.
10376           - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
10377           forgotten.
10378           - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
10379           - The make target distcleancheck failed because some autogenerated files
10380           were not handled with the DISTCLEANFILES variable.
10381           Note: `make distcheck -jXX` is not currently supported.
10382
10383 2015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10384
10385         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
10386         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
10387         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
10388           h264parse: update patches with upstream
10389           These patches didn't applied cleanly, breaking the `make distcleancheck`
10390           target. Re-sync'ed the patches against the current git's submodule.
10391
10392 2015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10393
10394         * tests/simple-encoder.c:
10395           tests: simple-encoder: fix build warnings on 64-bit platforms.
10396           Add a cosmetic change to replace VAAPI buffer with VA buffer and most
10397           importantly fix warnings spitted out during build on 64-bit platforms.
10398           ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
10399           g_warning ("Invalid VAAPI buffer size (%d)", size);
10400           ^
10401           ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
10402           g_warning ("Failed to create output buffer of size %d", size);
10403           ^
10404
10405 2015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10406
10407         * gst/vaapi/gstvaapipluginbase.c:
10408         * gst/vaapi/gstvaapipluginutil.c:
10409         * gst/vaapi/gstvaapipluginutil.h:
10410         * gst/vaapi/gstvaapivideocontext.h:
10411           plugins: remove gstreamer-0.10 crumbs
10412           GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
10413           Still, its definition was still in the code. This patch removes it.
10414           https://bugzilla.gnome.org/show_bug.cgi?id=749113
10415
10416 2015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10417
10418         * tests/Makefile.am:
10419         * tests/simple-encoder.c:
10420         * tests/y4mreader.c:
10421         * tests/y4mreader.h:
10422           tests: add simple-encoder program
10423           This patch adds a simple-encoder test program that uses libgstvaapi for video
10424           encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
10425           format. That can be from a regular file or standard input when the input
10426           filename is "-".
10427           Usage: simple-encoder [options]* <source>
10428           Options:
10429           --output|-o     output file name
10430           --codec|-c      codec to use for video encoding
10431           --bitrate|-b    desired bitrate (kbps)
10432           By default, and as an initial patch, the encoded stream shall conform to the
10433           minimally supported profile. That is "Constrained Baseline Profile" for H.264
10434           and "Simple Profile" for MPEG-2. Though, those are the defaults to be
10435           generated by libgstvaapi.
10436           You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
10437           Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
10438           * general code clean-up
10439           * removed the yuv reader thread
10440           * re-wrote the y4m file parser
10441           * updated used API fixed some wrong usage
10442           * fixed a lot of memory leaks
10443           * added the bitrate setting
10444           * keep fps' numerator and denominator
10445           * simplified the thread control
10446           * removed custom logging and use glib
10447           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10448           https://bugzilla.gnome.org/show_bug.cgi?id=719528
10449
10450 2015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10451
10452         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10453           libs: trivial documentation fix
10454           GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
10455           are not errors, so they do not have the ERROR namespace.
10456           This patch fixes this typo in documentation.
10457
10458 2015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
10459
10460         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10461           window: Correct prototype to match implementation
10462           On s390x, guintptr and GstVaapiID are not compatible types. The
10463           implementation of gst_vaapi_window_new_internal() and all its callers
10464           seem to assume that its third argument is a GstVaapiID, while the
10465           header gives it guintptr type.
10466           https://bugzilla.gnome.org/show_bug.cgi?id=744559
10467
10468 2015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10469
10470         * gst/vaapi/gstvaapidecode.c:
10471         * gst/vaapi/gstvaapidecodebin.c:
10472           vaapidecode: add guards for disabled codecs.
10473           Fix link when building plugin elements without HEVC support. e.g. don't
10474           try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
10475           support HEVC enabled in libgstvaapi.
10476           Also, drop disabled codecs from static template caps. Add the missing
10477           HEVC static template caps into vaapidecodebin too.
10478
10479 2015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10480
10481         * configure.ac:
10482         * gst-libs/gst/vaapi/glibcompat.h:
10483           build: upgrade glib dependency to 2.32
10484           Since bug #745728 was fixed the oldest supported version of GStreamer is
10485           1.2. That GStreamer release requires glib 2.32, so we can upgrade our
10486           requirement too.
10487           This patch changes the required version of glib in configure.ac and removes
10488           the hacks in glibcompat.h
10489           https://bugzilla.gnome.org/show_bug.cgi?id=748698
10490
10491 2015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10492
10493         * gst/vaapi/gstvaapipluginbase.c:
10494           plugins: check if the pool config is already set
10495           In commit 97b768, a regression for GStreamer 1.2 was introduced:
10496           GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
10497           config option is already set. This patch adds an inline function to
10498           first verify if the option is not in the pool config berfore add it.
10499
10500 2015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10501
10502         * gst/vaapi/gstvaapipostproc.c:
10503           vaapipostproc: tune up a couple of log messages
10504           In order to reduce the noise, the query type log was downgrade from INFO to
10505           DEBUG, and the shared display address log message is assigned to the object.
10506
10507 2015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10508
10509         * gst/vaapi/gstvaapipluginbase.c:
10510           plugins: check gst_buffer_pool_set_config()
10511           Check the return value of gst_buffer_pool_set_config(). If it fails an error
10512           message is posted in the bus.
10513
10514 2015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10515
10516         * gst/vaapi/gstvaapipluginbase.c:
10517           plugins: more specific log message
10518           Be more specific in the log message about the reason of creating a new pool.
10519
10520 2015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10521
10522         * gst/vaapi/gstvaapipluginbase.c:
10523           plugins: delete unused variable
10524           need_pool is a boolean variable extracted from the allocation query, but it is
10525           not used afterwards.
10526
10527 2015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
10528
10529         * gst/vaapi/gstvaapipluginbase.c:
10530           vaapipluginbase: Update the pool if there was no pool in the downstream reply
10531           Fix regression introduced by bd866479, the query after decide_allocation()
10532           always needs a pool in the first slot.
10533           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10534           https://bugzilla.gnome.org/show_bug.cgi?id=748559
10535
10536 2015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
10537
10538         * gst/vaapi/gstvaapivideobufferpool.c:
10539           videopool: Free members before chaining up finalize
10540           The finalize function in GObject frees the object memory, so
10541           everything else needs to have been freed before.
10542           https://bugzilla.gnome.org/show_bug.cgi?id=748563
10543
10544 2015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
10545
10546         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
10547           wayland: don't leak the registry proxy
10548           Release the registry proxy when closing the display.
10549           https://bugzilla.gnome.org/show_bug.cgi?id=748564
10550
10551 2015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10552
10553         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10554           wayland: refactor _sync() method and rename callback
10555           This patch only intends to improve readability: in the method
10556           gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
10557           single while loop.
10558           Also renames the frame_redraw_callback() callback into frame_done_callback(),
10559           which is a bit more aligned to Wayland API.
10560
10561 2015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
10562
10563         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10564           wayland: free frame in buffer release callback
10565           The Wayland compositor may still use the buffer when the frame done
10566           callback is called.
10567           This patch destroys the frame (which contains the buffer) until the
10568           release callback is called. The draw termination callback only controls
10569           the display queue dispatching.
10570           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10571           https://bugzilla.gnome.org/show_bug.cgi?id=747492
10572
10573 2015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10574
10575         * gst/vaapi/gstvaapidecode.c:
10576           vaapidecode: refactor gst_vaapidecode_internal_flush()
10577           This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
10578           label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
10579           shares the same error message of gst_vaapidecode_internal_flush() when flush
10580           fails.
10581
10582 2015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10583
10584         * gst/vaapi/gstvaapidecode.c:
10585           vaapidecode: refactor gst_vaapidecode_destroy()
10586           Add the method gst_vaapidecode_purge(). This method releases the
10587           flushed frames from the decoder.
10588           This new method add more readablity to gst_vaapidecode_destroy()
10589
10590 2015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
10591
10592         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10593         * gst/vaapi/gstvaapidecode.c:
10594           vaapidecode: Tell the base class about released frames on close
10595           The base class needs to be informed about frames that were still queued
10596           in the decoder on release, otherwise they are leaked.
10597           https://bugzilla.gnome.org/show_bug.cgi?id=747999
10598
10599 2015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10600
10601         * gst/vaapi/gstvaapidecode.c:
10602           vaapidecode: reduce logging noise
10603           When a frame is rejected by downstream, the message is logged twice. This
10604           patch removes one of those logging messages.
10605           Also, the reject of a frame doesn't mean an alarming error. This patch demotes
10606           the log message from error to info.
10607
10608 2015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
10609
10610         * gst/vaapi/gstvaapidecode.c:
10611           vaapidecode: Use the GstVideoDecoder error reporting function
10612           This way, the decoder won't stop on the first decoding error,
10613           in most cases it can recover after some glitchiness.
10614           https://bugzilla.gnome.org/show_bug.cgi?id=744620
10615
10616 2015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
10617
10618         * gst/vaapi/gstvaapipluginbase.c:
10619           vaapipluginbase: The allocation query can return without a pool
10620           It is possible to return the min/max/size without actually providing
10621           a pool. This way the source knows how many buffers downstream needs.
10622           https://bugzilla.gnome.org/show_bug.cgi?id=748076
10623
10624 2015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10625
10626         * ext/Makefile.am:
10627         * gst/vaapi/Makefile.am:
10628         * gst/vaapi/gstvaapiparse.c:
10629         * gst/vaapi/gstvaapiparse.h:
10630         * patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
10631         * patches/videoparsers/series.frag:
10632           plugins: Add h265 videoparser element "vaapiparse_h265"
10633           This is a mirror of h265parse element in upstream gst-plugins-bad.
10634           There could be additional patches but all should go to upstream.
10635           This is for making development faster.
10636           Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
10637
10638 2015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10639
10640         * ext/codecparsers:
10641           codecparsers: Update to gst-vaapi-branch commit 43a0368
10642           45f1c28: codecparser: h265: Fix nal unit size checking
10643           f25987b: codecparser: h265: Calculate crop rectangle dimensions
10644           639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
10645           4c8ec41: Add h265 videoparser plugin source files
10646
10647 2015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10648
10649         * autogen.sh:
10650           autogen: drop videoutils submodule.
10651
10652 2015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10653
10654         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10655           decoder: hevc: cosmetics.
10656           Mostly coding style updates. Avoid integer signess inconsistencies.
10657           Optimize dpb_find_lowest_poc() to align with original h264's decoder.
10658
10659 2015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10660
10661         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10662           decoder: hevc: Add Support for tiled video decoding
10663           Based up on the value of uniform_spacing_flag in Picture Parameter Set,
10664           the tile column width and tile row height should be calculated.
10665           Equations: 6-1, 6-2
10666           Tiled video Descriptions: 7.3.2.3, 7.4.3.3
10667
10668 2015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10669
10670         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10671           decoder: hevc: Fix decoding when there are RASL pictures present.
10672           -- Set NoRaslOutputFlag based on EOS and EOB Nal units
10673           -- Fix PicOutputFlag setting for RASL picture
10674           -- Fix prev_poc_lsb/prev_poc_msb calculation
10675           -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
10676           -- Fixed couple of crashes and added cosmetics
10677
10678 2015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
10679
10680         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
10681           display: drm: fix race condition setting device type
10682           There is a race condition where g_drm_device_type can be left set to
10683           DRM_DEVICE_RENDERNODES when it shouldn't.
10684           If thread 1 comes in and falls into the last else statement setting up both
10685           RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
10686           it sets g_drm_device_type = RENDERNODES.
10687           Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
10688           up that type to be tried but then encounters the lock and has to wait until the
10689           first thread finishes. Once the lock is acquired it will then proceed to ONLY try
10690           RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
10691           attempts will only try RENDERNODES.
10692           So to avoid this situation I have simply moved the acquisition of the lock higher
10693           up in the attached patch.
10694           https://bugzilla.gnome.org/show_bug.cgi?id=747914
10695
10696 2015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
10697
10698         * gst/vaapi/gstvaapipostproc.c:
10699           vaapipostproc: Don't create filter on caps query
10700           The problem with this is that creating the filter causes the display to
10701           be selected, and the caps query happens while linking the element. So,
10702           if the downstream or upstream element is using a specific display
10703           object, it won't be propagated correctly to the postproc as it already
10704           has a display at this point.
10705           https://bugzilla.gnome.org/show_bug.cgi?id=747945
10706
10707 2015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
10708
10709         * gst-libs/gst/vaapi/gstvaapivideopool.c:
10710           videopool: Release lock while allocating new object
10711           The video pool can be accessed with the display lock held, for example,
10712           when releasing a buffer from inside vaapisink_render, but allocating
10713           a new object can may also take the display lock. Which means a possible
10714           deadlock.
10715           https://bugzilla.gnome.org/show_bug.cgi?id=747944
10716
10717 2015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10718
10719         * gst/vaapi/gstvaapisink.c:
10720           vaapisink: use GstVideoSink vmethod show_frame()
10721           vaapisink inherits from GstVideoSink, in order to use its functionality (such
10722           as ::show-preroll-frame property), we should use its vmethod show_frame(),
10723           rather than call ourselves render() and preroll().
10724
10725 2015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10726
10727         * gst/vaapi/gstvaapisink.c:
10728         * gst/vaapi/gstvaapisink.h:
10729           vaapisink: add 'handoff' signal
10730           This patch adds the signal ::handoff and the property signal-handoffs. If the
10731           property is set TRUE, the signal ::handoff is emitted just after the buffer is
10732           rendered.
10733           Based on Zhao Halley <halley.zhao@intel.com>
10734           https://bugzilla.gnome.org/show_bug.cgi?id=747905
10735
10736 2015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10737
10738         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10739           HEVC: silence the compiler
10740           Fixed a couple of clang complains.
10741
10742 2015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
10743
10744         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10745           wayland: destroy vpp buffer pool on resize
10746           Otherwise the old buffers with the old size are used.
10747           https://bugzilla.gnome.org/show_bug.cgi?id=747491
10748
10749 2015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10750
10751         * configure.ac:
10752         * gst-libs/gst/vaapi/Makefile.am:
10753           build: don't compile HEVC if not supported
10754           HEVC decoding was added recently libva-1.5.
10755           This patch avoids HEVC decoding support in libgstvaapi if it is not available
10756           in the installed libva.
10757           https://bugzilla.gnome.org/show_bug.cgi?id=747831
10758
10759 2015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10760
10761         * gst/vaapi/gstvaapidecode.c:
10762           vaapidecode: Update Author name in plugin metadata
10763
10764 2015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10765
10766         * gst/vaapi/gstvaapidecode.c:
10767           plugins: Add HEVC decoder
10768           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10769
10770 2015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10771
10772         * gst-libs/gst/vaapi/Makefile.am:
10773         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10774         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
10775           HEVC: Add HEVC(h265) decoder to core libgstvaapi
10776           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10777
10778 2015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10779
10780         * gst-libs/gst/vaapi/Makefile.am:
10781         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
10782         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
10783         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
10784           HEVC: Add codec utility methods to core libgstvaapi
10785           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10786
10787 2015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10788
10789         * gst-libs/gst/vaapi/gstvaapiprofile.c:
10790         * gst-libs/gst/vaapi/gstvaapiprofile.h:
10791           HEVC: gstvaapiprofile: Add profile definitions
10792           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10793
10794 2015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10795
10796         * configure.ac:
10797           HEVC: build: Check availability of h265 decoder APIs
10798           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10799
10800 2015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10801
10802         * configure.ac:
10803         * ext/Makefile.am:
10804         * gst-libs/gst/codecparsers/Makefile.am:
10805           HEVC: Allow to build h265 codecparser internally
10806           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10807
10808 2015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10809
10810         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
10811         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
10812         * gst-libs/gst/vaapi/gstvaapisurface.c:
10813           guard buffer export API if not available
10814           The support for buffer exports in VA-API was added in version 0.36. These
10815           interfaces are for interop with EGL, OpenCL, etc.
10816           GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
10817           has to support VA-API versions ranging from 0.30.4, which doesn't support it.
10818           This patch guards all the buffer exports handling (and dmabuf allocator) if
10819           the detected VA-API version is below 0.36.
10820           https://bugzilla.gnome.org/show_bug.cgi?id=746405
10821
10822 2015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10823
10824         * ext/codecparsers:
10825           codecparsers: Update to gst-vaapi-branch commit 9bc72b0
10826           767bf22: codecparsers: h265: add helpers to convert quantization matrices
10827           71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
10828           3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
10829           10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
10830           2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
10831
10832 2014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
10833
10834         * gst/vaapi/gstvaapidecode.c:
10835           vaapidecode: unref video codec frame twice
10836           We get one reference when the frame is passed to decode_handle_frame()
10837           and create another one in gst_vaapi_decoder_push_frame().
10838           Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
10839           Here the frame is always released twice:
10840           gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
10841           gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
10842           In gst_vaapidecode_reset_full() both references to the frame must be
10843           released as well.
10844           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10845           https://bugzilla.gnome.org/show_bug.cgi?id=743226
10846
10847 2015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10848
10849         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
10850           libs: remove unused variables
10851           clang reports these unused variables. Let's get rid of them.
10852           This patch is a missing part of commit c82e5173
10853           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10854
10855 2015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10856
10857         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
10858           decoder: mpeg4: remove an spurious comparison
10859           The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
10860           less than zero. Hence this pre-condition test is a no-op. This patch removes
10861           that code.
10862           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10863
10864 2015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10865
10866         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10867           encoder: h264: casts slice_param->slice_type
10868           slice_type in slice_param is defined as (char *), but it is compared against a
10869           signed integer. clang complains about this comparison.
10870           This patch casts the variable.
10871           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10872
10873 2015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10874
10875         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10876           encoder: avoid GstVaapiCodedBuffer redefinition
10877           The symbol GstVaapiCodedBuffer is already defined in
10878           gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
10879           gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
10880           This patch removes that redefinition.
10881           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10882
10883 2015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10884
10885         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
10886         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10887           libs: remove unused variables
10888           clang reports these unused variables. Let's get rid of them.
10889           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10890
10891 2015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10892
10893         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10894           encoder: mpeg2: use fabsf() instead of abs()
10895           The member value in frame_rate_tab is float, the result of the abs() function
10896           should be float too. But abs() only manages integers.
10897           This patch replaces abs() with fabsf() to handle correctly the possible floats
10898           values.
10899           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10900
10901 2015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10902
10903         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10904         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10905         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
10906         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10907         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
10908           decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
10909           Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
10910           GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
10911           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10912
10913 2015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10914
10915         * README:
10916           Update README
10917
10918 2015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10919
10920         * .gitmodules:
10921         * README:
10922           Changing source code download links from https://gitorious  to https://github
10923           -- gitmodules: Change gstreamer-codecparsers submodule source download link
10924           -- README: Change the gstreamer-vaapi webpage link
10925
10926 2015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10927
10928         * ext/codecparsers:
10929           codecparsers: update to gst-vaapi-branch commit 1f792e4
10930           87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
10931           7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
10932           2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
10933           2b92a67: h264parse: reset the parser information when caps changes
10934           05eee86: codecparsers: Indent file
10935           e27a38b: codecparsers: Add READ_UE_MAX macro
10936           2036471: Constify some static arrays everywhere
10937
10938 2015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10939
10940         * gst/vaapi/gstvaapivideoconverter_glx.c:
10941         * gst/vaapi/gstvaapivideoconverter_x11.c:
10942           Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
10943
10944 2015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10945
10946         * gst/vaapi/gstvaapidecode.c:
10947         * gst/vaapi/gstvaapidecodebin.c:
10948         * gst/vaapi/gstvaapiencode_h264.c:
10949         * gst/vaapi/gstvaapiencode_jpeg.c:
10950         * gst/vaapi/gstvaapiencode_mpeg2.c:
10951         * gst/vaapi/gstvaapiencode_vp8.c:
10952         * gst/vaapi/gstvaapipluginbase.c:
10953         * gst/vaapi/gstvaapipluginutil.c:
10954         * gst/vaapi/gstvaapipluginutil.h:
10955         * gst/vaapi/gstvaapipostproc.c:
10956         * gst/vaapi/gstvaapisink.c:
10957         * gst/vaapi/gstvaapivideobuffer.c:
10958         * gst/vaapi/gstvaapivideobufferpool.c:
10959         * gst/vaapi/gstvaapivideocontext.c:
10960         * gst/vaapi/gstvaapivideocontext.h:
10961         * gst/vaapi/gstvaapivideoconverter_glx.h:
10962         * gst/vaapi/gstvaapivideoconverter_x11.h:
10963         * gst/vaapi/gstvaapivideomemory.h:
10964         * gst/vaapi/gstvaapivideometa_texture.c:
10965           Removal of gstreamer-1.0 support
10966           The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
10967           GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
10968           This patch removes all the pre-processor conditional code compilation guarded
10969           for gstreamer-1.0.
10970           Thus, all the video converters were removed too.
10971           https://bugzilla.gnome.org/show_bug.cgi?id=745728
10972           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10973           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10974
10975 2015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10976
10977         * gst-libs/gst/vaapi/gstcompat.h:
10978         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
10979         * gst-libs/gst/vaapi/gstvaapiprofile.c:
10980         * gst-libs/gst/vaapi/sysdeps.h:
10981         * gst/vaapi/gstcompat.h:
10982         * gst/vaapi/gstvaapi.c:
10983         * gst/vaapi/gstvaapidecode.c:
10984         * gst/vaapi/gstvaapidecodebin.c:
10985         * gst/vaapi/gstvaapiencode.c:
10986         * gst/vaapi/gstvaapiencode_h264.c:
10987         * gst/vaapi/gstvaapiencode_jpeg.c:
10988         * gst/vaapi/gstvaapiencode_mpeg2.c:
10989         * gst/vaapi/gstvaapiencode_vp8.c:
10990         * gst/vaapi/gstvaapiparse.c:
10991         * gst/vaapi/gstvaapipluginbase.c:
10992         * gst/vaapi/gstvaapipluginutil.c:
10993         * gst/vaapi/gstvaapipostproc.c:
10994         * gst/vaapi/gstvaapisink.c:
10995         * gst/vaapi/gstvaapiuploader.c:
10996         * gst/vaapi/gstvaapivideobuffer.c:
10997         * gst/vaapi/gstvaapivideobufferpool.c:
10998         * gst/vaapi/gstvaapivideocontext.c:
10999         * gst/vaapi/gstvaapivideoconverter_glx.c:
11000         * gst/vaapi/gstvaapivideoconverter_x11.c:
11001         * gst/vaapi/gstvaapivideomemory.c:
11002         * gst/vaapi/gstvaapivideometa.c:
11003         * gst/vaapi/gstvaapivideometa_texture.c:
11004         * tests/codec.c:
11005           update and move gstcompat.h
11006           The purpose of gstcompat.h is to couple the API differences among
11007           gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
11008           in this compatibility layer shall be removed.
11009           Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
11010           appear in the future, but it shall live in gst/vaapi, not in gst-libs.
11011           This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
11012           In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
11013           the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
11014           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11015           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11016           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11017
11018 2015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11019
11020         * configure.ac:
11021         * gst/vaapi/Makefile.am:
11022           autotools: remove gstreamer-1.0 support
11023           This patch only removes the support of gstreamer-1.0 in the autotools
11024           scripts. No other files are touched.
11025           In the automake file all the converters were deprecated.
11026           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11027           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11028           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11029
11030 2015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11031
11032         * .gitmodules:
11033         * ext/Makefile.am:
11034         * ext/videoutils:
11035           Remove the gstreamer-videoutils submodule
11036
11037 2015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11038
11039         * configure.ac:
11040         * gst-libs/gst/Makefile.am:
11041         * gst-libs/gst/vaapi/Makefile.am:
11042         * gst-libs/gst/video/Makefile.am:
11043         * gst/vaapi/Makefile.am:
11044         * tests/Makefile.am:
11045           Remove libgstvaapi-videoutils.so
11046           This library was intended to add the base classes for video decoders which
11047           where not included in gstreamer-0.10.
11048           Since the support of gstreamer-0.10 is deprecated those classes are not
11049           required, thus the whole library is removed.
11050           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11051           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11052           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11053
11054 2015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11055
11056         * configure.ac:
11057         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
11058         * gst-libs/gst/vaapi/gstvaapiutils.c:
11059         * tests/test-subpicture.c:
11060           Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
11061           This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
11062           defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
11063           deprecated these guards are not required.
11064           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11065           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11066           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11067
11068 2015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11069
11070         * gst-libs/gst/vaapi/gstcompat.h:
11071         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
11072         * gst-libs/gst/vaapi/gstvaapidecoder.c:
11073         * gst-libs/gst/vaapi/gstvaapiimage.c:
11074         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
11075         * gst-libs/gst/vaapi/video-format.c:
11076         * gst-libs/gst/vaapi/video-format.h:
11077         * gst/vaapi/gstvaapi.c:
11078         * gst/vaapi/gstvaapidecode.c:
11079         * gst/vaapi/gstvaapidecodebin.c:
11080         * gst/vaapi/gstvaapidownload.c:
11081         * gst/vaapi/gstvaapidownload.h:
11082         * gst/vaapi/gstvaapiencode.c:
11083         * gst/vaapi/gstvaapiencode_h264.c:
11084         * gst/vaapi/gstvaapiencode_jpeg.c:
11085         * gst/vaapi/gstvaapiencode_mpeg2.c:
11086         * gst/vaapi/gstvaapiencode_vp8.c:
11087         * gst/vaapi/gstvaapiparse.c:
11088         * gst/vaapi/gstvaapipluginbase.c:
11089         * gst/vaapi/gstvaapipluginbase.h:
11090         * gst/vaapi/gstvaapipluginutil.c:
11091         * gst/vaapi/gstvaapipluginutil.h:
11092         * gst/vaapi/gstvaapipostproc.c:
11093         * gst/vaapi/gstvaapisink.c:
11094         * gst/vaapi/gstvaapiupload.c:
11095         * gst/vaapi/gstvaapiupload.h:
11096         * gst/vaapi/gstvaapiuploader.c:
11097         * gst/vaapi/gstvaapivideobuffer.c:
11098         * gst/vaapi/gstvaapivideoconverter_glx.c:
11099         * gst/vaapi/gstvaapivideoconverter_x11.c:
11100         * gst/vaapi/gstvaapivideometa.c:
11101         * gst/vaapi/gstvaapivideometa.h:
11102         * tests/test-filter.c:
11103         * tests/test-subpicture.c:
11104           Removal of gstreamer-0.10 support
11105           This patch removes all the pre-processor conditional code compilation guarded
11106           for gstreamer-0.10.
11107           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11108           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11109           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11110
11111 2015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11112
11113         * configure.ac:
11114         * debian.upstream/control.in:
11115         * gst-libs/gst/video/Makefile.am:
11116         * gst/vaapi/Makefile.am:
11117           autotools: remove gstreamer-0.10 support
11118           This patch only removes the support of gstreamer-0.10 in the autotools
11119           scripts. No other files are touched.
11120           The configuration parameter --gstreamer-api was deleted since now it is always
11121           auto-detected.
11122           The verification of vmethod query in GstBaseSinkClass was removed since it was
11123           added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
11124           its format flags.
11125           The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
11126           remained.
11127           The automake files were changed accordingly.
11128           Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
11129           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11130           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11131           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11132
11133 2015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11134
11135         * gst/vaapi/gstvaapidecode.c:
11136           vaapidecode: add drain() vmethod
11137           In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
11138           class. This patch implements this new method.
11139           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11140           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11141           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11142
11143 2015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11144
11145         * gst/vaapi/gstvaapidecode.c:
11146           vaapidecode: remove vmethod reset()
11147           Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
11148           this patch removes the method reset() which was deprecated in GStreamer 1.2.
11149           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11150           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11151           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11152
11153 2015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11154
11155         * gst/vaapi/gstvaapidecode.c:
11156           vaapidecode: handle flush() vmethod
11157           Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
11158           and flush() was added.
11159           This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
11160           superior. Otherwise, reset() is set.
11161           v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
11162           was renamed to gst_vaapidecode_internal_flush().
11163           2) The new vmethod flush() always do a hard full reset.
11164           v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
11165           gather all collected data with  gst_video_decoder_have_frame()
11166           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11167           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11168           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11169
11170 2015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11171
11172         * gst/vaapi/gstvaapidecode.c:
11173           vaapidecode: call the correct query function
11174           In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
11175           a bug was introduced: when calling the parent's query function of the
11176           src pad, the one of the sink pad is called instead. This patch fixes
11177           this issue.
11178           https://bugzilla.gnome.org/show_bug.cgi?id=746248
11179
11180 2015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11181
11182         * .gitmodules:
11183           gitmodules: Use https:// url instead of git:// for submodules.
11184           Gitorious is failing to clone repositories over git:// url.
11185
11186 2015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
11187
11188         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11189           vaapidisplay: mark X11 display as compatible with EGL
11190           GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
11191           gst-launch-1.0 ... ! vaapidecode ! glimagesink
11192           https://bugzilla.gnome.org/show_bug.cgi?id=745902
11193           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11194
11195 2015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
11196
11197         * gst/vaapi/gstvaapidecode.c:
11198           vaapidecode: Don't crash if a buffer outlives the decoder
11199           Sometimes, for example, when switching video streams but keeping
11200           the same sink, the surface will be released after the decoder is
11201           stopped and replaced. This caused a crash because the release
11202           callback was called on an invalid pointer.
11203           The patch adding an additional reference to the decoder object in the buffer.
11204           https://bugzilla.gnome.org/show_bug.cgi?id=745189
11205           Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
11206           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11207
11208 2015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11209
11210         * gst/vaapi/gstvaapidecode.c:
11211           vaapidecode: clean-ups (indentation, drop unused variables)
11212
11213 2015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11214
11215         * gst/vaapi/gstvaapidecode.c:
11216           vaapidecode: use the query virtual methods in 1.4
11217           GstVideoDecoder, the base class of vaapidecode, added support for
11218           pad queries as virtual methods. This patch enables the use of that
11219           support, while keeping support for lower versions of gstreamer.
11220           This patch is important because GstVideoDecoder takes care of other
11221           queries that might be important in the pipeline managing.
11222           v2: 1) rebase to current master
11223           2) fix indentation with gst-indent
11224           3) simplify the patch layout
11225           4) fix the context query
11226           5) initialise the filter to NULL
11227           6) improve the query log message for gst-1.2
11228           https://bugzilla.gnome.org/show_bug.cgi?id=744406
11229
11230 2015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11231
11232         * gst/vaapi/gstvaapipostproc.c:
11233         * gst/vaapi/gstvaapipostproc.h:
11234           vaapipostproc: always activate buffer pool
11235           The vaapipostproc has a proxy flag to know if the the buffer pool is
11236           already active. But this fails in some situations where it is needed
11237           to renegotiate the buffer pool.
11238           This patch removes that flag so the renegotiation is done whenever is
11239           required.
11240           https://bugzilla.gnome.org/show_bug.cgi?id=745535
11241
11242 2015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11243
11244         * gst/vaapi/gstvaapisink.c:
11245           vaapisink: fix minor memory leak in debug mode.
11246           The gst_video_colorimetry_to_string() function returns a newly created
11247           string that represents the GstVideoColorimetry value. So, that needs
11248           to be released after usage, in e.g. GST_DEBUG().
11249
11250 2015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11251
11252         * gst/vaapi/gstvaapidecodebin.h:
11253           vaapidecodebin: Avoid usage of "__" prefix in macro names
11254           Avoiding "__" prefix usage in Header File Guards as per
11255           C standard recommendation.
11256
11257 2015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11258
11259         * gst/vaapi/gstvaapi.c:
11260           plugins: Disable vaapidecodebin for GStreamer < 1.4
11261           There are autoplugging issues in GStreamer-1.2.
11262           Lets disable vaapidecodebin untill we get some workarounds for this.
11263
11264 2015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11265
11266         * gst/vaapi/Makefile.am:
11267         * gst/vaapi/gstvaapi.c:
11268         * gst/vaapi/gstvaapidecodebin.c:
11269         * gst/vaapi/gstvaapidecodebin.h:
11270           plugins: Add a vaapidecodebin element
11271           Add a "vaapidecodebin" element to vaapi plugins.
11272           Child Elements: "vaapidecode ! queue ! vaapipostproc"
11273           The Reasons for implementing a new bin element:
11274           -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
11275           with out any dependency to upstream gstreamer.
11276           This is to overcome the *unacceptable* delay in upstream gstreamer to get new
11277           features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
11278           Also customers using older gstreamer versions (1.2 and 1.4) will get the
11279           benefit of autoplugging, hardware accelerated deinterlacing support etc.
11280           -- Help to maintain a single thread implementation in vaapidecode.
11281           This will result a dead-lock free vaapidecode in most of the cases.
11282           More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
11283           https://bugzilla.gnome.org/show_bug.cgi?id=745216
11284
11285 2015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11286
11287         * gst/vaapi/gstvaapidecode.c:
11288           vaapidecode: re-indent (gst-indent) gstvaapidecode.c
11289
11290 2015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11291
11292         * gst/vaapi/gstvaapidecode.c:
11293         * gst/vaapi/gstvaapidecode.h:
11294           vaapidecode: Switch back to Single thread implementation
11295           Because the decoder uses the thread from handle_frame() to decode a frame,
11296           the src pad task creates an unsolveable AB-BA deadlock between
11297           handle_frame() waiting for a free surface and decode_loop() pushing
11298           decoded frames out.
11299           Instead, have handle_frame() take responsibility for pushing surfaces,
11300           and remove the deadlock completely. If you need a separate thread
11301           downstream, you can insert a queue between vaapidecode and its downstream
11302           to get one.
11303           Another justification for the single thread implementation is,
11304           there are two many point of locking in gstreamer-vaapi's current
11305           implementation which can lead to deadlocks.
11306           https://bugzilla.gnome.org/show_bug.cgi?id=742605
11307           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11308           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11309           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11310
11311 2015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11312
11313         * gst/vaapi/gstvaapipluginbase.c:
11314           plugins: fix detection of upstream v4l2src element.
11315           Improve check for upstream element that requires DMABUF buffer pool,
11316           e.g. v4l2src element. In particular, make sure to traverse through
11317           any additional capsfilter for instance.
11318           Note: the traversal to the top-most upstream element could be made
11319           more generic, but we are insofar only interested in supporting pipes
11320           similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
11321           specification for a desired video camera format, or resolution.
11322
11323 2015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11324
11325         * gst/vaapi/gstvaapivideomemory.c:
11326           plugins: fix allocation of DMABUF memory.
11327           The dmabuf allocator would close the DMABUF handle passed in the init
11328           function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
11329           to avoid a double close, ultimately in the underlying driver that owns
11330           the DMABUF handle.
11331
11332 2015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11333
11334         * gst/vaapi/gstvaapidecode.c:
11335           vaapidecode: keep src caps and output state in sync
11336           vaapidecode keeps an output state that use the format
11337           GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
11338           for a correct negotiation.
11339           I don't see the rational behind this decoupling, it looks like
11340           unnecessary complexity. This patch simplify this logic keeping
11341           in sync the output state and the src caps.
11342           This patch improves the readability of the function
11343           gst_vaapidecode_update_src_caps() and simplify its logic. Also,
11344           the patch validates if the buffer pool has the configuration for
11345           the GL texture upload meta, in order to set the caps feature
11346           meta:GLTextureUpload. Otherwise, the I420 format is set back.
11347           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11348           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11349           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11350
11351 2015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11352
11353         * gst/vaapi/gstvaapidecode.c:
11354           vaapidecode: upload meta only if feature and allocation
11355           When vaapidecode finishes the decoding of a frame and pushes it,
11356           if, in the decide_allocation() method, it is determined if the
11357           next element supports the GL texture upload meta feature, the
11358           decoder adds the buffer's meta.
11359           Nonetheless, in the same spirit of the commit 71d3ce4d, the
11360           determination if the next element supports the GL texture upload
11361           meta needs to check both the preferred caps feature *and* if the
11362           allocation query request the API type.
11363           This patch, first removes the unused variable need_pool, and
11364           determines the attribute has_texture_upload_meta using the
11365           preferred caps feature *and* the allocation query.
11366           Also, the feature passed to GstVaapPluginBase is not longer
11367           determined by has_texture_upload_meta, but by the computed
11368           preferred one.
11369           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11370           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11371           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11372
11373 2015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11374
11375         * gst/vaapi/gstvaapidecode.c:
11376         * gst/vaapi/gstvaapidecode.h:
11377         * gst/vaapi/gstvaapipluginutil.c:
11378         * gst/vaapi/gstvaapipluginutil.h:
11379           vaapidecode: delayed src caps negotiation
11380           Currently the src caps are set immediately after the sink caps are set, but in
11381           that moment the pipeline might not fully constructed and the video sink has
11382           not negotiated its supported caps and features. As a consequence, in many cases
11383           of playback, the least optimized caps feature is forced. This is partially the
11384           responsible of bug #744039.
11385           Also, vaapidecode doesn't attend the reconfigure events from downstream,
11386           which is a problem too, since the video sink can be changed with different
11387           caps features.
11388           This patch delays the src caps, setting them until the first frame arrives to
11389           the decoder, assuming until that very moment the whole pipeline is already
11390           negotiated. Particularly, it checks if the src pad needs to be reconfigured,
11391           as a consequence of a reconfiguration event from downstream.
11392           A key part of this patch is the new GstVaapiCapsFeature
11393           GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
11394           doesn't have a peer yet. Also, for a better report of the caps allowed
11395           through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
11396           instead of gst_pad_peer_query_caps() when looking for the preferred feature.
11397           v3: move the input_state unref to close(), since videodecoder resets at
11398           some events such as navigation.
11399           v4: a) the state_changed() callback replaces the input_state if the media
11400           changed, so this case is also handled.
11401           b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
11402           always the input_state, the parameter were removed.
11403           c) there were a lot of repeated code handling the input_state, so I
11404           refactored it with the function gst_vaapi_decode_input_state_replace().
11405           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11406           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11407           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11408
11409 2015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11410
11411         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11412         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
11413           encoder: h264: add support for more than 2 views
11414           Add support for H.264 MVC Multiview High profile encoding with
11415           more than 2 views. All views within the same accesss unit are
11416           provided in increasing order of view order index (VOIdx).
11417           Upto 10 view are supported for now.
11418           A new property "view-ids" has been provided for the plugins to
11419           set the view ids (which is an array of guint values) to be used
11420           for mvc encoding.
11421           https://bugzilla.gnome.org/show_bug.cgi?id=732453
11422
11423 2015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11424
11425         * gst/vaapi/gstvaapipluginbase.c:
11426           plugins: upload meta only if feature and allocation
11427           Working on bug #743687, I realized that vaapidecode always adds to its buffer
11428           pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
11429           the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
11430           Nevertheless, there are occasions where the query has the API type, but the
11431           last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
11432           Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
11433           buffer pool configuration, and adds its buffer's meta to each output buffer,
11434           even if the negotiated caps feature is memory:SystemMemory with I420 color
11435           format.
11436           This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
11437           that relates caps <-> GL upload method. If it receives a buffer with color
11438           format I420, it assumes that it doesn't have a texture upload meta, because
11439           only those with RGB color format has it. Our buffers, with I420 format, say
11440           that they have the upload meta too. In that case the mapped method is a dummy
11441           one which does nothing. I reported this issue in bug #744039 (the patch,
11442           obviously, was rejected).
11443           This patch workarounds the problem: the buffer pool's configuration option
11444           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
11445           query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
11446           caps feature is meta:GstVideoGLTextureUploadMeta.
11447           I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
11448           in all they seem to work correctly.
11449           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11450           [adapted to fit current EGL changes]
11451           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11452
11453 2015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11454
11455         * gst-libs/gst/vaapi/gstvaapitexture.c:
11456         * gst-libs/gst/vaapi/gstvaapitexture.h:
11457         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
11458         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
11459         * gst/vaapi/gstvaapivideometa_texture.c:
11460           plugins: add support for GstVideoGLTextureOrientation.
11461           Add support for GstVideoGLTextureOrientation modes. In particular,
11462           add orientation flags to the GstVaapiTexture wrapper and the GLX
11463           implementations. Default mode is that texture memory is laid out
11464           with top lines first, left row first. Flags indicate whether the
11465           X or Y axis need to be inverted.
11466
11467 2015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11468
11469         * gst/vaapi/gstvaapidecode.c:
11470         * gst/vaapi/gstvaapipluginbase.c:
11471         * gst/vaapi/gstvaapipluginutil.c:
11472         * gst/vaapi/gstvaapipluginutil.h:
11473         * gst/vaapi/gstvaapipostproc.c:
11474         * gst/vaapi/gstvaapivideometa_texture.c:
11475           plugins: add support for BGRA textures.
11476           Some frameworks (EFL) expect BGRA textures for storage. However,
11477           adding support for that broadly into GStreamer framework  implies
11478           two kinds of hacks: (i) libgstgl helpers currently do not support
11479           BGRA textures correctly, (ii) we need to better parse downstream
11480           suggested caps and intersect them with what the VA plugin elements
11481           can offer to them for GL texturing.
11482
11483 2015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11484
11485         * gst/vaapi/gstvaapipluginutil.c:
11486           plugins: fix support for Wayland/EGL running alongside X11.
11487           When multiple display servers are available, the glimagesink element
11488           (from GStreamer 1.4) may not be able to derive a global display in
11489           Wayland. Rather, a "window"-specific display is created. In this case,
11490           the GstGLDisplay handle available through GstGLContext is invalid.
11491           So, try to improve heuristics for display server characterisation in
11492           those particular situations.
11493
11494 2015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11495
11496         * configure.ac:
11497         * gst/vaapi/Makefile.am:
11498         * gst/vaapi/gstvaapidecode.c:
11499         * gst/vaapi/gstvaapipluginbase.c:
11500         * gst/vaapi/gstvaapipluginutil.c:
11501         * gst/vaapi/gstvaapivideobufferpool.c:
11502         * gst/vaapi/gstvaapivideometa_texture.c:
11503           plugins: add initial support for EGL.
11504           Add initial support for EGL through GstVideoGLTextureUploadMeta.
11505           Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
11506           downstream supplied GstGLContext configuration, i.e. use its native
11507           display handle to create a GstVaapiDisplay of type X11 or Wayland ;
11508           and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
11509           wrapper.
11510           https://bugzilla.gnome.org/show_bug.cgi?id=741079
11511
11512 2014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11513
11514         * gst/vaapi/gstvaapivideometa_texture.c:
11515           plugins: track video texture size changes.
11516           Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
11517           i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
11518           now update the texture size from the GstVideoMeta, if any, or reset
11519           to some defaults otherwise.
11520
11521 2014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11522
11523         * gst/vaapi/gstvaapipluginbase.c:
11524         * gst/vaapi/gstvaapipluginbase.h:
11525         * gst/vaapi/gstvaapipluginutil.c:
11526           plugins: ensure VA display matches GL context expectations.
11527           If a GstGLContext is supplied by the downstream element, then make
11528           sure that the VA plugin element gets a compatible display to what
11529           is requested by the GL context. e.g. re-allocate a VA/GLX display
11530           when a GLX context is provided by the downstream element.
11531
11532 2014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11533
11534         * configure.ac:
11535         * gst/vaapi/Makefile.am:
11536         * gst/vaapi/gstvaapipluginbase.c:
11537         * gst/vaapi/gstvaapipluginbase.h:
11538           plugins: record downstream GstGLContext.
11539           Record GL context supplied by downstream elements. This can be useful,
11540           and further needed, to enforce run-time check that the GL context is
11541           compatible for use by libgstvaapi. e.g. check that we don't create a
11542           VA/GLX display for EGL/X11 contexts.
11543           https://bugzilla.gnome.org/show_bug.cgi?id=725643
11544           Original-path-by: Matthew Waters <ystreet00@gmail.com>
11545
11546 2014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11547
11548         * tests/Makefile.am:
11549         * tests/output.c:
11550           egl: update tests.
11551           Add initial support for EGL to tests. The new EGL backend can be selected
11552           through the --egl command line option. The OpenGL|ES version can further
11553           be selected with the --gles-version command line option, where the default
11554           of 0 means "desktop" OpenGL.
11555
11556 2015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11557
11558         * gst-libs/gst/vaapi/Makefile.am:
11559         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
11560         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
11561         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
11562         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
11563         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
11564           egl: add windowing support.
11565           This provides for some basic EGL window abstraction.
11566
11567 2015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11568
11569         * gst-libs/gst/vaapi/Makefile.am:
11570         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
11571         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
11572         * gst-libs/gst/vaapi/gstvaapitexture_egl.h:
11573           egl: add texture abstraction.
11574           Add GstVaapiTextureEGL abstraction that can create its own GL texture,
11575           or import a foreign allocated one, while still allowing updates from a
11576           VA surface.
11577
11578 2014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11579
11580         * gst-libs/gst/vaapi/Makefile.am:
11581         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
11582         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
11583           egl: allow for EGLImage imports into VA Surfaces.
11584           Add helpers to import EGLImage objects into VA surfaces. There are
11585           two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
11586           which allows for implicit conversion from EGLImage to a VA surface
11587           in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
11588           which exactly wraps the source EGLImage, typically in RGBA format
11589           with linear storage.
11590           Note: in case of (i), the EGLImage can be disposed right after the
11591           VA surface creation call, unlike in (ii) where the user shall ensure
11592           that the EGLImage is live until the associated VA surface is no longer
11593           needed.
11594           https://bugzilla.gnome.org/show_bug.cgi?id=743847
11595
11596 2015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11597
11598         * configure.ac:
11599         * gst-libs/gst/vaapi/Makefile.am:
11600         * gst-libs/gst/vaapi/egl_compat.h:
11601         * gst-libs/gst/vaapi/egl_vtable.h:
11602         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11603         * gst-libs/gst/vaapi/gstvaapidisplay.h:
11604         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
11605         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
11606         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
11607         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
11608         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
11609         * gst-libs/gst/vaapi/ogl_compat.h:
11610           Add initial support for EGL.
11611           Add initial support for EGL to libgstvaapi core library. The target
11612           display server and the desired OpenGL API can be programmatically
11613           selected at run-time.
11614           A comprehensive set of EGL utilities are provided to support those
11615           dynamic selection needs, but also most importantly to ensure that
11616           the GL command stream is executed from within a single thread.
11617           https://bugzilla.gnome.org/show_bug.cgi?id=743846
11618
11619 2015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11620
11621         * gst-libs/gst/vaapi/gstvaapivalue.c:
11622           libs: initialize GValues in a thread-safe manner.
11623
11624 2015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11625
11626         * gst-libs/gst/vaapi/gstvaapivalue.c:
11627           libs: re-indent all GValue related source code.
11628
11629 2015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11630
11631         * gst/vaapi/gstvaapidecode.c:
11632           vaapidecode: partially revert 0777f35.
11633           Reset the VA decoder after updating the base plugin caps, and most
11634           importantly, after GstVideoDecoder negotiation. The reason behind
11635           this is that the negotiation could trigger a last decide_allocation()
11636           where we could actually derive a new GstVaapiDisplay to use from the
11637           downstream element. e.g. GLX backend.
11638
11639 2015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11640
11641         * gst/vaapi/gstvaapidecode.c:
11642           vaapidecode: Caps query should return the list of all supported caps.
11643           Query caps filtering should be always done on top of allowed caps instead
11644           of existing fixed caps on a particular pad.
11645           This fixes the mvc stream decoding when there is a base view(high profile)
11646           and non-base view(stereo-high profile).
11647
11648 2015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11649
11650         * gst/vaapi/gstvaapidecode.c:
11651           vaapidecode: intersect filter from query caps
11652           According to documentation[1] when receiving a GST_QUERY_CAPS
11653           the return value should be all formats that this elements supports,
11654           taking into account limitations of peer elements further downstream
11655           or upstream, sorted by order of preference, highest preference first.
11656           This patch add those limitations intersecting with the received
11657           filter in the query. Also takes into account the already negotiated
11658           caps. Also adds the processing of the query on the SRC pad.
11659           1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
11660           https://bugzilla.gnome.org/show_bug.cgi?id=744406
11661
11662 2015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11663
11664         * gst-libs/gst/vaapi/Makefile.am:
11665         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11666         * gst-libs/gst/vaapi/gstvaapidecoder.c:
11667         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11668         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11669         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11670         * gst/vaapi/gstvaapivideomemory.c:
11671           Fix compiler warnings
11672           This patch fixes some warnings that gcc 4.9 reports.
11673           https://bugzilla.gnome.org/show_bug.cgi?id=744411
11674
11675 2015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11676
11677         * gst/vaapi/gstvaapidecode.c:
11678           vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
11679           Hence the function name is shown in the gst-inspect-1.0 information
11680           rather than the memory address.
11681           https://bugzilla.gnome.org/show_bug.cgi?id=744330
11682
11683 2015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11684
11685         * gst/vaapi/gstvaapidecode.c:
11686           vaapidecode: log flow error name
11687           https://bugzilla.gnome.org/show_bug.cgi?id=744387
11688
11689 2015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11690
11691         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11692           VC1: decoder: Ignore VC1 user BDU's
11693           Don't return error if the processed BDU is a user one, just ignore them.
11694           https://bugzilla.gnome.org/show_bug.cgi?id=741237
11695           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11696
11697 2015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
11698
11699         * gst/vaapi/gstvaapidecode.c:
11700         * gst/vaapi/gstvaapipluginbase.c:
11701           vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
11702           This is required in GStreamer, elements should never return
11703           GST_FLOW_ERROR without posting an ERROR message on the bus.
11704           https://bugzilla.gnome.org/show_bug.cgi?id=744620
11705
11706 2015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11707
11708         * gst/vaapi/Makefile.am:
11709         * gst/vaapi/gstvaapi.c:
11710         * gst/vaapi/gstvaapiencode_vp8.c:
11711         * gst/vaapi/gstvaapiencode_vp8.h:
11712           plugins: Add VP8 Encoder
11713
11714 2015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11715
11716         * gst-libs/gst/vaapi/Makefile.am:
11717         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11718         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
11719           Add VP8 Encoder to core libgstvaapi.
11720
11721 2015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11722
11723         * configure.ac:
11724           configure: Add Check for VP8 Encoding API
11725
11726 2015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
11727
11728         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11729           decoder: vc1: Rounding control handling for VC1 simple and Main profile
11730           Added rounding control handling for VC1 simple and Main profile
11731           based on VC1 standard spec: section 8.3.7
11732           https://bugzilla.gnome.org/show_bug.cgi?id=743958
11733           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
11734           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11735
11736 2015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11737
11738         * gst/vaapi/Makefile.am:
11739           build: fix make dist when certain conditionals not met.
11740           Fix typo which was preventing the inclusion of jpeg encoder
11741           source files from make dist (when there is no jpeg encoder
11742           API support in libva).
11743
11744 2015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11745
11746         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11747           encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
11748           If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
11749           use native YUV420 format (which is i420) as default.
11750
11751 2015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11752
11753         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11754           encoder: Only support YUV420 native format as input for now
11755           Practically we should be able to support more formats, for eg:
11756           JPEG Encoder can support YUV422, RGBA and all.
11757           But this is causing more issues which need proper fix here and there.
11758
11759 2015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
11760
11761         * gst-libs/gst/vaapi/gstvaapidecoder.h:
11762         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
11763         * gst/vaapi/gstvaapidecode.c:
11764           vaapidecode: Check the condition after taking the lock
11765           Otherwise the condition could become true before the lock
11766           is taken and the g_cond_signal() could be called
11767           before the g_cond_wait(), so the g_cond_wait() is never
11768           awoken.
11769           https://bugzilla.gnome.org/show_bug.cgi?id=740645
11770
11771 2015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11772
11773         * gst/vaapi/Makefile.am:
11774         * gst/vaapi/gstvaapi.c:
11775         * gst/vaapi/gstvaapiencode_jpeg.c:
11776         * gst/vaapi/gstvaapiencode_jpeg.h:
11777           plugins: Add JPEG encoder element
11778
11779 2015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11780
11781         * gst-libs/gst/vaapi/gstvaapicontext.c:
11782           gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
11783
11784 2015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11785
11786         * gst-libs/gst/vaapi/gstvaapicontext.c:
11787           gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
11788           Don't add the VAConfigAttribRateControl to the attribute list using
11789           for the vaCreateConfig if it is not supported by the driver.
11790
11791 2015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11792
11793         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11794           gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
11795
11796 2015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11797
11798         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11799           gstvaapiencoder: Fix crash when handling rate control mask
11800           Having a ratecontrol_mask equal to zero is not a bug, but the driver
11801           might not be supporting any kind of rate control mechanisms.
11802           Eg: JPEG Encoding
11803
11804 2015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11805
11806         * gst-libs/gst/vaapi/Makefile.am:
11807         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11808         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
11809           encoder: Add JPEG Encoder
11810
11811 2015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11812
11813         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
11814         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
11815           encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
11816
11817 2015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11818
11819         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11820         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11821         * gst-libs/gst/vaapi/gstvaapiprofile.c:
11822         * gst-libs/gst/vaapi/gstvaapiprofile.h:
11823           Encode: Add support for Picture level Entrypoint
11824           This is useful for JPEG encoding which is utilizing picture level
11825           entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
11826
11827 2015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11828
11829         * configure.ac:
11830           configure: Add Check for JPEG encoding API
11831
11832 2015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11833
11834         * AUTHORS:
11835           AUTHORS: Updates
11836
11837 2015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11838
11839         * configure.ac:
11840           Bump version for development.
11841
11842 === release 0.5.10 ===
11843
11844 2015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11845
11846         * configure.ac:
11847           0.5.10
11848
11849 2015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11850
11851         * NEWS:
11852           NEWS: Updates
11853
11854 2015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11855
11856         * gst/vaapi/gstvaapivideometa_texture.c:
11857           Fix compilation error if there is no GL/gl.h header file installed
11858
11859 2015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11860
11861         * gst/vaapi/gstvaapivideomemory.h:
11862           plugins: drop leftover declaration.
11863           GstVaapiVideoMemory quark is not needed any more, and the actual
11864           implementation was already removed bfore the merge. i.e. this is
11865           an oversight for a hunk that was not meant to be pushed.
11866
11867 2015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11868
11869         * gst/vaapi/gstvaapipluginbase.c:
11870         * gst/vaapi/gstvaapivideobufferpool.c:
11871         * gst/vaapi/gstvaapivideobufferpool.h:
11872         * gst/vaapi/gstvaapivideomemory.c:
11873         * gst/vaapi/gstvaapivideomemory.h:
11874           plugins: add support for dma_buf exports (v4l2src).
11875           Allow v4l2src element to connected to vaapipostproc or vaapisink when
11876           "io-mode" is set to "dmabuf-import". In practice, this is a more likely
11877           operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
11878           to "dmabuf" could work, but with more demanding driver or kernel reqs.
11879           Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
11880           with --without-libv4l2.
11881           https://bugzilla.gnome.org/show_bug.cgi?id=743635
11882
11883 2014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
11884
11885         * configure.ac:
11886         * gst/vaapi/Makefile.am:
11887         * gst/vaapi/gstvaapipluginbase.c:
11888           plugins: add support for dma_buf imports.
11889           Allow imports of v4l2 buffers into VA surfaces for further operation
11890           with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
11891           https://bugzilla.gnome.org/show_bug.cgi?id=735362
11892           [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
11893           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11894
11895 2014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11896
11897         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11898         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11899           surface: add support for GEM buffer imports.
11900           Add support for GEM buffer imports. This is useful for VA/EGL interop
11901           with legacy Mesa implementations, or when it is desired or required to
11902           support outbound textures for instance.
11903           https://bugzilla.gnome.org/show_bug.cgi?id=736718
11904
11905 2014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11906
11907         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11908         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11909           surface: add support for dma_buf imports.
11910           Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
11911           to allow for creating VA surfaces from a foreign DRM PRIME fd. The
11912           resulting VA surface owns the supplied buffer handle.
11913           https://bugzilla.gnome.org/show_bug.cgi?id=735362
11914
11915 2015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11916
11917         * gst-libs/gst/vaapi/gstvaapisurface.c:
11918         * gst-libs/gst/vaapi/gstvaapisurface.h:
11919         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
11920           surface: add initial support for foreign buffer imports.
11921           Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
11922           create a VA surface from an external buffer provided throug the
11923           new GstVaapiBufferProxy object.
11924
11925 2014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11926
11927         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11928         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11929         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11930         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11931           surface: add support for GEM buffer exports.
11932           Add support for GEM buffer exports. This will only work with VA drivers
11933           based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
11934           to support interop with EGL and the "Desktop" GL specification. Indeed,
11935           the EXT_image_dma_buf_import extension is not going to be supported in
11936           Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
11937           there.
11938           This is useful for implementing VA/EGL interop with legacy Mesa stacks,
11939           in Desktop OpenGL context.
11940           https://bugzilla.gnome.org/show_bug.cgi?id=736717
11941
11942 2014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11943
11944         * gst-libs/gst/vaapi/Makefile.am:
11945         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11946         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11947         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11948         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11949           surface: add support for dma_buf exports.
11950           Use the new VA buffer export APIs to allow for a VA surface to be
11951           exposed as a plain PRIME fd. This is in view to simplifying interop
11952           with EGL or OpenCL for instance.
11953           https://bugzilla.gnome.org/show_bug.cgi?id=735364
11954
11955 2014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11956
11957         * gst-libs/gst/vaapi/Makefile.am:
11958         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11959         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11960         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
11961           Add abstraction for exported VA buffers.
11962           The VA buffer export APIs work for a particular lifetime starting from
11963           vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
11964           it could be much more convenient to support implicit releases by simply
11965           having a refcount reaching zero.
11966           https://bugzilla.gnome.org/show_bug.cgi?id=736721
11967
11968 2015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11969
11970         * gst-libs/gst/vaapi/Makefile.am:
11971           Add missing header file to Makefile
11972           Add gstvaapitexture_glx.h to Makefile.am
11973
11974 2015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11975
11976         * gst-libs/gst/vaapi/gstvaapicontext.c:
11977         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
11978         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
11979         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
11980         * gst/vaapi/gstvaapipostproc.c:
11981         * gst/vaapi/gstvaapiuploader.c:
11982         * gst/vaapi/gstvaapivideobufferpool.c:
11983         * gst/vaapi/gstvaapivideomemory.c:
11984         * gst/vaapi/gstvaapivideomemory.h:
11985         * tests/test-surfaces.c:
11986           videopool: add optional flags for surface pool allocation.
11987           Reword surface pool allocation helpers so that to allow for a simple
11988           form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
11989           somewhat more elaborated/flexible form with optional allocation flags
11990           and precise GstVideoInfo specification.
11991           This is an API/ABI change, and SONAME version needs to be bumped.
11992
11993 2015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11994
11995         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
11996         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
11997         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
11998         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
11999         * gst-libs/gst/vaapi/gstvaapivideopool.c:
12000         * gst-libs/gst/vaapi/gstvaapivideopool.h:
12001         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
12002           videopool: re-indent all GstVaapiVideoPool related source code.
12003
12004 2014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12005
12006         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12007         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12008           window: add toplevel display indirection for visualid and colormap.
12009           Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
12010           the best suitable window visual id and colormap. This is an indirection in
12011           view to supporting EGL and custom/generic replacements.
12012
12013 2014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12014
12015         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12016         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12017         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12018         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
12019           window: add toplevel API to determine the colormap.
12020           Add GstVaapiWindowClass::get_colormap() hook to help determine the
12021           currently active colormap bound to the supplied window, or actually
12022           create it if it does not already exist yet.
12023
12024 2014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12025
12026         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
12027         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
12028         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12029         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12030         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12031         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
12032           window: add toplevel API to determine a visual id.
12033           Add GstVaapiWindowClass::get_visual_id() function hook to help find
12034           the best suitable visual id for the supplied window. While doing so,
12035           also simplify the process by which an X11 window is created with a
12036           desired Visual, i.e. now use a visual id instead of a Visual object.
12037
12038 2014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12039
12040         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12041         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12042         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12043         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12044         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12045         * gst-libs/gst/vaapi/gstvaapiwindow.c:
12046         * gst-libs/gst/vaapi/gstvaapiwindow.h:
12047         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
12048         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12049         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12050         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12051         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12052           window: add generic helper to create windows.
12053           Add a new generic helper function gst_vaapi_window_new() to create
12054           a window without having the caller to check for the display type
12055           himself. i.e. internally, there is now a GstVaapiDisplayClass hook
12056           to create windows, and the actual backend implementation fills it in.
12057           Add new generic helper functions gst_vaapi_texture_new_wrapped()
12058           This is a simplification in view to supporting EGL.
12059
12060 2014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12061
12062         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12063         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12064         * gst-libs/gst/vaapi/gstvaapitexture.c:
12065         * gst/vaapi/gstvaapivideometa_texture.c:
12066           display: add utility function to check for OpenGL rendering.
12067           Add gst_vaapi_display_has_opengl() helper function to help determining
12068           whether the display can support OpenGL context to be bound to it, i.e.
12069           if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
12070
12071 2014-12-10 18:02:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12072
12073         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12074         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12075         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12076         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
12077         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12078         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12079         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12080         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12081         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
12082         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12083         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
12084         * gst/vaapi/gstvaapipluginutil.c:
12085         * gst/vaapi/gstvaapivideobuffer.c:
12086         * gst/vaapi/gstvaapivideometa_texture.c:
12087           display: refine the meaning of display type.
12088           Make gst_vaapi_display_get_display_type() return the actual VA display
12089           type. Conversely, add a gst_vaapi_display_get_class_type() function to
12090           return the type of the GstVaapiDisplay instance. The former is used to
12091           identify the display server onto which the application is running, and
12092           the latter to identify the original object class.
12093
12094 2014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12095
12096         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12097         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12098         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12099         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12100         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12101         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12102           display: cosmetics (helper macros, new internal API names).
12103           Add more helper macros to the top-level GstVaapiDisplay interfaces.
12104           Rename a few others used internally for improved consistency.
12105
12106 2014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12107
12108         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12109         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12110         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
12111         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
12112         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
12113         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12114         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12115         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12116           display: record native display object.
12117           Record the underlying native display instance into the toplevel
12118           GstVaapiDisplay object. This is useful for fast lookups to the
12119           underlying native display, e.g. for creating an EGL display.
12120
12121 2014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12122
12123         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12124         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
12125         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
12126           display: use a recursive mutex for the display cache.
12127           Use a recursive mutex for the display cache so that a 3rdparty display
12128           object could be initialized during the initialization of the parent
12129           display.
12130
12131 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12132
12133         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12134         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12135         * gst-libs/gst/vaapi/gstvaapitexture.c:
12136         * gst-libs/gst/vaapi/gstvaapitexture.h:
12137         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
12138         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
12139           texture: add generic helper to create textures.
12140           Add new generic helper functions gst_vaapi_texture_new_wrapped()
12141           and gst_vaapi_texture_new() to create a texture without having
12142           the caller to uselessly check for the display type himself. i.e.
12143           internally, there is now a GstVaapiDisplayClass hook to create
12144           textures, and the actual backend implementation fills it in.
12145           This is a simplification in view to supporting EGL.
12146
12147 2014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12148
12149         * gst-libs/gst/vaapi/Makefile.am:
12150         * gst-libs/gst/vaapi/gstvaapitexture.c:
12151         * gst-libs/gst/vaapi/gstvaapitexture.h:
12152         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
12153         * gst-libs/gst/vaapi/gstvaapitexture_glx.h:
12154         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
12155         * gst/vaapi/gstvaapivideoconverter_glx.c:
12156         * gst/vaapi/gstvaapivideometa_texture.c:
12157         * tests/test-textures.c:
12158           texture: move to core libgstvaapi base library.
12159           GstVaapiTexture is a generic abstraction that could be moved to the
12160           core libgstvaapi library. While doing this, no extra dependency needs
12161           to be added. This means that a GstVaapitextureClass is now available
12162           for any specific code that needs to be added, e.g. creation of the
12163           underlying GL texture objects, or backend dependent ways to upload
12164           a surface to the texture object.
12165           Generic OpenGL data types (GLuint, GLenum) are also replaced with a
12166           plain guint.
12167           https://bugzilla.gnome.org/show_bug.cgi?id=736715
12168
12169 2014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12170
12171         * configure.ac:
12172         * gst-libs/gst/vaapi/Makefile.am:
12173         * gst-libs/gst/vaapi/gstvaapicompat.h:
12174         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12175         * gst-libs/gst/vaapi/gstvaapitexture.c:
12176           texture: drop support for VA/GLX interfaces.
12177           The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
12178           ease of use, but they had other caveats to deal with. It's now better
12179           to move on to legacy mode, whereby VA/GLX interop is two be provided
12180           through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
12181           https://bugzilla.gnome.org/show_bug.cgi?id=736711
12182
12183 2014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12184
12185         * gst-libs/gst/vaapi/gstvaapitexture.c:
12186         * gst-libs/gst/vaapi/gstvaapitexture.h:
12187         * gst/vaapi/gstvaapivideoconverter_glx.c:
12188         * gst/vaapi/gstvaapivideometa_texture.c:
12189         * tests/test-textures.c:
12190           texture: add support for cropping rectangle during transfer.
12191           The gst_vaapi_texture_put_surface() function is missing a crop_rect
12192           argument that would be used during transfer for cropping the source
12193           surface to the desired dimensions.
12194           Note: from a user point-of-view, he should create the GstVaapiTexture
12195           object with the cropped size. That's the default behaviour in software
12196           decoding pipelines that we need to cope with.
12197           This is an API/ABI change, and SONAME version needs to be bumped.
12198           https://bugzilla.gnome.org/show_bug.cgi?id=736712
12199
12200 2014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12201
12202         * gst-libs/gst/vaapi/gstvaapitexture.c:
12203         * gst-libs/gst/vaapi/gstvaapitexture.h:
12204           texture: re-indent all GstVaapiTexture related source code.
12205
12206 2015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12207
12208         * gst-libs/gst/vaapi/gstvaapisurface.c:
12209         * gst-libs/gst/vaapi/gstvaapisurface.h:
12210           surface: add more fine-grained allocation helper.
12211           Add new gst_vaapi_surface_new_full() helper function that allocates
12212           VA surface from a GstVideoInfo template in argument. Additional flags
12213           may include ways to
12214           - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
12215           - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
12216           - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
12217
12218 2014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12219
12220         * gst-libs/gst/vaapi/gstvaapisurface.c:
12221         * gst-libs/gst/vaapi/gstvaapisurface.h:
12222         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
12223           surface: re-indent all GstVaapiSurface related source code.
12224
12225 2015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12226
12227         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12228         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
12229           surfaceproxy: add helper to create a wrapped surface object.
12230           Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
12231           a proxy. The main use case for that is to convey additional information
12232           at the proxy level that would not be suitable to the plain surface.
12233
12234 2015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12235
12236         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12237         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
12238         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
12239           surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
12240
12241 2015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12242
12243         * configure.ac:
12244           libs: bump library major version.
12245
12246 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12247
12248         * gst-libs/gst/vaapi/gstvaapitypes.h:
12249           libs: re-introduce a GST_VAAPI_ID_INVALID value.
12250           Re-introduce a GST_VAAPI_ID_INVALID value that represents
12251           a non-zero and invalid id. This is useful to have a value
12252           that is still invalid for cases where zero could actually
12253           be a valid value.
12254
12255 2014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12256
12257         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
12258         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
12259           libs: expose GstVaapiMiniObject APIs to all backends.
12260           Make it possible to have all libgstvaapi backends (libs) access to a
12261           common GstVaapiMiniObject API and implementation. This is a minor step
12262           towards full exposure when needed, but restrict it to libgstvaapi at
12263           this time.
12264
12265 2014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12266
12267         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
12268         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
12269         * gst-libs/gst/vaapi/gstvaapiobject.c:
12270         * gst-libs/gst/vaapi/gstvaapiobject.h:
12271         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
12272           libs: re-indent all GstVaapiObject related source code.
12273           Re-indent and provide additional minor cosmetical changes to the
12274           GstVaapiMiniObject and GstVaapiObject source files.
12275
12276 2015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12277
12278         * gst/vaapi/gstvaapipluginutil.c:
12279           pluginutil: Fix clearing of subtitle overlay
12280           dvbsuboverlay signals no subtitles present by not setting
12281           GstVideoOverlayCompositionMeta on a buffer.
12282           Detect this, and remove subtitles whenever we have no overlay composition to
12283           hand.
12284           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12285
12286 2015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
12287
12288         * gst/vaapi/gstvaapipostproc.c:
12289           vaapipostproc: clear state on stop
12290           Otherwise restarting may fail because the state of vaapipluginbase and
12291           vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
12292           initailization and not call gst_vaapi_plugin_base_set_caps()
12293
12294 2015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
12295
12296         * gst/vaapi/gstvaapidecode.c:
12297           vaapidecode: don't print an error message for GST_FLOW_FLUSHING
12298
12299 2015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12300
12301         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12302           gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
12303           Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
12304           since the vaaapi context creation (gstvaapicontext.c) can still use the
12305           default chroma type which is YUV420.
12306           https://bugzilla.gnome.org/show_bug.cgi?id=743567
12307           https://bugzilla.gnome.org/show_bug.cgi?id=743035
12308
12309 2015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12310
12311         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
12312         * patches/videoparsers/series.frag:
12313           h264parse: drop patches merged upstream.
12314           0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
12315
12316 2015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12317
12318         * ext/codecparsers:
12319           codecparsers: update to gst-vaapi-branch commit d3b5c1b
12320           8194cac: h264parse: parse SPS subset
12321           64b7f52: h264parse: expose stereo-high profile
12322           774360a: h264parse: add initial support for MVC NAL units
12323           258478f: h264parser: fix stack smashing
12324
12325 2015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12326
12327         * gst/vaapi/gstvaapivideometa_texture.c:
12328           Fix compilation error if there is no GL/gl.h header file installed
12329
12330 2015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12331
12332         * gst/vaapi/gstvaapidecode.c:
12333           vaapidecode: commit updated srcpad caps to base plugin.
12334           Make sure that the GstVaapiPluginBase instance receives the new src
12335           pad caps whenever they get updated from within the GstVaapiDecoder
12336           decode routines.
12337           This also ensures that downstream elements receive correctly sized
12338           SW decoded buffers if needed.
12339           https://bugs.tizen.org/jira/browse/TC-114
12340
12341 2015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12342
12343         * gst/vaapi/gstvaapidecode.c:
12344           vaapidecode: always reset decoder on ::set_format().
12345           Split GstVideoDecoder::set_format() handler to first update the sink
12346           pad caps and reset the active VA decoder instance based on those, and
12347           then update the src pad caps whenever possible, e.g. when the caps
12348           specify a valid video resolution.
12349
12350 2015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12351
12352         * gst/vaapi/gstvaapivideomemory.c:
12353           vaapivideomemory: don't crash when trying to allocate 0x0 images.
12354           In some occasions, a buffer pool is created for pre-initialization
12355           purposes regardless of whether a valid image size is available or
12356           not. However, during actual decode stage, the vaapidecode element
12357           is expected to update the srcpad caps with the new dimensions, thus
12358           also triggering a reset of the underlying bufferpool.
12359
12360 2015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12361
12362         * ext/codecparsers:
12363           codecparsers: update to gst-vaapi-branch commit 191cb2f
12364           347605a: h264parse: expose compatible profiles to downstream
12365           d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
12366           24a3126: Revert "h264parse: expose compatible profiles to downstream"
12367           8661740: h264parse: expose compatible profiles to downstream
12368           8b7ef3f: codecparsers: fix some compiler warnings
12369
12370 2014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12371
12372         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12373           encoder: h264: Fix the period between I/P frames
12374           If the key-frame period is set as one, then ip_period shuld be zero
12375           https://bugzilla.gnome.org/show_bug.cgi?id=734992
12376
12377 2014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12378
12379         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12380           encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
12381           https://bugzilla.gnome.org/show_bug.cgi?id=734993
12382
12383 2014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12384
12385         * gst/vaapi/gstvaapisink.c:
12386           vaapisink: Protect the X11 API invokations with proper locking
12387           https://bugzilla.gnome.org/show_bug.cgi?id=739808
12388
12389 2014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12390
12391         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12392           encoder: h264: fix pixel-aspect-ratio in encoded stream.
12393           Really report sample aspect ratio (SAR) as present, and make it match
12394           what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
12395           really make sure VUI parameter aspect_ratio_info_present_flag is set
12396           to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
12397           This is a leftover from git commit a12662f.
12398           https://bugzilla.gnome.org/show_bug.cgi?id=740360
12399
12400 2014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12401
12402         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
12403           decoder: mpeg4: fix uninitialized variables.
12404           Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
12405           GST_MPEG4_USER_DATA so that a parse error would result in skipping
12406           that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
12407           initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
12408
12409 2014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12410
12411         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12412           encoder: h264: fix profile limits.
12413           Fix ensure_profile_limits() to lower profile to the desired limits,
12414           only if the latter are actually known and the profile needed to be
12415           changed to fit.
12416
12417 2014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12418
12419         * gst/vaapi/gstvaapipostproc.c:
12420           vaapipostproc: fix out caps for GLMemory.
12421           If the best downstream capsfeature turns out to be GLMemory, then make
12422           sure to propagate RGBA video format in caps to that element. This fixes
12423           the following pipeline: ... ! vaapipostproc ! glimagesink.
12424
12425 2014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12426
12427         * gst/vaapi/gstvaapipostproc.c:
12428           vaapipostproc: fix check for compatible src pad capsfilters.
12429           When an explicit output video format is selected, from an src pad
12430           capsfilter, make sure that the downstream element actually supports
12431           that format. In particular, fix crash with the following pipelines:
12432           ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
12433           XXX is a format not supported by xvimagesink.
12434           While doing so, also reduce the set of src pad filter caps to the
12435           actual set of allowed src pad caps.
12436
12437 2014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12438
12439         * gst/vaapi/gstvaapipostproc.c:
12440         * gst/vaapi/gstvaapipostproc.h:
12441         * gst/vaapi/gstvaapiuploader.c:
12442         * gst/vaapi/gstvaapiuploader.h:
12443           plugins: re-indent all video processing related source code.
12444
12445 2014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12446
12447         * gst/vaapi/gstvaapivideomemory.c:
12448           plugins: further fixes to the new "current" storage tracker.
12449           The ensure_surface() and ensure_image() functions shall only relate
12450           to the underlying backing store. The actual current flags are to be
12451           updated only through ensure_{surface,image}_is_current() or very other
12452           particular cases in GstMemory hooks.
12453
12454 2014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12455
12456         * gst/vaapi/gstvaapivideomemory.c:
12457           plugins: fix "current" video memory flags.
12458           If the surface proxy is updated into the GstVaapiVideoMemory, then
12459           it is assumed it is the most current representation of the current
12460           video frame. Likewise, make a few more arrangements to have the
12461           "current " flags set more consistently.
12462
12463 2014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12464
12465         * gst/vaapi/gstvaapivideomemory.c:
12466         * gst/vaapi/gstvaapivideomemory.h:
12467         * gst/vaapi/gstvaapivideometa.c:
12468           plugins: ensure VA surface is current prior to using it.
12469           When interacting with SW elements, the buffers and underlying video
12470           memory could be mapped as read/write. However, we need to use those
12471           buffers again as plain VA surfaces, we have to make sure the VA image
12472           is thus committed back to VA surface memory.
12473           This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
12474
12475 2013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12476
12477         * gst/vaapi/gstvaapivideomemory.c:
12478           plugins: enable memory maps for read & write.
12479           Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
12480           buffers can be further processed in-place, e.g. with a textoverlay.
12481           https://bugzilla.gnome.org/show_bug.cgi?id=704078
12482           [ported to current git master branch, amended commit message]
12483           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12484
12485 2014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12486
12487         * gst/vaapi/gstvaapidecode.c:
12488         * gst/vaapi/gstvaapipluginutil.c:
12489         * gst/vaapi/gstvaapipluginutil.h:
12490         * gst/vaapi/gstvaapipostproc.c:
12491           plugins: preserve framerate when updating src caps video format.
12492           In the current implementation, gst_video_info_set_format() would reset
12493           the whole GstVideoInfo structure first, prior to setting video format
12494           and size. So, coleteral information like framerate or pixel-aspect-
12495           ratio are lost.
12496           Provide and use a unique gst_video_info_change_format() for overcome
12497           this issue, i.e. only have it change the format and video size, and
12498           copy over the rest of the fields.
12499           https://bugzilla.gnome.org/show_bug.cgi?id=734665
12500
12501 2014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12502
12503         * gst/vaapi/gstvaapi.c:
12504           vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
12505           This is for helping decodebin to autoplug the vaapidecode element.
12506           Decodebin is selecting decoder elements only based on rank and caps.
12507           Without overriding the autoplug-* signals there is no way to autoplug
12508           HW decoders inside decodebin. An easier soulution is to raise the
12509           rank of vaapidecode, so that it gets selected first.
12510           https://bugzilla.gnome.org/show_bug.cgi?id=739332
12511
12512 2014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12513
12514         * gst-libs/gst/vaapi/gstvaapiprofile.c:
12515         * gst/vaapi/gstvaapidecode.c:
12516           vaapidecode: only expose supported profiles when needed.
12517           JPEG and VP8 codecs do not really support the concept of "profile". So,
12518           don't try to expose any set that wouldn't be supported by jpegparse, or
12519           ivfparse for instance.
12520           https://bugzilla.gnome.org/show_bug.cgi?id=739713
12521           https://bugzilla.gnome.org/show_bug.cgi?id=739714
12522
12523 2014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12524
12525         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12526         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
12527         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
12528         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
12529           decoder: h264: add initial support for repeat-first-field (RFF) flag.
12530           Use the SEI pic_timing() message to track and propagate down the repeat
12531           first field (RFF) flag. This is only initial support as there is one
12532           other condition that could induce the RFF flag, which is not handled
12533           yet.
12534
12535 2014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12536
12537         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12538           decoder: h264: fix picture ordering count type 0 with previous MMCO5.
12539           Fix the decoding process for picture order count type 0 when the previous
12540           picture had a memory_management_control_operation = 5. In particular, fix
12541           the actual variable type for prev_pic_structure to hold the full bits of
12542           the picture structure.
12543           In practice, this used to work though, due to the underlying type used to
12544           express a gboolean.
12545
12546 2014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12547
12548         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12549           decoder: h264: fix detection of top-field-first (TFF) flag.
12550           Use the SEI pic_timing() message to track the pic_struct variable when
12551           present, or infer it from the regular slice header flags field_pic_flag
12552           and bottom_field_flag. This fixes temporal sequence ordering when the
12553           output pictures are to be displayed.
12554           https://bugzilla.gnome.org/show_bug.cgi?id=739291
12555
12556 2014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12557
12558         * ext/codecparsers:
12559           codecparsers: update to gst-vaapi-branch commit 3d05d9f.
12560           1241840 h264: fix derivation of MaxPicNum variable
12561           3bd718e h264: fix GstH264ParserResult documentation typo
12562           b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
12563           b08e4be h264parse: don't unnecesarily set src_caps
12564
12565 2014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12566
12567         * gst/vaapi/gstvaapipostproc.c:
12568           vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
12569           Added the same Klass specifications used in other upstream
12570           video postprocessing elements like videoconvert, videoscale,
12571           videobalance and deinterlace.
12572           An example use case is for this is to help the playsink
12573           to autoplug the hardware accelerated deinterlacer.
12574
12575 2014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12576
12577         * gst/vaapi/gstvaapipostproc.c:
12578           vaapipostproc: Tweak the output video format setting to enable the autoplugging
12579           This is a workaround until auto-plugging is fixed when
12580           format=ENCODED + memory:VASurface caps feature are provided.
12581           Use the downstream negotiated video format as the output video format
12582           if the user didn't ask for the colorspace conversion explicitly.
12583           Usecase: This will help to connect elements like videoscale, videorate etc
12584           to vaapipostproc.
12585           https://bugzilla.gnome.org/show_bug.cgi?id=739443
12586
12587 2014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12588
12589         * gst/vaapi/gstvaapipostproc.c:
12590         * gst/vaapi/gstvaapipostproc.h:
12591           vaapipostproc: allow user defined scaling mode.
12592           Add new "scale-method" property to expose the scaling mode to use during
12593           video processing. Note that this is only a hint, and the actual behaviour
12594           may differ from implementation (VA driver) to implementation.
12595
12596 2014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12597
12598         * gst-libs/gst/vaapi/gstvaapifilter.c:
12599         * gst-libs/gst/vaapi/gstvaapifilter.h:
12600         * gst-libs/gst/vaapi/gstvaapiutils.c:
12601         * gst-libs/gst/vaapi/gstvaapiutils.h:
12602           filter: add initial support for high quality scaling.
12603           Add support for video scaling options in VPP pipelines. Only the
12604           DEFAULT mode is bound to exist. Others might be folded into that
12605           mode.
12606
12607 2014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12608
12609         * gst-libs/gst/vaapi/gstvaapifilter.c:
12610         * gst-libs/gst/vaapi/gstvaapifilter.h:
12611           filter: re-indent all GstVaapiFilter related source code.
12612
12613 2014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12614
12615         * ext/codecparsers:
12616           codecparsers: update to gst-vaapi-branch commit f9d3bde.
12617           2218b02 h264parse: expose parsed profile and level to downstream
12618           3dbfab4 h264parse: return flushing if we get chained while being set to READY
12619           d40fa8b h264: fix frame packing SEI parsing
12620           32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
12621           b3e022e h264: initialize some fields of pic_timing structure
12622           a70661d vc1: fix expected level in sequence-layer parsing unit test
12623           6cee88d vc1: fix level values for simple/main profile
12624           356c189 vc1: add unit test for sequence-layer parsing
12625           ab9f641 vc1: take care of endianness when parsing sequence-layer
12626           8dc8e35 mpeg4: fix vlc table used for sprite trajectory
12627
12628 2014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12629
12630         * gst/vaapi/gstvaapidecode.c:
12631           vaapidecode: Expose the supported profiles as caps to upstream
12632           This will allows the playbin to fallback to Software Decoder
12633           if the Hardware Decoder does not support a particular profile.
12634           https://bugzilla.gnome.org/show_bug.cgi?id=730997
12635
12636 2014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12637
12638         * gst/vaapi/gstvaapiencode.c:
12639         * gst/vaapi/gstvaapiencode.h:
12640         * gst/vaapi/gstvaapiencode_h264.c:
12641           encode: Attach the codec-data to out caps only based on negotiated caps
12642           Attach the codec_data to out_caps only if downstream needed.
12643           For eg: h264 encoder doesn't need to stuff codec_data to the
12644           src caps if the negotiated caps has a stream format of byte-stream.
12645           https://bugzilla.gnome.org/show_bug.cgi?id=734902
12646
12647 2014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12648
12649         * configure.ac:
12650           configure: echoing installation prefix path
12651
12652 2014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12653
12654         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12655           display: add support for DRM Render-Nodes.
12656           Add support for DRM Render-Nodes. This is a new feature that appeared
12657           in kernel 3.12 for experimentation purposes, but was later declared
12658           stable enough in kernel 3.15 for getting enabled by default.
12659           This allows headless usages without authentication at all, i.e. usages
12660           through plain ssh connections is possible.
12661
12662 2014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12663
12664         * gst/vaapi/gstvaapisink.c:
12665           vaapisink: clean-ups (indentation, drop unused variables).
12666
12667 2014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12668
12669         * configure.ac:
12670         * gst/vaapi/gstvaapisink.c:
12671           vaapisink: fix GstNavigation "key-press" / "key-release" events.
12672           Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
12673           to a KeySym. In particular, there is no such Window argument. Also
12674           make sure to check for, and use, the correct <X11/XKBlib.h> header
12675           where that new function is defined. Otherwise, default to the older
12676           XKeycodeToKeysym() function.
12677
12678 2014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12679
12680         * gst/vaapi/gstvaapisink.c:
12681           vaapisink: fix GstNavigation "mouse-move" event.
12682           Really use the motion event coordinates to propagate the "mouse-move"
12683           event to upper layer, instead of those from a button event. Those are
12684           technically the same though.
12685
12686 2014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12687
12688         * gst/vaapi/gstvaapisink.c:
12689           vaapisink: implement the GstNavigation interface
12690           This is useful for things like DVD menus, where key/mouse events
12691           would need to be forwarded from the upstream sink element.
12692           https://bugzilla.gnome.org/show_bug.cgi?id=711479
12693
12694 2014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12695
12696         * gst/vaapi/gstvaapipluginbase.c:
12697           vaapipostproc: fix deinterlacing from non VA memory buffers.
12698           When we copy a buffer because we're moving it into VA-API memory, we
12699           need to copy flags. Otherwise, interlaced YUV buffers from a capture
12700           source (e.g. V4L2) don't get flagged as interlaced.
12701           https://bugzilla.gnome.org/show_bug.cgi?id=726270
12702           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12703           [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
12704           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12705
12706 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12707
12708         * gst/vaapi/gstvaapipostproc.c:
12709           vaapipostproc: add support for GLTextureUploadMeta output.
12710           This allows for vaapipostproc to be chained to the glimagesink element
12711           for instance.
12712           https://bugzilla.gnome.org/show_bug.cgi?id=735231
12713
12714 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12715
12716         * gst/vaapi/gstvaapipluginutil.c:
12717         * gst/vaapi/gstvaapipluginutil.h:
12718         * gst/vaapi/gstvaapipostproc.c:
12719           vaapipostproc: add support for "download" capability.
12720           Allow implicit conversions to raw video formats, while still keeping
12721           VA surfaces underneath. This allows for chaining the vaapipostproc
12722           element to a software-only element that takes care of maps/unmaps.
12723           e.g. xvimagesink.
12724           https://bugzilla.gnome.org/show_bug.cgi?id=720174
12725
12726 2014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12727
12728         * gst/vaapi/gstvaapipostproc.c:
12729         * gst/vaapi/gstvaapipostproc.h:
12730           vaapipostproc: use pooled vaapi video meta.
12731           Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
12732           video buffer allocation. Also optimize copy of additional metadata info
12733           into the resulting video buffer: only copy the video cropping info and
12734           the source surface proxy.
12735           https://bugzilla.gnome.org/show_bug.cgi?id=720311
12736           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12737           [fixed proxy leak, fixed double free on error, optimized meta copy]
12738           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12739
12740 2014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12741
12742         * gst/vaapi/gstvaapipostproc.c:
12743           vaapipostproc: fix passthrough mode.
12744           If no explicit output surface format is supplied try to keep the one
12745           supplied through the sink pad caps. This avoids a useless copy, even
12746           if things are kept in GPU memory.
12747           This is a performance regression from git commit dfa70b9.
12748
12749 2014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12750
12751         * gst/vaapi/gstvaapipostproc.c:
12752         * gst/vaapi/gstvaapipostproc.h:
12753           vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
12754           https://bugzilla.gnome.org/show_bug.cgi?id=720311
12755           [used new infrastructure through base decide_allocation() impl]
12756           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12757
12758 2014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12759
12760         * gst/vaapi/gstvaapipostproc.c:
12761           vaapipostproc: enable advanced deinterlacing with same format.
12762           If only advanced deinterlacing is requested, i.e. deinterlacing is
12763           the only active algorithm to apply with source and output surface
12764           formats being the same, then make sure to enable VPP processing.
12765           Otherwise, allow fallback to bob-deinterlacing with simple rendering
12766           flags alteration.
12767
12768 2014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12769
12770         * gst/vaapi/gstvaapivideomemory.c:
12771           vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
12772           https://bugzilla.gnome.org/show_bug.cgi?id=735156
12773
12774 2014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12775
12776         * gst/vaapi/gstvaapipluginbase.c:
12777         * gst/vaapi/gstvaapipluginutil.c:
12778           plugins: fix memory leaks.
12779
12780 2014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12781
12782         * gst/vaapi/gstvaapidecode.c:
12783         * gst/vaapi/gstvaapipluginbase.c:
12784         * gst/vaapi/gstvaapipluginbase.h:
12785           plugins: factor out decide_allocation() hook.
12786           Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
12787           feature argument can be used to force a bufferpool with a specific kind
12788           of memory.
12789
12790 2014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12791
12792         * gst/vaapi/gstvaapivideobufferpool.c:
12793         * gst/vaapi/gstvaapivideobufferpool.h:
12794         * gst/vaapi/gstvaapivideomemory.c:
12795           plugins: allow bufferpool to not allocate vaapi video meta.
12796           Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
12797           can be used to disable early allocations of vaapi video metas on buffers,
12798           thus delagating that to the bufferpool user.
12799
12800 2014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12801
12802         * gst/vaapi/gstvaapivideobuffer.c:
12803         * gst/vaapi/gstvaapivideobuffer.h:
12804         * gst/vaapi/gstvaapivideobufferpool.c:
12805         * gst/vaapi/gstvaapivideobufferpool.h:
12806         * gst/vaapi/gstvaapivideocontext.c:
12807         * gst/vaapi/gstvaapivideocontext.h:
12808         * gst/vaapi/gstvaapivideoconverter_glx.c:
12809         * gst/vaapi/gstvaapivideoconverter_glx.h:
12810         * gst/vaapi/gstvaapivideoconverter_x11.c:
12811         * gst/vaapi/gstvaapivideoconverter_x11.h:
12812         * gst/vaapi/gstvaapivideomemory.c:
12813         * gst/vaapi/gstvaapivideomemory.h:
12814         * gst/vaapi/gstvaapivideometa.c:
12815         * gst/vaapi/gstvaapivideometa.h:
12816         * gst/vaapi/gstvaapivideometa_texture.c:
12817         * gst/vaapi/gstvaapivideometa_texture.h:
12818           plugins: re-indent all GstVaapiVideo* related source code.
12819
12820 2014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12821
12822         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12823           surfaceproxy: fix copy to propagate view_id.
12824           Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
12825           fixing random frames skipped when vaapipostproc element is used in
12826           passthrough mode. In that mode, GstMemory is copied, thus including
12827           the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
12828
12829 2014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12830
12831         * gst/vaapi/gstvaapipostproc.c:
12832           vaapipostproc: fix detection of output surface format changes.
12833           Default to I420 format for output surfaces so that to match the usual
12834           GStreamer pipelines. Though, internally, we could still opt for NV12
12835           surface formats, i.e. default format=ENCODED is a hint for that, thus
12836           delegating the decision to the VA driver.
12837
12838 2014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12839
12840         * gst/vaapi/gstvaapipostproc.c:
12841           vaapipostproc: fix construction of allowed sink pad caps.
12842           Fix construction of the set of caps allowed on the sink pad to filter
12843           out unsupported raw video caps with GStreamer >= 1.2.
12844
12845 2014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12846
12847         * gst/vaapi/gstvaapipostproc.c:
12848         * gst/vaapi/gstvaapipostproc.h:
12849           vaapipostproc: improve heuristics for detecting native VA surfaces.
12850           Use the new gst_caps_has_vaapi_surface() helper function to detect
12851           whether the sink pad caps contain native VA surfaces, or not, i.e.
12852           no raw video caps.
12853           Also rename is_raw_yuv to get_va_surfaces to make the variable more
12854           explicit as we just want a way to differentiate raw video caps from
12855           VA surfaces actually.
12856
12857 2014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12858
12859         * gst/vaapi/gstvaapipostproc.c:
12860           vaapipostproc: disable discontinuity detection code.
12861           The "discontinuity" tracking code, whereby lost frames are tentatively
12862           detected, is inoperant if the sink pad buffer timestamps are not right
12863           to begin with.
12864           This is a temporary workaround until the following bug is fixed:
12865           https://bugzilla.gnome.org/show_bug.cgi?id=734386
12866
12867 2014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12868
12869         * gst/vaapi/gstvaapipostproc.c:
12870           vaapipostproc: fix heuristic for detecting discontinuity.
12871           In order to make the discontinuity detection code useful, we need to
12872           detect the lost frames in the history as early as the previous frame.
12873           This is because some VA implementations only support one reference
12874           frame for advanced deinterlacing.
12875           In practice, turn the condition for detecting new frame that is beyond
12876           the previous frame from field_duration*2 to field_duration*3, i.e.
12877           nothing received for the past frame and a half because of possible
12878           rounding errors when calculating the field-duration either in this
12879           element (vaapipostproc), or from the upstream element (parser element).
12880           This is a regression introduced with commit faefd62.
12881           https://bugzilla.gnome.org/show_bug.cgi?id=734135
12882
12883 2014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12884
12885         * gst/vaapi/gstvaapipluginbase.c:
12886         * gst/vaapi/gstvaapipluginbase.h:
12887           plugins: fix detection of raw video caps.
12888           Use the new gst_caps_has_vaapi_surface() helper function to better
12889           detect raw video caps, and in particular those from RGB colorspace.
12890           https://bugzilla.gnome.org/show_bug.cgi?id=734665
12891
12892 2014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12893
12894         * gst/vaapi/gstvaapipluginutil.c:
12895         * gst/vaapi/gstvaapipluginutil.h:
12896           plugins: add helper for detecting VA surfaces in caps.
12897           Introduce new gst_caps_has_vaapi_surface() helper function to detect
12898           whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
12899           implies a check for memory:VASurface caps features, and format=ENCODED
12900           for earlier versions of GStreamer.
12901
12902 2014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
12903
12904         * gst/vaapi/gstvaapidecode.c:
12905           vaapidecode: start the decoder task again after finishing
12906           This allows the element to accept data again after draining without
12907           a hard reset or caps change happening in between.
12908           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12909
12910 2014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
12911
12912         * gst/vaapi/gstvaapidecode.c:
12913           vaapidecode: unlock condition variables before shutting down the element
12914           Otherwise threads might wait for them, causing the shutdown of the element
12915           to deadlock on the streaming thread.
12916           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12917
12918 2014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
12919
12920         * gst/vaapi/gstvaapidecode.c:
12921           vaapidecode: reset decoder_finish variable after stopping the decoder thread
12922           Otherwise the element is not usable again after draining/EOS.
12923           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12924
12925 2014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
12926
12927         * gst/vaapi/gstvaapidecode.c:
12928           vaapidecode: don't try flushing the decoder instance if we didn't create one yet
12929           This otherwise results in unnecessary error messages.
12930           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12931
12932 2014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12933
12934         * gst-libs/gst/vaapi/Makefile.am:
12935         * gst/vaapi/Makefile.am:
12936           build: fix with --no-undefined linker flags.
12937           https://bugzilla.gnome.org/show_bug.cgi?id=729352
12938
12939 2014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
12940
12941         * gst/vaapi/gstvaapisink.c:
12942         * gst/vaapi/gstvaapisink.h:
12943           vaapisink: add support for GstColorBalance interface.
12944           https://bugzilla.gnome.org/show_bug.cgi?id=722390
12945           [fixed channel names, simplified range factor, fixed memory leak]
12946           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12947
12948 2014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
12949
12950         * gst/vaapi/gstvaapisink.c:
12951         * gst/vaapi/gstvaapisink.h:
12952           vaapisink: add support for colorbalance adjustment.
12953           https://bugzilla.gnome.org/show_bug.cgi?id=722390
12954           [fixed and simplified tracking of colorbalance value changes]
12955           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12956
12957 2014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12958
12959         * gst/vaapi/gstvaapisink.c:
12960           vaapisink: improve installation of properties.
12961           Simplify the creation and installation process of properties, by first
12962           accumulating them into a g_properties[] array, and next calling into
12963           g_object_class_install_properties().
12964           Also add missing docs and flags to some properties.
12965
12966 2014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12967
12968         * gst/vaapi/gstvaapisink.c:
12969         * gst/vaapi/gstvaapisink.h:
12970           vaapisink: code clean-ups.
12971           Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
12972           helper macro and use it wherever we know the object is a GstBaseSink or
12973           any base class. Drop explicit initializers for values that have defaults
12974           set to zero.
12975
12976 2014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12977
12978         * gst/vaapi/gstvaapisink.c:
12979         * gst/vaapi/gstvaapisink.h:
12980           vaapisink: re-indent all GstVaapiSink related source code.
12981
12982 2014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12983
12984         * gst/vaapi/gstvaapisink.c:
12985         * gst/vaapi/gstvaapisink.h:
12986           vaapisink: introduce separate backends.
12987           Introduce new backends vtable so that to have clean separation between
12988           display dependent code and common base code. That's a "soft" separation,
12989           we don't really need dedicated objects.
12990           https://bugzilla.gnome.org/show_bug.cgi?id=722248
12991
12992 2014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12993
12994         * gst/vaapi/gstvaapisink.c:
12995         * gst/vaapi/gstvaapisink.h:
12996           vaapisink: drop unused "synchronous" mode.
12997           Support for X11 "synchronous" mode was never implemented, and was only
12998           to be useful for debugging. Drop that altogether, that's not going to
12999           be useful in practice.
13000           https://bugzilla.gnome.org/show_bug.cgi?id=733985
13001
13002 2014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13003
13004         * gst/vaapi/gstvaapisink.c:
13005         * gst/vaapi/gstvaapisink.h:
13006           vaapisink: drop unused variables.
13007           Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
13008           variables. They got merged into the GstVaapiPluginBase object.
13009
13010 2014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13011
13012         * gst/vaapi/gstvaapisink.c:
13013         * gst/vaapi/gstvaapisink.h:
13014           vaapisink: drop GLX rendering and fancy effects.
13015           Rendering with GLX in vaapisink is kind of useless nowadays, including
13016           OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
13017           deprecated in favor of EGL, or more direct buffer sharing with actual
13018           GL textures.
13019           Should testing of interop with GLX be needed, one could still be using
13020           the modern cluttersink or glimagesink elements.
13021           https://bugzilla.gnome.org/show_bug.cgi?id=733984
13022
13023 2013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
13024
13025         * gst/vaapi/gstvaapisink.c:
13026         * gst/vaapi/gstvaapisink.h:
13027           vaapisink: listen to window size changes on X11.
13028           Allow dynamic changes to the window, e.g. performed by the user, and
13029           make sure to refresh its contents, while preserving aspect ratio.
13030           In practice, Expose and ConfigureNotify events are tracked in X11
13031           display mode by default. This occurs in a separte event thread, and
13032           this is similar to what xvimagesink does. Any of those events will
13033           trigger a reconfiguration of the window "soft" size, subsequently
13034           the render-rect when necessary, and finally _expose() the result.
13035           The default of handle_events=true can be changed programatically via
13036           gst_x_overlay_handle_events().
13037           Thanks to Fabrice Bellet for rebasing the patch.
13038           https://bugzilla.gnome.org/show_bug.cgi?id=711478
13039           [dropped XInitThreads(), cleaned up the code a little]
13040           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13041
13042 2014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13043
13044         * gst/vaapi/gstvaapidecode.c:
13045           vaapidecode: decode and output all pending frames on normal EOS.
13046           The gst_vaapidecode_decode_loop() function is called within a separate
13047           task to fetch and output all frames that were decoded so far. So, if
13048           the decoder_loop_status is forcibly set to EOS when _finish() is called,
13049           then we are bound to exist the task without submitting the pending
13050           frames.
13051           If the downstream element error'ed out, then the gst_pad_push() would
13052           propagate up an error and so we will get it right for cutting off
13053           _finish() early in that case.
13054           This is a regression from 6003596.
13055           https://bugzilla.gnome.org/show_bug.cgi?id=733897
13056
13057 2014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13058
13059         * configure.ac:
13060           Bump version for development.
13061
13062 === release 0.5.9 ===
13063
13064 2014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13065
13066         * AUTHORS:
13067           AUTHORS: updates.
13068
13069 2014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13070
13071         * NEWS:
13072           NEWS: updates.
13073
13074 2014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
13075
13076         * gst/vaapi/gstvaapidecode.c:
13077           vaapidecode: properly return from decode loop on downstream errors.
13078           Fixes a hang/race on shutdown where _decode_loop() had already completed
13079           its execution and _finish() was waiting on a GCond for decode_loop()
13080           to complete.  Also fixes the possible race where _finish() is called
13081           but _decode_loop() endlessly returns before signalling completion
13082           iff the decoder instance returns GST_FLOW_OK.
13083           Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
13084           https://bugzilla.gnome.org/show_bug.cgi?id=733897
13085           [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
13086           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13087
13088 2014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13089
13090         * NEWS:
13091         * configure.ac:
13092           0.5.9.
13093
13094 2014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13095
13096         * gst/vaapi/gstvaapisink.c:
13097           vaapisink: fix GstVideoOverlay::expose() implementation.
13098           Now that we always track the currently active video buffer, it is
13099           not necessary to automatically increase its reference since this is
13100           implicitly performed in ::show_frame() through the get_input_buffer()
13101           helper from GstVaapiPluginBase class.
13102           This is a regression from a26df80.
13103
13104 2014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13105
13106         * gst/vaapi/gstvaapidecode.c:
13107         * gst/vaapi/gstvaapipluginutil.c:
13108           vaapidecode: simplify bufferpool configuration.
13109           Rework the logics behind the configuration of an adequate bufferpool,
13110           especially when OpenGL meta or additional capsfeatures are needed.
13111           Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
13112           and that is not system memory, is now selected by default.
13113
13114 2014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13115
13116         * gst/vaapi/gstvaapidecode.c:
13117           vaapidecode: fix auto-plugging of vaapisink element.
13118           Make sure to propagate memory:VASurface capsfeature to srcpad caps
13119           only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
13120           core currently miss additional patches available in 1.5-git (1.6).
13121           This is a temporary workaround.
13122
13123 2014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13124
13125         * configure.ac:
13126           configure: allow builds against GStreamer git (1.5.x).
13127           https://bugzilla.gnome.org/show_bug.cgi?id=733688
13128
13129 2014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13130
13131         * configure.ac:
13132           configure: fix build with GStreamer 1.4.0 release.
13133
13134 2014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13135
13136         * configure.ac:
13137         * debian.upstream/Makefile.am:
13138         * debian.upstream/control.in:
13139           debian: fix packaging for new naming scheme.
13140
13141 2014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13142
13143         * NEWS:
13144           NEWS: updates.
13145
13146 2014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13147
13148         * configure.ac:
13149           configure: mark support for GStreamer < 1.2 as deprecated.
13150           Supporting anything thing below GStreamer 1.2 is asking for trouble
13151           for keeping up with the required facilities to make efficient pipelines.
13152           Users are invited to upgrade to the very latest GStreamer 1.2.x release,
13153           at the minimum.
13154
13155 2014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13156
13157         * configure.ac:
13158           configure: mark support for GStreamer 0.10 as obsolete.
13159           Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
13160           and may actually be removed altogether for a future release. There is
13161           no real point to maintain a build for such an ancient GStreamer version
13162           that is not even supported upstream.
13163
13164 2014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13165
13166         * gst/vaapi/gstvaapisink.c:
13167         * gst/vaapi/gstvaapisink.h:
13168           vaapisink: allow a specific view component to be displayed.
13169           If a multiview stream is decoded, multiple view components are submitted
13170           as is downstream. It is the responsibility of the sink element to display
13171           the required view components. By default, always select the frame buffer
13172           that matches the view-id of the very first frame to be displayed.
13173           However, introduce a "view-id" property to allow the selection of a
13174           specific view component of interest to display.
13175
13176 2014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13177
13178         * gst/vaapi/gstvaapisink.c:
13179           vaapisink: always keep the last displayed buffer around.
13180           Always record the VA surface that is currently being rendered, no matter
13181           the fact we are using texturedblit or overlay. That's because in some
13182           occasions, we need to refresh or resize the displayed contents based on
13183           new events. e.g. user-resized window.
13184           Besides, it's simpler to track the last video buffer in GstVaapiSink than
13185           through the base sink "last-sample".
13186
13187 2014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13188
13189         * gst/vaapi/gstvaapipluginbase.c:
13190         * gst/vaapi/gstvaapipluginbase.h:
13191         * gst/vaapi/gstvaapipluginutil.c:
13192         * gst/vaapi/gstvaapisink.c:
13193           vaapisink: add support for "display-name" property.
13194           Add a "display-name" property to vaapisink so that the end user could
13195           select the desired output. Keep "display-name" in-line with the existing
13196           "display" (GstVaapiDisplayXXX type).
13197           So, for X11 or GLX, the "display-name" is the usual display name as we
13198           know for XOpenDisplay(); for Wayland, the "display-name" is the name used
13199           for wl_display_connect(); and for DRM, the "display-name" is actually the
13200           DRI device name.
13201           https://bugzilla.gnome.org/show_bug.cgi?id=722247
13202
13203 2014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13204
13205         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13206           window: make gst_vaapi_window_reconfigure() thread-safe.
13207           Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
13208           thread-safe by default, so that upper layer users don't need to handle
13209           that explicitly.
13210
13211 2013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
13212
13213         * gst-libs/gst/vaapi/gstvaapiwindow.c:
13214         * gst-libs/gst/vaapi/gstvaapiwindow.h:
13215           window: allow for updating size from current geometry.
13216           Add gst_vaapi_window_reconfigure() interface to force an update of
13217           the GstVaapiWindow "soft" size, based on the current geometry of the
13218           underlying native window.
13219           This can be useful for instance to synchronize the window size when
13220           the user changed it.
13221           Thanks to Fabrice Bellet for rebasing the patch.
13222           [changed interface to gst_vaapi_window_reconfigure()]
13223           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13224
13225 2014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13226
13227         * gst-libs/gst/vaapi/gstvaapiwindow.c:
13228         * gst-libs/gst/vaapi/gstvaapiwindow.h:
13229         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
13230         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
13231         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
13232         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
13233         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
13234         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
13235         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
13236         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13237         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
13238         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
13239           window: re-indent all GstVaapiWindow related source code.
13240
13241 2014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13242
13243         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13244         * gst-libs/gst/vaapi/gstvaapidisplay.h:
13245         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13246           display: add interface to retrieve the display name.
13247           Add gst_vaapi_display_get_display_name() helper function to determine
13248           the name associated with the underlying native display. Note that for
13249           raw DRM backends, the display name is actually the device path.
13250
13251 2014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13252
13253         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
13254           display: fix comparison of X11 display names.
13255           Make sure to not only compare display host names, but also the actual
13256           display number. The screen number does not need to be checked at this
13257           time.
13258
13259 2014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13260
13261         * gst/vaapi/gstvaapidecode.c:
13262         * gst/vaapi/gstvaapivideobufferpool.c:
13263           vaapidecode: add support for VideoAlignment bufferpool option.
13264           Always add VideoAlignment bufferpool option if the downstream element
13265           expects its own pool to be used but does not offer it through a proper
13266           propose_allocation() implementation for instance, and that the ALLOCATION
13267           query does not expose the availability of the Video Meta API.
13268           This fixes propagation of video buffer stride information to Firefox.
13269
13270 2014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13271
13272         * gst/vaapi/gstvaapivideomemory.c:
13273           vaapivideomemory: always prefer native VA surface formats.
13274           Make sure to always prefer native internal formats for the VA surfaces
13275           that get allocated. Also disable "direct-rendering" mode in this case.
13276           This is needed so that to make sure that anything that gets out of the
13277           decoder, or anything that gets into the encoder, is in native format
13278           for the hardware, and thus the driver doesn't need to perform implicit
13279           conversions in there. Interop with SW elements is still available with
13280           fast implementations of VA imaging APIs.
13281
13282 2014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13283
13284         * gst/vaapi/gstvaapivideomemory.c:
13285           vaapivideomemory: disallow memory shares across buffers, use a copy.
13286           Forbid shares of GstMemory instances, and rather make copy of it. This
13287           effectively copies the GstMemory structure and enclosed metadata, but
13288           this does not copy the VA surface contents itself. It should though.
13289           This fixes preroll and makes sure to not download garbage for the first
13290           frame when a SW rendering sink is used.
13291
13292 2014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13293
13294         * gst/vaapi/gstvaapivideomemory.c:
13295         * gst/vaapi/gstvaapivideomemory.h:
13296           vaapivideomemory: use an image pool to cache objects.
13297           Use an image pool to hold VA images to be used for downloads/uploads
13298           of contents for the associated surface.
13299           This is an optmization for size. So, instead of creating as many VA
13300           images as there are buffers (then VA surfaces) allocated, we only
13301           maintain a minimal set of live VA images, thus preserving memory
13302           resources.
13303
13304 2014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13305
13306         * gst/vaapi/gstvaapivideomemory.c:
13307           vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
13308           Disable read-write mappings if "direct-rendering" is not supported.
13309           Since the ordering of read and write operations is not specified,
13310           this would require to always download the VA surface on _map(), then
13311           commit the temporary VA image back to the VA surface on _unmap().
13312           Some SW decoding plug-in elements still use R/W mappings though.
13313           https://bugzilla.gnome.org/show_bug.cgi?id=733242
13314
13315 2014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13316
13317         * gst/vaapi/gstvaapivideomemory.c:
13318           vaapivideomemory: minor code clean-ups.
13319           Fix error messages introduced in the previous commit for the _map()
13320           imaplementation. Also use the new get_image_data() helper function
13321           to determine the base pixels data buffer from a GstVaapiImage when
13322           updating the video info structure from it.
13323
13324 2014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13325
13326         * gst/vaapi/gstvaapivideomemory.c:
13327         * gst/vaapi/gstvaapivideomemory.h:
13328           vaapivideomemory: add support for raw pixels mappings.
13329           Allow raw pixels of the whole frame to be mapped read-only. i.e. in
13330           cases where the buffer pool is allocated without VideoMeta API, thus
13331           individual planes cannot be mapped.
13332           This is initial support for Firefox >= 30.
13333           https://bugzilla.gnome.org/show_bug.cgi?id=731886
13334
13335 2014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13336
13337         * gst/vaapi/gstvaapivideomemory.c:
13338           vaapivideomemory: fix determination of the surface pool format.
13339           While creating the vaapi video allocator, make sure the associated
13340           surface pool has correct format instead of defaulting to NV12 video
13341           format even though there is no direct rendering support.
13342           https://bugzilla.gnome.org/show_bug.cgi?id=732691
13343
13344 2014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13345
13346         * gst/vaapi/gstvaapivideomemory.c:
13347           vaapivideomemory: fix association of surface to proxy.
13348           Make sure to always update the VA surface pointer whenever the proxy
13349           changes. This used to only work when the VA surface is written to, in
13350           interop with SW element ("upload" feature), and this now fixes cases
13351           when the VA surface is needed for reading, in interop with SW element
13352           ("download" feature).
13353
13354 2014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13355
13356         * gst/vaapi/gstvaapidecode.c:
13357         * gst/vaapi/gstvaapipluginutil.c:
13358         * gst/vaapi/gstvaapivideomemory.c:
13359           plugins: expose I420 format for interop with SW elements.
13360           Always expose I420 format by default when the VA surface could be
13361           mapped for interoperability with non harware accelerated elements.
13362           However, the default behaviour remains the auto-plugging of vaapi
13363           elements, down to the sink.
13364           Side effect: "direct-rendering" mode is also disabled most of the
13365           times as plain memcpy() from uncached speculative write combining
13366           memory is not going to be efficient enough.
13367
13368 2014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13369
13370         * gst/vaapi/gstvaapidecode.c:
13371         * gst/vaapi/gstvaapivideomemory.c:
13372           plugins: allow download capability to vaapidecode element.
13373           Fix support for VA surface download capability in vaapidecode element
13374           for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
13375           but also the libva-intel-driver while performing hardware accelerated
13376           conversions from the native VA surface format (NV12) to the desired
13377           output VA image format.
13378           For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
13379           https://bugzilla.gnome.org/show_bug.cgi?id=733243
13380
13381 2014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
13382
13383         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
13384           decoder: mpeg4: fix picture decoder return value for skipped frames.
13385           The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
13386           when a frame should be skipped, so the stream processing is not stalled.
13387           https://bugzilla.gnome.org/show_bug.cgi?id=733324
13388
13389 2014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
13390
13391         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
13392           decoder: mpeg2: respect any input PTS provided for a frame.
13393           The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
13394           frame timestamps within a GOP, even when it's been fed input PTS for
13395           every frame.
13396           That leads to incorrect output timestamps in some situations - for example
13397           live playback where input timestamps have been scaled based on arrival time
13398           from the network and don't exactly match the framerate.
13399           https://bugzilla.gnome.org/show_bug.cgi?id=732719
13400
13401 2014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13402
13403         * gst-libs/gst/vaapi/gstvaapiobject.c:
13404           GstVaapiObject: make gst_vaapi_object_new() more robust.
13405           Forbid GstVaapiObject to be created without an associated klass spec.
13406           It is mandatory that the subclass implements an adequate .finalize()
13407           hook, so it shall provide a valid GstVaapiObjectClass.
13408           https://bugzilla.gnome.org/show_bug.cgi?id=722757
13409           [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
13410           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13411
13412 2014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13413
13414         * gst-libs/gst/vaapi/gstvaapiobject.c:
13415           GstVaapiObject: initialize the derived object data with init() hook.
13416           Call the subclass .init() function in gst_vaapi_object_new(), if
13417           needed. The default behaviour is to zero initialize the subclass
13418           object data, then the .init() function can be used to initialize
13419           fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
13420           Also fix the gst_vaapi_object_new() description, which was merely
13421           copied from GstVaapiMiniObject.
13422           https://bugzilla.gnome.org/show_bug.cgi?id=722757
13423           [changed to always zero initialize the subclass]
13424           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13425
13426 2014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
13427
13428         * gst/vaapi/gstvaapidecode.c:
13429           vaapidecode: make decoder work with playbin
13430           When playbin/decodebin builds the pipeline, it puts decoders and sinks
13431           into different bins and forwards the queries from bins to bins. So in
13432           the initials steps the pipeline is built iteratively by playbin and
13433           looks like this :
13434           [filesrc]
13435           [filesrc] -> [typefind]
13436           [filesrc] -> [typefind] -> [demuxer]
13437           [filesrc] -> [typefind] -> [demuxer] -> [decoder]
13438           At this point the decoder is asked for its SRC caps and it will make a
13439           choice based on what gst_pad_peer_query_caps() returns. The problem is
13440           that the caps returns at that point includes caps features like ANY,
13441           essentially because playbin can plug in additional elements like
13442           videoscale, videoconv or deinterlace.
13443           This patch adds a another call to
13444           gst_vaapi_find_preferred_caps_feature() when the decoder decides its
13445           allocation, to make sure we asks the downstream elements when the
13446           entire pipeline has been built.
13447           https://bugzilla.gnome.org/show_bug.cgi?id=731645
13448
13449 2014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13450
13451         * gst/vaapi/gstvaapipostproc.c:
13452           vaapipostproc: don't let tmp_rect go out of scope.
13453           A compiler change showed me that tmp_rect went out of scope before
13454           it was used. Move it to the beginning of the function instead.
13455           https://bugzilla.gnome.org/show_bug.cgi?id=726363
13456           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13457           [added guards for GStreamer 0.10 builds]
13458           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13459
13460 2014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13461
13462         * AUTHORS:
13463           AUTHORS: updates.
13464
13465 2014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13466
13467         * README:
13468           README: updates.
13469           Drop references to deprecated plugins (vaapiupload, vaapidownload),
13470           mention that support for GStreamer 0.10 is deprecated, make overview
13471           more descriptive in certain aspects.
13472
13473 2014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13474
13475         * NEWS:
13476           NEWS: updates.
13477
13478 2014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13479
13480         * README:
13481         * configure.ac:
13482           build: mention that support for GStreamer 0.10 is deprecated.
13483
13484 2014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13485
13486         * configure.ac:
13487         * gst/vaapi/gstvaapidecode.c:
13488           build: fix for GStreamer 0.10.
13489
13490 2014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13491
13492         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
13493         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
13494         * patches/videoparsers/series.frag:
13495           build: fix for GStreamer 1.0.x.
13496
13497 2014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13498
13499         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13500           decoder: h264: detect incorrectly paired fields in frames.
13501           When a DPB flush is required, e.g. at a natural and of stream or issued
13502           explicitly through an IDR, try to detect any frame left in the DPB that
13503           is interlaced but does not contain two decoded fields. In that case, mark
13504           the picture as having a single field only.
13505           This avoids a hang while decoding tv_cut.mkv.
13506
13507 2014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13508
13509         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13510           decoder: h264: simplify the DPB output process.
13511           Simplify the dpb_output() function to exclusively rely on the frame store
13512           buffer to output, since this is now always provided. Besides, also fix
13513           cases where split fields would not be displayed.
13514           This is a regression from f48b1e0.
13515
13516 2014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13517
13518         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
13519         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
13520         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
13521         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
13522         * patches/videoparsers/series.frag:
13523           h264parse: drop patches merged upstream.
13524           0003-h264parse-fix-and-optimize-NAL-collection-function.patch
13525           0005-h264parse-introduce-new-state-tracking-variables.patch
13526           0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
13527           0007-h264parse-fix-collection-of-access-units-to-preserve.patch
13528
13529 2014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13530
13531         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13532           decoder: h264: fix memory leak in PPS.
13533           Cope with latest changes from codecparsers/h264. It is now required
13534           to explicitly clear the GstH264PPS structure as it could contain
13535           additional allocations (slice_group_ids).
13536
13537 2014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13538
13539         * ext/codecparsers:
13540           codecparsers: update to gst-vaapi-branch commit 2d53b69.
13541           c4ace00 h264parse: fix collection of access units to preserve config headers
13542           0f9f7c9 h264parse: improve conditions for skipping NAL units
13543           9ffb25c h264parse: introduce new state tracking variables
13544           64955d3 h264parse: fix and optimize NAL collection function
13545           13cd2a3 h264: clarifications and documentation fixes
13546           53e7dd1 h264: fix identification of EOSEQ and EOS NALs
13547           18f0de0 h264: fix memory leak in GstH264PPS
13548           fdcb54c h264: fix typo in GstH264VUIParams description
13549           fd4dae9 vp8: move up built-in range decoder private data
13550
13551 2014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13552
13553         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
13554         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
13555         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
13556         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
13557           decoder: propagate MVC metadata ("view-id", head of multiview set).
13558           Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
13559           bundle", and really expresses the first view component of a multi
13560           view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
13561           set if VOIdx = 0.
13562           Likewise, new API is exposed to retrieve the associated "view-id".
13563
13564 2014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13565
13566         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
13567         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
13568           decoder: propagate "one-field" flags.
13569           Allow decoders to set the "one-field" attribute when the decoded frame
13570           genuinely has a single field, or if the second field was mis-decoded but
13571           we still want to display the first field.
13572
13573 2014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13574
13575         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
13576           decoder: output decoded frames only once.
13577           Make sure to output the decoded picture, and push the associated
13578           GstVideoCodecFrame, only once. The frame fully represents what needs
13579           to be output, included for interlaced streams. Otherwise, the base
13580           GstVideoDecoder class would release the frame twice.
13581           Anyway, the general process is to output decoded frames only when
13582           they are complete. By complete, we mean a full frame was decoded or
13583           both fields of a frame were decoded.
13584
13585 2014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13586
13587         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13588           decoder: h264: decode current picture earlier.
13589           Slightly optimize decoding process by submitting the current VA surface
13590           for decoding earlier to the hardware, and perform the reference picture
13591           marking process and DPB update process afterwards.
13592           This is a minor optimization to let the video decode engine kick in work
13593           earlier, thus improving parallel resources utilization.
13594
13595 2014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13596
13597         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13598           decoder: h264: fix output of second field when first field is not in DPB.
13599           Fix decoding of interlaced streams where a first field (e.g. B-slice)
13600           was immediately output and the current decoded field is to be paired
13601           with that former frame, which is no longer in DPB.
13602           https://bugzilla.gnome.org/show_bug.cgi?id=701340
13603
13604 2014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13605
13606         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13607           decoder: h264: slightly optimize the process to detect new pictures.
13608           Optimize the process to detect new pictures or start of new access
13609           units by checking if the previous NAL unit was the end of a picture,
13610           or the end of the previous access unit.
13611
13612 2014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13613
13614         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13615           decoder: h264: handle access unit ("au") optimization.
13616           Optimize parsing when buffers are supplied with access unit alignment.
13617           This helps determining faster when the end of an access unit is reached.
13618
13619 2014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13620
13621         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13622           decoder: h264: fix tracking of DPB size changes.
13623           Add support for MVC streams with multiple SPS and subset SPS headers
13624           emitted regularly, e.g. at around every I-frame. Track the maximum
13625           number of views in ensure_context() and really reset the DPB size to
13626           the expected value, always. i.e. even if it decreased. dpb_reset()
13627           only cares of ensuring the DPB allocation.
13628
13629 2014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13630
13631         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13632           decoder: h264: fix the DPB compaction process.
13633           Fix the compaction process when the DPB is cleared for a specific
13634           view, i.e. fix the process of filling in the holes resulting from
13635           removing frame buffers matching the current picture.
13636
13637 2014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13638
13639         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13640           encoder: h264: generate new SPS only when codec config changed.
13641           It is not necessary to periodically send SPS or subset SPS headers.
13642           This is up to the upper layer (e.g. transport layer) to decide on
13643           if/how to periodically submit those. For now, only generate new SPS
13644           or subset SPS headers when the codec config changed.
13645           Note: the upper layer could readily determine the config headers
13646           (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
13647           https://bugzilla.gnome.org/show_bug.cgi?id=732083
13648           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13649
13650 2014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13651
13652         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13653           encoder: h264: track encoder config changes.
13654           Track and report when encoder configuration changed. For now, this covers
13655           resolution, profile/level and bitrate changes.
13656
13657 2014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13658
13659         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13660           encoder: h264: add pixel-aspect-ratio to VUI parameters.
13661           Report sample aspect ratio (SAR) as present, and make it match what
13662           we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
13663           VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
13664
13665 2014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13666
13667         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13668           encoder: h264: fix number of anchor and non-anchor reference pictures.
13669           Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
13670           and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
13671           supported.
13672
13673 2014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13674
13675         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13676           encoder: h264: fix timing_info_present_flag value in subset SPS.
13677           When the seq_parameter_set_data() syntax structure is present in a subset
13678           sequence parameter set and vui_parameters_present_flag is equal to 1, then
13679           timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
13680
13681 2014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13682
13683         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13684           encoder: h264: add cpbBrNalFactor values for MVC profiles.
13685
13686 2014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13687
13688         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13689           h264parse: fix detection of access unit boundaries for MVC.
13690           The gst_h264_parse_collect_nal() function is a misnomer. In reality,
13691           this function is used to determine access unit boundaries, i.e. that
13692           is the key function for alignment=au output format generation.
13693
13694 2014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13695
13696         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
13697         * patches/videoparsers/series.frag:
13698           h264parse: fix collection of access units to preserve config headers.
13699           Always use a GstAdapter when collecting access units (alignment="au")
13700           in either byte-stream or avcC format. This is required to properly
13701           preserve config headers like SPS and PPS when invalid or broken NAL
13702           units are subsequently parsed.
13703           More precisely, this fixes scenario like:
13704           <SPS> <PPS> <invalid-NAL> <slice>
13705           where we used to reset the output frame buffer when an invalid or
13706           broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
13707           preventing the next slice unit to be decoded, should this also
13708           represent any valid data.
13709           https://bugzilla.gnome.org/show_bug.cgi?id=732203
13710
13711 2014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13712
13713         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13714         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
13715         * patches/videoparsers/series.frag:
13716           h264parse: improve conditions for skipping NAL units.
13717           Carefully track cases when skipping broken or invalid NAL units is
13718           necessary. In particular, always allow NAL units to be processed
13719           and let that gst_h264_parse_process_nal() function decide on whether
13720           the current NAL needs to be dropped or not.
13721           This fixes parsing of streams with SEI NAL buffering_period() message
13722           inserted between SPS and PPS, or SPS-Ext NAL following a traditional
13723           SPS NAL unit, among other cases too.
13724           Practical examples from the H.264 AVC conformance suite include
13725           alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
13726           when parsing in stream-format=byte-stream,alignment=au mode.
13727           https://bugzilla.gnome.org/show_bug.cgi?id=732203
13728
13729 2014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13730
13731         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13732         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
13733         * patches/videoparsers/series.frag:
13734           h264parse: introduce new state tracking variables.
13735           Improve parser state tracking by introducing new flags reflecting
13736           it: "got-sps", "got-pps" and "got-slice". This is an addition for
13737           robustness purposes.
13738           Older have_sps and have_pps variables are kept because they have
13739           a different meaning. i.e. they are used for deciding on when to
13740           submit updated caps or not, and rather mean "have new SPS/PPS to
13741           be submitted?"
13742
13743 2014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13744
13745         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
13746         * patches/videoparsers/series.frag:
13747           h264parse: default to byte-stream/nalu format (Annex B).
13748           Always default to stream-format=byte-stream,alignment=nalu if avcC
13749           format was not detected. This is the natural stream format specified
13750           in the standard (Annex.B): a series of NAL units prefixed with the
13751           usual start code.
13752           https://bugzilla.gnome.org/show_bug.cgi?id=732167
13753
13754 2014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13755
13756         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
13757         * patches/videoparsers/series.frag:
13758           h264parse: fix and optimize NAL collection function.
13759           Use gst_h264_parser_identify_nalu_unchecked() to identify the next
13760           NAL unit. We don't want to parse the full NAL unit, but only the
13761           header bytes and possibly the first RBSP byte for identifying the
13762           first_mb_in_slice syntax element.
13763           Also fix check for failure when returning from that function. The
13764           only success condition for that is GST_H264_PARSER_OK, so use it.
13765           https://bugzilla.gnome.org/show_bug.cgi?id=732154
13766
13767 2014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13768
13769         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13770           encoder: h264: fix NAL unit types in packed headers.
13771           Submit Prefix NAL headers (nal_unit_type = 14) before every packed
13772           slice header (nal_unit_type = 1 or 5) only for the base view. In non
13773           base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
13774           is required, with an appropriate nal_unit_header_mvc_extension() in
13775           the NAL header bytes.
13776           https://bugzilla.gnome.org/show_bug.cgi?id=732083
13777
13778 2014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13779
13780         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13781           encoder: h264: add missing field in packed Subset SPS header.
13782           Write the missing num_level_values_signalled_minus1 syntax element
13783           into the packed header for subset sequence parameter set.
13784           https://bugzilla.gnome.org/show_bug.cgi?id=732083
13785
13786 2014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13787
13788         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13789           decoder: h264: fix marking of non-reference picture into DPB.
13790           Fix search for a picture in the DPB that has a lower POC value than
13791           the current picture. The dpb_find_lowest_poc() function will return
13792           a picture with the lowest POC in DPB and that is marked as "needed
13793           for output", but an additional check against the actual POC value
13794           of the current picture is needed.
13795           This is a regression from 1c46990.
13796           https://bugzilla.gnome.org/show_bug.cgi?id=732130
13797
13798 2014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13799
13800         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13801           decoder: h264: fix DPB clear when no decoding actually started.
13802           Fix dpb_clear() to clear previous frame buffers only if they actually
13803           exist to begin with. If the decoder bailed out early, e.g. when it
13804           does not support a specific profile, that array of previous frames
13805           might not be allocated beforehand.
13806
13807 2014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13808
13809         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13810         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
13811         * gst/vaapi/gstvaapidecode.c:
13812           decoder: h264: add support for NALU "alignment" optimization.
13813           We can avoid scanning for start codes again if the bitstream is fed
13814           in NALU chunks. Currently, we always scan for start codes, and keep
13815           track of remaining bits in a GstAdapter, even if, in practice, we
13816           are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
13817           "nal" alignment.
13818           https://bugzilla.gnome.org/show_bug.cgi?id=723284
13819           [use gst_adapter_available_fast() to determine the top buffer size]
13820           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13821
13822 2014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13823
13824         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13825           decoder: h264: fix caps to report interlace-mode accordingly.
13826           The `vaapipostproc' element could never determine if the H.264 stream
13827           was interlaced, and thus always assumed it to be progressive. Fix the
13828           H.264 decoder to report interlace-mode accordingly, thus allowing the
13829           vaapipostproc element to automatically enable deinterlacing.
13830
13831 2014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13832
13833         * gst/vaapi/gstvaapipostproc.c:
13834           vaapipostproc: don't crash with dynamic framerate (0/1).
13835           Avoid reaching an assert if dynamic framerates (0/1) are used. One
13836           way to solve this problem is to just stick field_duration to zero.
13837           However, this means that, in presence of interlaced streams, the
13838           very first field will never be displayed if precise presentation
13839           timestamps are honoured.
13840           https://bugzilla.gnome.org/show_bug.cgi?id=729604
13841
13842 2014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13843
13844         * gst/vaapi/gstvaapipostproc.c:
13845           vaapipostproc: create filter surface pool if it does not exist yet.
13846           ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
13847           recreating filter_pool. Unfortunately, this also meant it didn't create
13848           it if it did not exist.
13849           Fix it to always create the buffer pool if it does not exist.
13850           https://bugzilla.gnome.org/show_bug.cgi?id=723834
13851           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13852
13853 2013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
13854
13855         * gst/vaapi/gstvaapipostproc.c:
13856           vaapipostproc: reset deinterlacer state when there is a discontinuity.
13857           Reset deinterlacer state, i.e. past reference frames used for advanced
13858           deinterlacing, when there is some discontinuity detected in the course
13859           of processing source buffers.
13860           This fixes support for advanced deinterlacing when a seek occurred.
13861           https://bugzilla.gnome.org/show_bug.cgi?id=720375
13862           [fixed type of pts_diff variable, fetch previous buffer PTS from the
13863           history buffer, reduce heuristic for detecting discontinuity]
13864           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13865
13866 2014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13867
13868         * gst/vaapi/gstvaapipostproc.c:
13869           vaapipostproc: add support for crop regions in VPP mode.
13870           Apply video cropping regions stored in GstVideoCropMeta, or in older
13871           GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
13872           the crop meta are already propagated to the output buffers.
13873           https://bugzilla.gnome.org/show_bug.cgi?id=720730
13874
13875 2014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13876
13877         * gst/vaapi/gstvaapipostproc.c:
13878           vaapipostproc: make deinterlace-mode behave as expected.
13879           deinterlace-mode didn't behave in the way you'd expect if you have
13880           past experience of the deinterlace element. There were two bugs:
13881           1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
13882           2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
13883           Fix these up, and add assertions and error messages to detect cases that
13884           aren't handled.
13885           https://bugzilla.gnome.org/show_bug.cgi?id=726361
13886           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13887           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13888
13889 2014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
13890
13891         * gst/vaapi/gstvaapidecode.c:
13892           vaapidecode: do not discard video info props when the format changed.
13893           gst_video_info_set_format() does not preserve video info properties. In
13894           order to keep important information in the caps such as interlace mode,
13895           framerate, pixel aspect ratio, ... we need to manually copy back those
13896           properties after setting the new video format.
13897           https://bugzilla.gnome.org/show_bug.cgi?id=722276
13898
13899 2014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
13900
13901         * gst/vaapi/gstvaapidecode.c:
13902           vaapidecode: plug a memory leak.
13903           It can happen that there is a pool provided that does not advertise
13904           the vappivideometa. We should unref that pool before using our own.
13905           Discovered with vaapidecode ! {glimagesink,cluttersink}
13906           https://bugzilla.gnome.org/show_bug.cgi?id=724957
13907           [fixed compilation by adding the missing semi-colon]
13908           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13909
13910 2014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13911
13912         * gst/vaapi/gstvaapidecode.c:
13913           vaapidecode: parse source data until a frame is obtained.
13914           Parse any pending data until a complete frame is obtained. This is a
13915           memory optimization to avoid expansion of video packets stuffed into
13916           the GstAdapter, and a fix to EOS condition to detect there is actually
13917           pending data that needs to be decoded, and subsequently output.
13918           https://bugzilla.gnome.org/show_bug.cgi?id=731831
13919
13920 2014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13921
13922         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13923           encoder: h264: fix multiple slices support in packed headers mode.
13924           Handle packedi slice headers and packed raw data on a per-slice basis,
13925           which is necessary for multi slice encoding.
13926
13927 2014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13928
13929         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
13930         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
13931           encoder: add infrastructure for per-slice handling of packed headers.
13932           The packed slice header and packed raw data need to be paired with
13933           the submission of VAEncSliceHeaderParameterBuffer. So handle them
13934           on a per-slice basis insted of a per-picture basis.
13935           [removed useless initializer]
13936           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13937
13938 2014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13939
13940         * gst/vaapi/gstvaapisink.c:
13941           vaapisink: fix initialization with "drm" display type.
13942           Force early initializatin of the GstVaapiDisplay so that to make sure
13943           that the sink element display object is presented first to upstream
13944           elements, as it will be correctly featuring the requested display type
13945           by the user.
13946           Otherwise, we might end up in situations where a VA/X11 display is
13947           initialized in vaapidecode, then we try VA/DRM display in vaapisink
13948           (as requested by the "display" property), but this would cause a failure
13949           because we cannot acquire a DRM display that was previously acquired
13950           through another backend (e.g. VA/X11).
13951
13952 2014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13953
13954         * gst/vaapi/gstvaapipluginbase.c:
13955           plugins: fix initialization with foreign context.
13956           When a new display is settled through GstElement::set_context() (>= 1.2),
13957           or GstVideoContext::set_context() (<= 1.0), then we shall also update the
13958           associated display type.
13959
13960 2014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13961
13962         * Makefile.am:
13963         * configure.ac:
13964         * ext/Makefile.am:
13965         * gst/vaapi/Makefile.am:
13966         * gst/vaapi/gstvaapiparse.c:
13967         * gst/vaapi/gstvaapiparse.h:
13968         * patches/Makefile.am:
13969         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
13970         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
13971         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13972         * patches/videoparsers/Makefile.am:
13973         * patches/videoparsers/series.frag:
13974           plugins: add built-in video parsers as "vaapiparse" element.
13975           The built-in video parsers elements are built into a single DSO named
13976           libgstvaapi_parse.so. The various video parsers could be accessed as
13977           vaapiparse_CODEC.
13978           For now, this only includes a modified version of h264parse so that to
13979           support H.264 MVC encoded streams.
13980
13981 2014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13982
13983         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13984           decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
13985           New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
13986           from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
13987
13988 2014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13989
13990         * ext/codecparsers:
13991           codecparsers: update to gst-vaapi-branch commit d6325ac.
13992           7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
13993           d2f965a h264parse: set field_pic_flag when parsing a slice header
13994           24c15b8 Import h264parse
13995           a9283e5 bytereader: Use concistant derefence method
13996           a8252c6 bytereader: Use pointer instead of index access
13997           b1bebfc Import GstBitReader and GstByteReader
13998           2f58788 h264: recognize SVC NAL units
13999           4335da5 h264: fix SPS copy code for MVC
14000           cf9b6dc h264: fix quantization matrix conversion routine names
14001           b11ce2a h264: add gst_h264_video_calculate_framerate()
14002           126dc6f add C++ guards for MPEG-4 and VP8 parsers
14003
14004 2014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14005
14006         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14007           decoder: h264: factor out DPB pruning for MVC.
14008           Factor out the removal process of unused inter-view only reference
14009           pictures from the DPB, prior to the possible insertion of the current
14010           picture.
14011           Ideally, the compiler could still opt for generating two loops. But
14012           at least, the code is now clearer for maintenance.
14013
14014 2014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14015
14016         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14017           decoder: h264: clean-ups.
14018           Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
14019           the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
14020
14021 2014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14022
14023         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14024           decoder: h264: improve pruning of unused MVC inter-view frames.
14025           Improve process for the removal of pictures from DPB before possible
14026           insertion of the current picture (C.4.4) for H.264 MVC inter-view only
14027           reference components. In particular, handle cases where picture to be
14028           inserted is not the last one of the access unit and if it was already
14029           output and is no longer marked as used for reference, including for
14030           decoding next view components within the same access unit.
14031
14032 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14033
14034         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14035           decoder: h264: improve DPB bumping process for MVC.
14036           While invoking the DPB bumping process in presence of many views,
14037           it could be necessary to output previous pictures that are ready,
14038           in a whole. i.e. emitting all view components from the very first
14039           view order index zero to the very last one in its original access
14040           unit; and not starting from the view order index of the picture
14041           that caused the DPB bumping process to be invoked.
14042           As a reminder, the maximum number of frames in DPB for MultiView
14043           High profile with more than 2 views is not necessarily a multiple
14044           of the number of views.
14045           This fixes decoding of MVCNV-4.264.
14046
14047 2014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14048
14049         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14050           decoder: h264: fix inter-view references array growth.
14051           Let the utility layer handle dynamic growth of the inter-view pictures
14052           array. By definition, setting a new size to the array will effectively
14053           grow the array, but would also fill in the newly created elements with
14054           empty entries (NULL), thus also increasing the reported length, which
14055           is not correct.
14056
14057 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14058
14059         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14060           decoder: h264: reduce ReferenceFrames entries to the essential set.
14061           When decoding Multiview High profile streams with a large number of
14062           views, it is not possible to make the VAPictureParameterBufferH264.
14063           ReferenceFrames[] array hold the complete DPB, with all possibly
14064           active pictures to be used for inter-view prediction in the current
14065           access unit.
14066           So reduce the scope of the ReferenceFrames[] array to only include
14067           the set of reference pictures that are going to be used for decoding
14068           the current picture. Basically, this is a union of all RefPicListX[]
14069           array, for all slices constituting the decoded picture.
14070
14071 2014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14072
14073         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14074           decoder: h264: fix MVC inter-view prediction process.
14075           The inter-view reference components and inter-view only reference
14076           components that are included in the reference picture lists shall
14077           be considered as not being marked as "used for short-term reference"
14078           or "used for long-term reference". This means that reference flags
14079           should all be removed from VAPictureH264.flags.
14080           This fixes decoding of MVCNV-2.264.
14081
14082 2014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14083
14084         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14085           decoder: h264: fix detection of profile changes for MVC.
14086           If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
14087           be careful to detect profiles changes and not reset the underlying
14088           VA context erroneously. In MVC situations, we could indeed get a
14089           profile_idc change for every SPS that gets activated, alternatively
14090           (base-view -> non-base view -> base-view, etc.).
14091           An improved fix would be to characterize the exact profile to use
14092           once and for all when SPS NAL units are parsed. This would also
14093           allow for fallbacks to a base-view decoding only mode.
14094
14095 2014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14096
14097         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14098           encoder: h264: drop extraneous definitions.
14099           Re-use definitions from the codecparser headers instead of duplicating
14100           them here again. That covers NALU definitions and slice types.
14101
14102 2014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14103
14104         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14105           encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
14106           https://bugzilla.gnome.org/show_bug.cgi?id=727418
14107
14108 2014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14109
14110         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14111           encoder: h264: don't allow CABAC with Extended profile.
14112           The H.264 specification does not support CABAC entropy coding for the
14113           Extended profile.
14114           https://bugzilla.gnome.org/show_bug.cgi?id=727418
14115
14116 2014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14117
14118         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14119           encoder: h264: use packed headers mode for MVC encoding.
14120           Exclusively use VA drivers that support raw packed headers for encoding.
14121           i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
14122           provides for better compatibility accross the various VA drivers and HW
14123           generations since no particular API is needed beyond what readily exists.
14124
14125 2014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14126
14127         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14128           encoder: h264: add support for packed slice headers.
14129           https://bugzilla.gnome.org/show_bug.cgi?id=722905
14130
14131 2014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14132
14133         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14134           encoder: h264: store subset sps to generate the codec-data
14135           Store the SubsetSPS nal unit which we need for MVC specific
14136           codec_data generation.
14137
14138 2014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14139
14140         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14141           encoder: h264: fix MVC pipeline hang while encoding with B-frames.
14142           Since we are encoding each view independently from each other, we
14143           need a higher number of pre-allocated surfaces to be used as the
14144           reconstructed frames. For Stereo High profile encoding, this means
14145           to effectively double the number of frames to be stored in the DPB.
14146
14147 2014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14148
14149         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14150         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
14151         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
14152         * gst/vaapi/gstvaapiencode_h264.c:
14153           encoder: h264: add initial support for H.264 Stereo High profile.
14154           Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
14155           for non-base-view streams encoding, and the usual SPS, PPS and Slice
14156           NALs for base-view encoding.
14157           The H.264 Stereo High profile encoding mode will be turned on when the
14158           "num-views" parameter is set to 2. The source (raw) YUV frames will be
14159           considered as Left/Right view, alternatively.
14160           Each of the two views has its own frames reordering pool and reference
14161           frames list management system. Inter-view references are not supported
14162           yet, so the views are encoded independently from each other.
14163           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14164           [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
14165           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14166
14167 2014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14168
14169         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14170           encoder: h264: wrap pools for refs and frames reordering.
14171           Create structures to maintain the reference frames list (RefPool) and
14172           frames reordering (ReorderPool) logic.
14173           This is a prerequisite for H.264 MVC support.
14174           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14175
14176 2014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14177
14178         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14179           encoder: h264: add provisional support for subset SPS headers.
14180           Add provisions to write subset SPS headers to the bitstream in view
14181           to supporting the H.264 MVC specification.
14182           This assumes the libva "staging" branch is in use.
14183           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14184
14185 2013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14186
14187         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14188         * gst-libs/gst/vaapi/gstvaapiutils.c:
14189           utils: add H.264 MVC profiles.
14190           Add "MultiView High" and "Stereo High" definitions.
14191           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14192           [require VA-API >= 0.35.2 for MVC profiles]
14193           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14194
14195 2014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14196
14197         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14198         * gst-libs/gst/vaapi/gstvaapiutils.c:
14199           utils: only enable VP8 profiles for newer VA-API versions.
14200           VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
14201           involving VP8 codec on earlier versions of the API.
14202
14203 2014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14204
14205         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14206           decoder: h264: compute view ids only once per slice.
14207           Optimize lookups of view ids / view order indices by caching the result
14208           of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
14209           terribly simplifies is_new_access_unit() and find_first_field() functions.
14210
14211 2014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14212
14213         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14214           decoder: h264: add support for MVC interlaced streams.
14215           Fix support for MVC Stereo High profile streams with interlaced frames.
14216           Also improve the detection logic of the first field.
14217
14218 2014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14219
14220         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14221           decoder: h264: add MVC profiles compatibility logic.
14222           Add safe fallbacks for MVC profiles:
14223           - all MultiView High profile streams with 2 views at most can be decoded
14224           with a Stereo High profile compliant decoder ;
14225           - all Stereo High profile streams with only progressive views can be
14226           decoded with a MultiView High profile compliant decoder ;
14227           - all drivers that support slice-level decoding could normally support
14228           MVC profiles when the DPB holds at most 16 frames.
14229
14230 2014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14231
14232         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14233         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14234         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14235           decoder: h264: add initial support for MVC.
14236           https://bugzilla.gnome.org/show_bug.cgi?id=721772
14237
14238 2014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14239
14240         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14241           decoder: h264: dynamically allocate the DPB.
14242           Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
14243           for supporting the MVC allocation requirements.
14244
14245 2014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14246
14247         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14248           decoder: h264: fix detection of access unit boundaries.
14249           In order to have a stricter conforming implementation, we need to carefully
14250           detect access unit boundaries. Additional operations could be necessary to
14251           perform at those boundaries.
14252
14253 2013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14254
14255         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14256           decoder: h264: detect the first VCL NAL unit of a picture for MVC.
14257           Detect the first VCL NAL unit of a picture for MVC, based on the
14258           view_id as per H.7.4.1.2.4. Note that we only need to detect new
14259           view components.
14260           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14261
14262 2013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14263
14264         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14265           decoder: h264: properly handle Prefix NAL units.
14266           Always cache the previous NAL unit so that we could check whether
14267           there is a Prefix NAL unit immediately preceding the current slice
14268           or IDR NAL unit. In that case, the NAL unit metadata is copied into
14269           the current NAL unit. Otherwise, some default values are inferred,
14270           tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
14271           [infer default values for slice if previous NAL was not a Prefix]
14272           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14273
14274 2013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
14275
14276         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14277           decoder: h264: add support for MVC base views.
14278           Allow decoding for base views of MVC encoded streams. For now, just skip
14279           the slice extension and prefix NAL units, and skip non-base view frames.
14280           Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
14281           [fixed memory leak, improved check for MVC NAL units]
14282           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14283
14284 2014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14285
14286         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14287           decoder: h264: simplify storage of decoded picture into DPB.
14288           Factor out process by which the decoded picture with the lowest POC
14289           is found, and possibly output. Likewise, the storage and marking of
14290           a reference decoded, or non-reference decoded picture, into the DPB
14291           could also be simplified as they mostly share the same operations.
14292
14293 2014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14294
14295         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14296           decoder: h264: minor clean-ups.
14297           Make init_picture_ref_lists() more consistent with other functions
14298           related to the reference marking process by supplying the current
14299           picture as argument.
14300
14301 2014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14302
14303         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14304         * gst-libs/gst/vaapi/gstvaapidisplay.h:
14305         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14306           display: add utility function to query VA driver name.
14307           Add gst_vaapi_display_get_vendor_string() helper function to query
14308           the underlying VA driver name. The display object owns the resulting
14309           string, so it shall not be deallocated.
14310           That function is thread-safe. It could be used for debugging purposes,
14311           for instance.
14312
14313 2014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14314
14315         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14316         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
14317         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14318         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
14319         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
14320         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
14321         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
14322           display: make cache maintenance really MT-safe.
14323           Make sure to initialize one GstVaapiDisplay at a time, even in threaded
14324           environments. This makes sure the display cache is also consistent
14325           during the whole display creation process. In the former implementation,
14326           there were risks that display cache got updated in another thread.
14327
14328 2014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14329
14330         * gst-libs/gst/vaapi/gstvaapicontext.c:
14331           context: allow dynamic growth of VA surfaces pool.
14332           Add support for dynamic growth of the VA surfaces pool. For decoding,
14333           this implies the recreation of the underlying VA context, as per the
14334           requirement from VA-API. Besides, only increases are supported, not
14335           shrinks.
14336
14337 2014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14338
14339         * gst-libs/gst/vaapi/gstvaapicontext.c:
14340           context: reset VA context if VA surfaces set changed.
14341           It is a requirement from VA-API specification that the VA context got
14342           from vaCreateContext(), for decoding purposes, binds the supplied set
14343           of VA surfaces. This means that if the set of VA surfaces is to be
14344           changed for the current decode session, then the VA context needs to
14345           be recreated with the new set of VA surfaces.
14346
14347 2014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14348
14349         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14350           decoder: h264: fix assignment of LongTermFrameIdx.
14351           Complement fix committed as e95a42e.
14352           The H.264 AVC standard has to say: if the field is part of a reference
14353           frame or a complementary reference field pair, and the other field of
14354           the same reference frame or complementary reference field pair is also
14355           marked as "used for long-term reference", the reference frame or
14356           complementary reference field pair is also marked as "used for long-term
14357           reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
14358           This fixes decoding of MR9_BT_B in strict mode.
14359           https://bugs.freedesktop.org/show_bug.cgi?id=64624
14360           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14361
14362 2014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14363
14364         * gst-libs/gst/vaapi/gstvaapicontext.c:
14365         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14366         * gst-libs/gst/vaapi/gstvaapiutils.c:
14367         * gst-libs/gst/vaapi/gstvaapiutils.h:
14368           decoder: h264: properly support grayscale formats.
14369           Request the correct chroma format for decoding grayscale streams.
14370           i.e. make lookups of the VA chroma format more generic, thus possibly
14371           supporting more formats in the future.
14372           This means that, if a VA driver doesn't support grayscale formats,
14373           it is now going to fail. We cannot safely assume that maybe grayscale
14374           was implemented on top of some YUV 4:2:0 with the chroma components
14375           all set to 0x80.
14376
14377 2014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14378
14379         * gst-libs/gst/vaapi/gstvaapifilter.c:
14380         * gst-libs/gst/vaapi/gstvaapifilter.h:
14381         * tests/test-filter.c:
14382           build: fix source file modes.
14383           A few source files are marked executable in error - fix them
14384           https://bugzilla.gnome.org/show_bug.cgi?id=723748
14385           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14386
14387 2014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14388
14389         * configure.ac:
14390         * gst-libs/gst/vaapi/Makefile.am:
14391         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14392         * gst/vaapi/gstvaapidecode.c:
14393           build: fix conditional compilation of VP8 decoder.
14394           https://bugzilla.gnome.org/show_bug.cgi?id=729170
14395           [added check for VASliceParameterBufferBase fields]
14396           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14397
14398 2014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14399
14400         * gst-libs/gst/codecparsers/Makefile.am:
14401           build: fix make dist for codecparsers.
14402
14403 2014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14404
14405         * ext/codecparsers:
14406           codecparsers: update to gst-vaapi-branch commit eaa3f7e.
14407           h264: fix parsing of slice groups for map type = 2
14408
14409 2014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14410
14411         * ext/codecparsers:
14412           codecparsers: update to gst-vaapi branch commit f44edfc.
14413           h264: fix derivation of default scaling lists
14414
14415 2013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
14416
14417         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14418           decoder: h264: fix long-term reference picture marking process.
14419           Fix reference picture marking process with memory_management_control_op
14420           set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
14421           picture, or the current picture.
14422           This fixes decoding of FRExt_MMCO4_Sony_B.
14423           https://bugs.freedesktop.org/show_bug.cgi?id=64624
14424           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14425           [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
14426           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14427
14428 2014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14429
14430         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14431           decoder: h264: fix initialization of RefPicLists for multiple slices.
14432           The initialization of reference picture lists (8.2.4.2) applies to all
14433           slices. So, the RefPicList0/1 lists need to be constructed prior to
14434           each slice submission to the HW decoder.
14435           This fixes decoding of video sequences where frames are encoded with
14436           multiple slices of different types, e.g. 4 slices in this order I, P,
14437           I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
14438           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14439
14440 2013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
14441
14442         * ext/codecparsers:
14443         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14444           decoder: h264: skip SPS extension and auxiliary slice NALs.
14445           When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
14446           are present in a video, decoders shall perform the (optional) decoding
14447           process specified for these NAL units or shall ignore them (7.4.1).
14448           Implement option 2 (skip) for now, as alpha composition is not
14449           supported yet during the decoding process.
14450           This fixes decoding of the primary coded video in alphaconformanceG.
14451           https://bugzilla.gnome.org/show_bug.cgi?id=703928
14452           https://bugzilla.gnome.org/show_bug.cgi?id=728869
14453           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14454           [skip NAL units earlier, i.e. at parsing time]
14455           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14456
14457 2013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14458
14459         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14460           decoder: h264: fix slice data bit offset with MVC NAL units.
14461           When MVC slice NAL units (coded slice extension and prefix NAL) are
14462           present, the number of NAL header bytes is 3, not 1 as usual.
14463           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14464           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14465
14466 2014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14467
14468         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14469           decoder: h264: fix activation of picture and sequence parameters.
14470           At the time the first VCL NAL unit of a primary coded picture is found,
14471           and if that NAL unit was parsed to be an SPS or PPS, then the entries
14472           in the parser may have been overriden. This means that, when the picture
14473           is to be decoded, slice_hdr->pps could point to an invalid (the next)
14474           PPS entry.
14475           So, one way to solve this problem is to not use the parser PPS and
14476           SPS info but rather maintain our own activation chain in the decoder.
14477           https://bugzilla.gnome.org/show_bug.cgi?id=724519
14478           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14479
14480 2014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14481
14482         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14483           decoder: h264: retain SEI messages until the end of frame.
14484           Retain the SEI messages that were parsed from the access unit until we
14485           have completely decoded the current frame. This is done so that we can
14486           peek at that data whenever necessary during decoding. e.g. for exposing
14487           3D stereoscopic information at a later stage.
14488
14489 2014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14490
14491         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14492           decoder: h264: add support for grayscale encoded clips.
14493           Fix support for grayscale encoded video clips, and possibly others if
14494           the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
14495           the decision that a surface with the desired chroma format is not
14496           supported to the actual VA driver implementation.
14497           https://bugzilla.gnome.org/show_bug.cgi?id=728144
14498
14499 2014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14500
14501         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14502         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
14503         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
14504         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14505         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
14506         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14507           decoder: default to YUV 4:2:0 VA surfaces.
14508           Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
14509           make sure all codecs use YUV 4:2:0 output format for now, by default.
14510
14511 2014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14512
14513         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14514         * gst-libs/gst/vaapi/gstvaapidecoder.h:
14515         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
14516           decoder: re-indent GstVaapiDecoder base object.
14517
14518 2014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14519
14520         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14521           encoder: derive chroma type from video format.
14522           Cope with previous VA context change to derive the correct surface chroma
14523           type from the input video format.
14524
14525 2014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14526
14527         * gst-libs/gst/vaapi/gstvaapicontext.c:
14528         * gst-libs/gst/vaapi/gstvaapicontext.h:
14529           context: add support for non-YUV 4:2:0 formats.
14530           Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
14531           for the upper layer to specify the desired chroma type. If the chroma
14532           type field is not set (or yields zero), then YUV 4:2:0 format is used
14533           by default.
14534
14535 2014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14536
14537         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14538           vp8: fix per-segment deblocking filter level in relative mode.
14539           Fix possible bug when a per-segment deblocking filter level value
14540           needs to be set in non-absolute mode, i.e. when the loop filter update
14541           value is negative in delta mode.
14542           Also clamp the resulting filter level value to 0..63 range.
14543
14544 2014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14545
14546         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14547           vp8: fix check for disabling the loop filter (again).
14548           Improve condition to disable the loop filter. The previous heuristic
14549           used to check all filter levels, for all segments. It turns out that
14550           only the base filter_level value defined in the frame header needs
14551           to be checked.
14552           This fixes 00-comprehensive-013.
14553
14554 2014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14555
14556         * gst-libs/gst/codecparsers/Makefile.am:
14557         * gst/vaapi/Makefile.am:
14558           build: fix make dist with certain conditionals not met.
14559           Fix generation of source tarballs when certain conditionals are not
14560           met. e.g. always include all buildable codecparsers sources in the
14561           distribution tarball, fix plug-in element sources set to include X11
14562           and encoder bits.
14563
14564 2014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14565
14566         * ext/Makefile.am:
14567           build: add missing files for GStreamer 0.10.
14568           Add missing GstVideoEncoder implementation files to fix build with ancient
14569           GStreamer 0.10 stack.
14570           https://bugzilla.gnome.org/show_bug.cgi?id=723964
14571
14572 2014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14573
14574         * ext/Makefile.am:
14575           build: add missing files for VP8 bitstream parser.
14576           Fix make dist for building the VP8 bitstream parser.
14577
14578 2014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14579
14580         * configure.ac:
14581         * ext/libvpx/Makefile.am:
14582         * gst-libs/gst/codecparsers/Makefile.am:
14583           vp8: allow compilation without the built-in libvpx.
14584           The built-in libvpx serves multiple purposes, among which the most
14585           important ones could be: track the most up-to-date, and optimized,
14586           range decoder; allow for future hybrid implementations (non-VLD);
14587           and have a completely independent range decoder implementation.
14588
14589 2014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14590
14591         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14592           vp8: propagate PTS from demux frame.
14593           gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
14594           or parser would already have determined the PTS from a previous stage.
14595
14596 2014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14597
14598         * Makefile.am:
14599         * debian.upstream/libgstvaapi.install.in:
14600         * ext/libvpx/Makefile.am:
14601         * ext/libvpx/sources.frag:
14602         * gst-libs/gst/codecparsers/Makefile.am:
14603           vp8: fix compilation with built-in libvpx.
14604           Apply correct patch from fd.o #722760 to fix several issues: update the
14605           license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
14606           make dist.
14607
14608 2014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14609
14610         * .gitmodules:
14611         * autogen.sh:
14612         * configure.ac:
14613         * ext/Makefile.am:
14614         * ext/libvpx/Makefile.am:
14615         * ext/libvpx/gstlibvpx.c:
14616         * ext/libvpx/gstlibvpx.h:
14617         * ext/libvpx/libgstcodecparsers_vpx.vers:
14618         * ext/libvpx/sources.frag:
14619         * ext/libvpx/upstream:
14620         * gst-libs/gst/codecparsers/Makefile.am:
14621         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
14622           vp8: use range decoder from libvpx.
14623           Add libvpx submodule that tracks the upstream version 1.3.0. This is
14624           needed to build a libgstcodecparsers_vpx.so library with all symbols
14625           placed into the GSTREAMER namespace.
14626
14627 2014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14628
14629         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14630           vp8: fix check for disabling the loop filter.
14631
14632 2013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
14633
14634         * configure.ac:
14635         * ext/Makefile.am:
14636         * gst-libs/gst/codecparsers/Makefile.am:
14637         * gst-libs/gst/vaapi/Makefile.am:
14638         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
14639         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
14640         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14641         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14642         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14643         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
14644         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14645         * gst-libs/gst/vaapi/gstvaapiprofile.h:
14646         * gst/vaapi/gstvaapidecode.c:
14647           Add initial VP8 decoder.
14648           https://bugzilla.gnome.org/show_bug.cgi?id=722761
14649           [complete overhaul, fixed support for resolution changes]
14650           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14651
14652 2014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14653
14654         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14655           decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
14656           The gst_h264_parse_parse_sei() function now returns an array of SEI
14657           messages, instead of a single SEI message. Reason: it is allowed to
14658           have several SEI messages packed into a single SEI NAL unit, instead
14659           of multiple NAL units.
14660
14661 2014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14662
14663         * ext/codecparsers:
14664           codecparsers: update to gst-vaapi-branch commit a454f86.
14665           b2eb5f6 vp8: rename dboolhuff symbols
14666           b74a881 vp8: add GStreamer native utilities
14667           2940ac6 add VP8 bitstream parser
14668
14669 2014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14670
14671         * ext/codecparsers:
14672           codecparsers: update to gst-vaapi-branch commit d459bc5.
14673           d459bc5 h264: set framerate even for interlaced videos
14674           c78b82c h264: add support for Recovery Point SEI message
14675           7693bac h264: add support for Frame Packing Arrangement SEI message
14676           31fafa7 h264: add support for Stereo Video Information SEI message
14677           8b113a6 h264: parse seq_parameter_set_mvc_extension()
14678           040f9b8 h264: parse MVC syntax elements
14679           cc18ef3 h264: add nal_reader_skip_long() helper
14680           7e76a48 h264: fix slice_header() parsing for MVC
14681           caf46d8 h264: add gst_h264_parse_nalu_header() helper
14682           f75074e h264: add gst_h264_parse_sps_data() helper
14683           798c397 h264: clean-up gst_h264_parser_parse_sei_message()
14684           4e36737 h264: fix skipping of unsupported SEI messages
14685           5300766 h264: fix SEI buffering_period() parsing
14686
14687 2014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14688
14689         * ext/codecparsers:
14690         * gst-libs/gst/codecparsers/Makefile.am:
14691           codecparsers: update to gst-vaapi-branch commit 8fadf40.
14692           8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
14693           644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
14694           95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
14695           766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
14696           8ec5816 h265: Fix segfault when parsing HRD parameter
14697           5b1730f h265: Fix segfault when parsing VPS
14698           983b7f7 h265: prevent to overrun chroma_weight_l0_flag
14699           7ba641d h265: Fix debug output
14700           d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
14701
14702 2014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14703
14704         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14705           decoder: h264: fix robustness patch for bytestream format.
14706           Fix parser and decoder state to sync at the right locations. This is
14707           because we could reset the parser state, while the decoder state was
14708           not copied yet, e.g. when parsing several NAL units from multiple frames
14709           whereas the current frame was not decoded yet.
14710           This is a regression brought in by commit 6fe5496.
14711
14712 2014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14713
14714         * configure.ac:
14715         * pkgconfig/Makefile.am:
14716         * pkgconfig/gstreamer-vaapi-drm.pc.in:
14717         * pkgconfig/gstreamer-vaapi-glx.pc.in:
14718         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
14719         * pkgconfig/gstreamer-vaapi-x11.pc.in:
14720           build: fix pkgconfig file names (again).
14721           It turns out it is more convenient to have only pkgconfig files named
14722           after the installed GStreamer API version (1.0) instead of using all
14723           possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
14724           altogether anyway, so align pkgconfig file names to that.
14725
14726 2014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14727
14728         * debian.upstream/libgstvaapi-dev.install.in:
14729         * gst-libs/gst/vaapi/Makefile.am:
14730         * pkgconfig/gstreamer-vaapi.pc.in:
14731           build: fix packaging for GStreamer 1.2.
14732           Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
14733           the pkgconfig version (1.0) instead of the intended API version (1.2).
14734           libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
14735           as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
14736
14737 2014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14738
14739         * configure.ac:
14740           Bump version for development.
14741
14742 === release 0.5.8 ===
14743
14744 2014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14745
14746         * debian.upstream/control.in:
14747           debian: fix trailing whitespace in description.
14748
14749 2014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14750
14751         * debian.upstream/control.in:
14752         * debian.upstream/copyright:
14753           debian: fix package description.
14754           Try to improve package description for the compiled plug-in elements
14755           available in there. e.g. only display vaapidownload and vaapiupload
14756           for GStreamer 0.10 builds, display vaapiencode_* elements when VA
14757           encoding is enabled, etc.
14758           Also increase the copyright notice date.
14759
14760 2014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14761
14762         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14763           build: fix warnings on 64-bit platforms.
14764
14765 2014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14766
14767         * gst-libs/gst/vaapi/gstvaapicontext.c:
14768         * gst-libs/gst/vaapi/gstvaapiutils.c:
14769           build: fix for older versions of VA-API (< 0.34.0).
14770           Fix build with older versions of VA-API (< 0.34.0), or versions without
14771           good enough headers for encoding support for instance.
14772
14773 2014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14774
14775         * NEWS:
14776         * configure.ac:
14777           0.5.8.
14778
14779 2014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14780
14781         * README:
14782           README: updates.
14783           VA-API up to 0.34.0 is actually supported. Mention new video encoding
14784           support. Update copyright years, list of supported Intel HD Graphics
14785           hardware.
14786
14787 2014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14788
14789         * NEWS:
14790           NEWS: updates.
14791
14792 2014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14793
14794         * tests/test-filter.c:
14795           tests: test-filter: fix "deinterlace" option parse.
14796           Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
14797           string was provided, i.e. if it remained set to NULL.
14798
14799 2014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14800
14801         * gst-libs/gst/vaapi/Makefile.am:
14802         * gst-libs/gst/vaapi/gstvaapicontext.c:
14803         * gst-libs/gst/vaapi/gstvaapicontext.h:
14804         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14805         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
14806         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
14807           libs: factor out usages of vaGetConfigAttributes().
14808           Add gst_vaapi_get_config_attribute() helper function that takes a
14809           GstVaapiDisplay and the rest of the arguments with VA types. The aim
14810           is to have thread-safe VA helpers by default.
14811
14812 2014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14813
14814         * gst-libs/gst/vaapi/gstvaapiutils.c:
14815         * gst-libs/gst/vaapi/gstvaapiutils.h:
14816         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
14817         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
14818         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
14819         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
14820         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
14821         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
14822         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
14823         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14824         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
14825           libs: re-indent all source code related to VA utilities.
14826
14827 2014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14828
14829         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
14830           libs: add missing file (libgstvaapi_priv_check.h).
14831
14832 2014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14833
14834         * gst-libs/gst/vaapi/gstvaapicontext.c:
14835         * gst-libs/gst/vaapi/gstvaapicontext.h:
14836         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14837         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14838         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14839         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
14840           encoder: notify the encoder of the submitted packed headers.
14841           Make sure to configure the encoder with the set of packed headers we
14842           intend to generate and submit. i.e. make selection of packed headers
14843           to submit more robust.
14844
14845 2014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14846
14847         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14848         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14849         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14850         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
14851           encoder: fix and factor out check for supported rate-control modes.
14852           Cache the first compatible GstVaapiProfile found if the encoder is not
14853           configured yet. Next, factor out the code to check for the supported
14854           rate-control modes by moving out vaGetConfigAttributes() to a separate
14855           function, while also making sure that the attribute type is actually
14856           supported by the encoder.
14857           Also fix the default set of supported rate control modes to not the
14858           "none" variant. It's totally useless to expose it at this point.
14859
14860 2014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14861
14862         * gst-libs/gst/vaapi/gstvaapicontext.c:
14863         * gst-libs/gst/vaapi/gstvaapicontext.h:
14864         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14865           context: move rate-control mode to encoder specific config.
14866           Move usage-specific config out of the common GstVaapiContextInfo.
14867           Create a specialized config for encoding and move rate-control mode
14868           to there.
14869
14870 2014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14871
14872         * gst-libs/gst/vaapi/gstvaapicontext.c:
14873         * gst-libs/gst/vaapi/gstvaapicontext.h:
14874         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14875         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14876           context: introduce concept of usage.
14877           Introduce GstVaapiContextUsage so that to explicitly determine the
14878           usage of a VA context. This is useful in view to simplifying the
14879           creation of VA context for VPP too.
14880
14881 2014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14882
14883         * gst-libs/gst/vaapi/gstvaapicontext.c:
14884           context: fix get_attribute() value result.
14885           Unknown attributes, or attributes that are not supported for the given
14886           profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
14887           So, return failure in this case.
14888
14889 2014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14890
14891         * gst-libs/gst/vaapi/Makefile.am:
14892         * gst-libs/gst/vaapi/gstvaapicontext.c:
14893         * gst-libs/gst/vaapi/gstvaapicontext.h:
14894         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
14895         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
14896         * gst-libs/gst/vaapi/gstvaapisurface.c:
14897           context: move overlay composition to separate files.
14898           Move GstVideoOverlayComposition handling to separate source files.
14899           This helps keeing GstVaapiContext core implementation to the bare
14900           minimal, i.e. simpy helpers to create a VA context and handle pool
14901           of associated VA surfaces.
14902
14903 2014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14904
14905         * gst-libs/gst/vaapi/gstvaapicontext.c:
14906         * gst-libs/gst/vaapi/gstvaapicontext.h:
14907         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14908         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14909           context: clean-ups. Strip down APIs.
14910           Improve documentation and debug messages. Clean-up APIs, i.e. strip
14911           them down to the minimal set of interfaces. They are private, so no
14912           need expose getters for instance.
14913
14914 2014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14915
14916         * gst-libs/gst/vaapi/gstvaapicontext.c:
14917         * gst-libs/gst/vaapi/gstvaapicontext.h:
14918           context: re-indent all GstVaapiContext related source code.
14919
14920 2014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14921
14922         * gst-libs/gst/vaapi/Makefile.am:
14923         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
14924         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14925         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
14926         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
14927         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
14928         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
14929         * gst-libs/gst/vaapi/gstvaapiutils.h:
14930         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
14931         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
14932         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
14933         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
14934         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
14935           libs: check that private headers remain private.
14936           Make sure that libgstvaapi private headers remain internally used to
14937           build libgstvaapi libraries only. All header dependencies were reviewed
14938           and checks for IN_LIBGSTVAAPI definition were added accordingly.
14939           Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
14940           consistency.
14941
14942 2014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14943
14944         * configure.ac:
14945           Bump library major version.
14946           Bump the library major version due to API/ABI changes that occurred in
14947           the imaging API. In particular, GstVaapiDisplay interfaces no longer
14948           expose any GstCaps but provide GArray based ones e.g. to determine the
14949           set of supported decode/encode profiles.
14950
14951 2014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14952
14953         * gst-libs/gst/vaapi/glibcompat.h:
14954         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
14955         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
14956         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14957         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
14958         * gst-libs/gst/vaapi/gstvaapicontext.c:
14959         * gst-libs/gst/vaapi/gstvaapicontext.h:
14960         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14961         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14962         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14963         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14964         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
14965         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14966         * gst-libs/gst/vaapi/gstvaapiencoder.h:
14967         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14968         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
14969         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14970         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
14971         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
14972         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
14973         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
14974         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
14975         * gst-libs/gst/vaapi/gstvaapifilter.c:
14976         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
14977         * gst-libs/gst/vaapi/gstvaapisurface.c:
14978         * gst-libs/gst/vaapi/gstvaapisurface.h:
14979         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
14980         * gst-libs/gst/vaapi/gstvaapitypes.h:
14981         * gst-libs/gst/vaapi/gstvaapiutils.c:
14982         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
14983         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
14984         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
14985         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
14986         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
14987         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
14988         * gst-libs/gst/vaapi/gstvaapivalue.c:
14989         * gst-libs/gst/vaapi/gstvaapivalue.h:
14990         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
14991         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
14992         * gst/vaapi/gstvaapidecode.c:
14993         * gst/vaapi/gstvaapiencode.c:
14994         * gst/vaapi/gstvaapiencode.h:
14995         * gst/vaapi/gstvaapiencode_h264.c:
14996         * gst/vaapi/gstvaapiencode_h264.h:
14997         * gst/vaapi/gstvaapiencode_mpeg2.c:
14998         * gst/vaapi/gstvaapiencode_mpeg2.h:
14999         * gst/vaapi/gstvaapipluginbase.c:
15000         * gst/vaapi/gstvaapipluginutil.c:
15001         * gst/vaapi/gstvaapipluginutil.h:
15002         * gst/vaapi/gstvaapipostproc.c:
15003         * gst/vaapi/gstvaapipostproc.h:
15004         * gst/vaapi/gstvaapisink.c:
15005         * gst/vaapi/gstvaapisink.h:
15006         * gst/vaapi/gstvaapivideometa_texture.c:
15007         * tests/simple-decoder.c:
15008           legal: update copyright notice dates.
15009
15010 2014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15011
15012         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15013         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15014         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15015         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15016         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15017         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15018         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15019         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15020         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
15021         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15022         * gst/vaapi/gstvaapiencode.c:
15023         * gst/vaapi/gstvaapiencode.h:
15024         * gst/vaapi/gstvaapiencode_h264.c:
15025         * gst/vaapi/gstvaapiencode_h264.h:
15026         * gst/vaapi/gstvaapiencode_mpeg2.c:
15027         * gst/vaapi/gstvaapiencode_mpeg2.h:
15028           legal: add per-file authorship information.
15029
15030 2014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15031
15032         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15033         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
15034           decoder: fix video codec frame number in standalone mode.
15035           Set a valid GstVideoCodecFrame.system_frame_number when decoding a
15036           stream in standalone mode. While we are at it, improve the debugging
15037           messages to also include that frame number.
15038
15039 2014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
15040
15041         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15042         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
15043           decoder: fix crash on invalid pointer for GST_DEBUG().
15044           When decoding failed, or that the frame was dropped, the associated
15045           surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
15046           message needs to check whether the proxy is actually present or not.
15047           https://bugzilla.gnome.org/show_bug.cgi?id=722403
15048           [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
15049           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15050
15051 2014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15052
15053         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15054           encoder: h264: disable NAL HRD parameters for now.
15055           Don't emit NAL HRD parameters for now in the SPS headers because the
15056           SEI buffering_period() and picture_timing() messages are not handled
15057           yet. Some additional changes are necessary to get it right.
15058           https://bugzilla.gnome.org/show_bug.cgi?id=722734
15059
15060 2014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15061
15062         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15063         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15064         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15065         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
15066           encoder: h264: fix default CPB buffer size.
15067           Fix default CPB buffer size to something more reasonable (1500 ms)
15068           and that still fits the level limits. This is a non configurable
15069           property for now. The initial CPB removal delay is also fixed to
15070           750 ms.
15071           https://bugzilla.gnome.org/show_bug.cgi?id=722087
15072
15073 2014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15074
15075         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15076           encoder: h264: fix bitrate encoding for HRD conformance.
15077           Round down the calculated, or supplied, bitrate (kbps) into a multiple
15078           of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
15079           that to have less losses in precision. Likewise, don't round up because
15080           that could be a strict constraint imposed by the user.
15081
15082 2014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15083
15084         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15085           encoder: h264: fix level lookup constraints wrt. bitrate.
15086           Fix the level calculation involving bitrate limits. Since we are
15087           targetting NAL HRD conformance, the check against MaxBR from the
15088           Table A-1 limits shall involve cpbBrNalFactor depending on the
15089           active profile.
15090
15091 2014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15092
15093         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15094           encoder: h264: submit sequence parameter only once.
15095           Submit sequence parameter buffers only once, or when the bitstream
15096           was reconfigured in a way that requires such. Always submit packed
15097           sequence parameter buffers at I-frame period, if the VA driver needs
15098           those.
15099           https://bugzilla.gnome.org/show_bug.cgi?id=722737
15100
15101 2014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15102
15103         * gst-libs/gst/vaapi/gstvaapicontext.c:
15104         * gst-libs/gst/vaapi/gstvaapicontext.h:
15105         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15106         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15107         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15108           encoder: h264: only submit packed headers when required.
15109           Make sure to submit the packed headers only if the underlying VA driver
15110           requires those. Currently, only handle packed sequence and picture
15111           headers.
15112           https://bugzilla.gnome.org/show_bug.cgi?id=722737
15113
15114 2014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15115
15116         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15117           encoder: h264: fix ip_period value in sequence parameter.
15118           The VAEncSequenceParameterBuffer.ip_period value reprents the distance
15119           between the I-frame and the next P-frame. So, this also accounts for
15120           any additional B-frame in the middle of it.
15121           This fixes rate control heuristics for certain VA drivers.
15122           https://bugzilla.gnome.org/show_bug.cgi?id=722735
15123
15124 2014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15125
15126         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15127           encoder: h264: fix level when bitrate is automatically computed.
15128           Fix level characterisation when the bitrate is automatically computed
15129           from the active coding tools. i.e. ensure the bitrate once the profile
15130           is completely characterized but before the level calculation process.
15131
15132 2014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15133
15134         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15135           encoder: h264: clean-ups.
15136           Document and rename a few functions here and there. Drop code that
15137           caps num_bframes variable in reset_properties() since they shall
15138           have been checked beforehand, during properties initialization.
15139
15140 2014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15141
15142         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15143           encoder: h264: clean-up bitwriter related utilities.
15144           Clean-up GstBitWriter related utility functions and simplify notations.
15145           While we are at it, also make bitstream writing more robust should an
15146           overflow occur. We could later optimize for writing headers capped to
15147           their maximum possible size by using the _unchecked() helper variants.
15148
15149 2014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15150
15151         * gst-libs/gst/vaapi/Makefile.am:
15152         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15153         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15154           encoder: h264: completely remove private headers.
15155           Drop private header since it was originally used to expose internals
15156           to the plugin element. The proper interface is now the properties API,
15157           thus rendering private headers totally obsolete.
15158
15159 2014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15160
15161         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15162           encoder: h264: fix PPS header packing with profile < high.
15163           Fix PPS header packing when profile is below High since 8x8 transform
15164           mode and scaling lists are High Profile features.
15165
15166 2014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15167
15168         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15169           encoder: h264: always emit VUI parameters for framerate.
15170           Always emit VUI parameters for timing_info, which includes framerate
15171           information.
15172
15173 2014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15174
15175         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15176           encoder: h264: really fix frame cropping rectangle calculation.
15177           Make frame cropping rectangle calculation future proof, i.e. exactly
15178           follow the specification (7-18) to (7-21), and subsampling definitions
15179           from Table 6-1.
15180           https://bugzilla.gnome.org/show_bug.cgi?id=722089
15181           https://bugzilla.gnome.org/show_bug.cgi?id=722238
15182
15183 2014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
15184
15185         * gst/vaapi/gstvaapisink.c:
15186         * gst/vaapi/gstvaapisink.h:
15187           vaapisink: set csc render flags from sinkpad caps.
15188           This maps GstVideoColorimetry information in vaapisink's sinkpad caps
15189           to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
15190           available.
15191           https://bugzilla.gnome.org/show_bug.cgi?id=722255
15192           [factored out code, added SMPTE240M, handle per-buffer flags]
15193           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15194
15195 2012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15196
15197         * gst-libs/gst/vaapi/gstvaapisurface.h:
15198         * gst-libs/gst/vaapi/gstvaapiutils.c:
15199         * gst/vaapi/gstvaapipostproc.c:
15200           surface: rework render flags.
15201           Pack render flags per category and provide more flags into the color
15202           standard category. In particular, cover for SMPTE-240M.
15203
15204 2013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
15205
15206         * gst-libs/gst/vaapi/gstvaapifilter.c:
15207         * gst/vaapi/gstvaapipostproc.c:
15208         * gst/vaapi/gstvaapipostproc.h:
15209           vaapipostproc: add support for colorbalance filters.
15210           Add support for hue, saturation, brightness and constrat adjustments.
15211           Also fix cap info local copy to match the really expected cap subtype
15212           of interest.
15213           https://bugzilla.gnome.org/show_bug.cgi?id=720376
15214           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15215
15216 2013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
15217
15218         * gst/vaapi/gstvaapipostproc.c:
15219           vaapipostproc: fix support for "sharpen" filter.
15220           Fix copy/paste error when submitting the "sharpen" value to the
15221           GstVaapiFilter instance.
15222           https://bugzilla.gnome.org/show_bug.cgi?id=720375
15223           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15224
15225 2013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
15226
15227         * configure.ac:
15228         * pkgconfig/gstreamer-vaapi-drm.pc.in:
15229         * pkgconfig/gstreamer-vaapi-glx.pc.in:
15230         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
15231         * pkgconfig/gstreamer-vaapi-x11.pc.in:
15232         * pkgconfig/gstreamer-vaapi.pc.in:
15233           pkgconfig: plugin dir should use PKG version not API version.
15234           Fix the pluginsdir and includedir variables in the generated pkgconfig
15235           (.pc) files. The location needs to be built with the PKG version in
15236           mind instead of the API version.
15237           While we are at it, also fix the PKG version for GStreamer >= 1.3.
15238           https://bugzilla.gnome.org/show_bug.cgi?id=720820
15239           [additional fixes for includedir and pkg requirements]
15240           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15241
15242 2014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
15243
15244         * gst/vaapi/gstvaapisink.c:
15245           vaapisink: fix display initialization in GstVideoOverlay implementation.
15246           When gst_vaapisink_video_overlay_set_window_handle() is called early,
15247           before the pipeline has been set to PLAYING, the display has not yet
15248           been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
15249           up-to-date. For this reason the foreign XID is not attached.
15250           Now _ensure_display() is called earlier.
15251           https://bugzilla.gnome.org/show_bug.cgi?id=722244
15252           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15253
15254 2013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15255
15256         * gst/vaapi/gstvaapisink.c:
15257           vaapisink: expose the raw video formats in static caps template.
15258           Expose all raw video formats in the static caps template since the
15259           vaapisink is supporting raw data. We will get the exact set of formats
15260           supported by the driver dynamically through the _get_caps() routine.
15261           https://bugzilla.gnome.org/show_bug.cgi?id=703271
15262           https://bugzilla.gnome.org/show_bug.cgi?id=720737
15263           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15264
15265 2013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15266
15267         * gst/vaapi/gstvaapidecode.c:
15268           vaapidecode: query downstream caps features like GLTextureUploadMeta.
15269           Fix vaapidecode to correctly report caps features downstream, when
15270           a custom pipeline is built manually.
15271           https://bugzilla.gnome.org/show_bug.cgi?id=719372
15272           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15273
15274 2013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15275
15276         * gst/vaapi/gstvaapidecode.c:
15277           vaapidecode: add system memory caps to template caps.
15278           Since vaapidecode provides buffer that can be mapped as regular memory,
15279           those caps should be added to the template caps. That only applies to
15280           GStreamer >= 1.2.
15281           https://bugzilla.gnome.org/show_bug.cgi?id=720608
15282           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15283
15284 2013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
15285
15286         * gst/vaapi/gstvaapidecode.c:
15287           vaapidecode: fix hang on SIGINT.
15288           vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
15289           <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
15290           locked. This fixes a deadlock on state change from PAUSED to READY.
15291           https://bugzilla.gnome.org/show_bug.cgi?id=720584
15292           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15293
15294 2013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
15295
15296         * gst/vaapi/gstvaapiencode.c:
15297           vaapiencode: fix possible hang on SIGINT.
15298           vaapiencode might hang when the pipeline is stopped without any EOS,
15299           e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
15300           running and locked. This fixes a possible deadlock on state change
15301           from PAUSED to READY.
15302           https://bugzilla.gnome.org/show_bug.cgi?id=720584
15303           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15304
15305 2014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15306
15307         * gst/vaapi/gstvaapiencode.c:
15308           vaapiencode: fix typo in error message.
15309           Fix incomplete error message in gst_vaapiencode_push_frame().
15310
15311 2014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15312
15313         * gst/vaapi/gstvaapipluginutil.c:
15314         * gst/vaapi/gstvaapipluginutil.h:
15315           plugins: add helpers to create video caps with features.
15316           Add gst_vaapi_video_format_new_template_caps_with_features() helper
15317           function to add the supplied caps feature string on GStreamer >= 1.2.
15318           Add gst_vaapi_find_preferred_caps_feature() helper function to discover
15319           the "best" caps feature to use for the supplied pad. In practice, we
15320           will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
15321           and finally the system memory caps.
15322           https://bugzilla.gnome.org/show_bug.cgi?id=719372
15323
15324 2014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15325
15326         * gst/vaapi/gstvaapivideometa_texture.c:
15327           plugins: don't apply overlay composition in GLTextureUpload function.
15328           The GLTextureUpload function is not in charge of doing the overlay
15329           composition if any.
15330           https://bugzilla.gnome.org/show_bug.cgi?id=721859
15331           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15332
15333 2014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15334
15335         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15336           encoder: re-order submission of VA objects.
15337           Change the submission order of VA objects so that to make that process
15338           more logical. i.e. submit sequence parameter first, if any; next the
15339           packed headers associated to sequece, picture or slices; and finally
15340           the actual picture and associated slices.
15341
15342 2014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15343
15344         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15345         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15346         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15347         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15348         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
15349           encoder: clean-up objects.
15350           Various clean-ups to improve consistency and readability: rename some
15351           variables, drop unused macro definitions, drop initialization of vars
15352           that are zero-initialized from the base class, drop un-necessary casts,
15353           allocate GPtrArrays with a destroy function.
15354
15355 2014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15356
15357         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15358           encoder: h264: fix frame cropping rectangle calculation.
15359           Fix frame cropping rectangle calculation to handle horizontal resolutions
15360           that don't match a multiple of 16 pixels, but also the vertical resolution
15361           that was incorrectly computed for progressive sequences too.
15362           https://bugzilla.gnome.org/show_bug.cgi?id=722089
15363
15364 2014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15365
15366         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15367           encoder: h264: improve automatic bitrate calculation.
15368           For non "Constant-QP" modes, we could provide more reasonable heuristics
15369           for the target bitrate. In general, 48 bits per macroblock with all the
15370           useful coding tools enable looks safe enough. Then, this rate is raised
15371           by +10% to +15% for each coding tool that is disabled.
15372           https://bugzilla.gnome.org/show_bug.cgi?id=719699
15373
15374 2014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15375
15376         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15377           encoder: h264: support "high-compression" tuning option.
15378           Add support for "high-compression" tuning option. First, determine the
15379           largest supported profile by the hardware. Next, check any target limit
15380           set by the user. Then, enable each individual coding tool based on the
15381           resulting profile_idc value to use.
15382           https://bugzilla.gnome.org/show_bug.cgi?id=719696
15383
15384 2014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15385
15386         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15387         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15388         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15389         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15390         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
15391         * gst/vaapi/gstvaapiencode_h264.c:
15392           encoder: h264: allow target decoder constraints.
15393           Allow user to precise the largest profile to use for encoding due
15394           to target decoder constraints. For instance, if CABAC entropy coding
15395           mode is requested by "constrained-baseline" profile only is desired,
15396           then an error is returned during codec configuration.
15397           Also make sure that the suitable profile we derived actually matches
15398           what the HW can cope with.
15399           https://bugzilla.gnome.org/show_bug.cgi?id=719694
15400
15401 2014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15402
15403         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15404           encoder: h264: refine size of coded buffer.
15405           Refine the heuristic to determine the maximum size of a coded buffer
15406           to account for the exact number of slices. set_context_info() is the
15407           last step during codec reconfiguration, no additional change is done
15408           afterwards, so re-using the num_slices field here is fine.
15409           https://bugzilla.gnome.org/show_bug.cgi?id=719953
15410
15411 2013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
15412
15413         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15414         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15415         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15416           encoder: h264: expose more coding tools.
15417           Add new H.264 coding tools to improve compression:
15418           - "cabac": enable CABAC entropy coding (default: FALSE);
15419           - "dct8x8": enable spatial transform 8x8 (default: FALSE).
15420           https://bugzilla.gnome.org/show_bug.cgi?id=719693
15421           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15422
15423 2014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15424
15425         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15426         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15427         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15428           encoder: h264: derive profile and level from active coding tools.
15429           Automatically derive the minimum profile and level to be used for
15430           encoding, based on the activated coding tools. The encoder will
15431           be trying to generate a bitstream that has the best chances to be
15432           decoded on most platforms by default.
15433           Also change the default profile to "constrained-baseline" so that
15434           to ensure maximum compatibility when the stream is decoded.
15435           https://bugzilla.gnome.org/show_bug.cgi?id=719691
15436
15437 2014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15438
15439         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15440         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15441         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15442           encoder: h264: fix hardware profile lookup.
15443           Fix lookup for a suitable HW profile, as to be used by the underlying
15444           hardware, based on heuristics that lead to characterize the SW profile,
15445           i.e. the one used by the SW level encoding logic.
15446           Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
15447           as they should respectively match the baseline and main profile.
15448           https://bugzilla.gnome.org/show_bug.cgi?id=719827
15449
15450 2014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15451
15452         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15453         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15454         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15455           encoder: h264: support only the byte-stream format.
15456           The libgstvaapi core encoders are meant to support raw bitstreams only.
15457           Henceforth, we are always producing a stream in "byte-stream" format.
15458           However, the "codec-data" buffer which holds SPS and PPS headers is
15459           always available. The "lengthSizeMinusOne" field is always set to 3
15460           so that in-place "byte-stream" format to "avc" format conversion could
15461           be performed.
15462
15463 2014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15464
15465         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15466         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15467         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15468         * gst/vaapi/gstvaapiencode_h264.c:
15469           encoder: h264: clean-ups.
15470           Various clean-ups to improve consistency and readability: rename some
15471           variables, drop unused macro definitions, drop initialization of vars
15472           that are zero-initialized from the base class, drop un-necessary casts.
15473
15474 2014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15475
15476         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15477           encoder: mpeg2: fix hardware profile lookup.
15478           Fix lookup for a suitable HW profile, as to be used by the underlying
15479           hardware, based on heuristics that lead to characterize the SW profile,
15480           i.e. the one used by the SW level encoding logic.
15481
15482 2014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15483
15484         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15485         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15486           encoder: mpeg2: derive profile and level from active coding tools.
15487           Automatically derive the minimum profile and level to be used for
15488           encoding, based on the activated coding tools. Improve lookup for
15489           the best suitable level with the new MPEG-2 helper functions.
15490           Also change the default profile to "simple" so that to ensure maximum
15491           compatibility when the stream is decoded.
15492           https://bugzilla.gnome.org/show_bug.cgi?id=719703
15493
15494 2014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15495
15496         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15497         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15498         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15499           encoder: mpeg2: clean-ups.
15500           Various clean-ups to improve consistency and readability: drop unused
15501           macro definitions, drop initialization of vars that are zero-initialized
15502           from the base class, drop un-necessary casts.
15503
15504 2014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15505
15506         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15507         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15508         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15509         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15510         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15511           encoder: add tuning options API.
15512           Add encoder "tune" option to override the default behaviour that is to
15513           favor maximum decoder compatibility at the expense of lower compression
15514           ratios.
15515           Expected tuning options to be developed are:
15516           - "high-compression": improve compression, target best-in-class decoders;
15517           - "low-latency": tune for low-latency decoding;
15518           - "low-power": tune for encoding in low power / resources conditions.
15519
15520 2014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15521
15522         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15523         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15524           encoder: fix bitrate units to match kbps.
15525           Bitrate is expressed in kilobits per second (kbps). So, this exactly
15526           means in multiple of 1000 bits, not 1024 bits.
15527           https://bugzilla.gnome.org/show_bug.cgi?id=722086
15528
15529 2014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15530
15531         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15532         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15533         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15534           encoder: clean-ups.
15535           Drop obsolete and unused macros. Add a few doc comments. Slightly
15536           improve indentation of a few leftovers.
15537
15538 2014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15539
15540         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15541         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15542         * gst-libs/gst/vaapi/gstvaapivalue.c:
15543         * gst-libs/gst/vaapi/gstvaapivalue.h:
15544           encoder: filter out the supported set of rate-control properties.
15545           Only expose the exact static set of supported rate-control properties
15546           to the upper layer. For instance, if the GstVaapiEncoderXXX class does
15547           only support CQP rate control, then only add it the the exposed enum
15548           type.
15549           Add helper macros and functions to build a GType for an enum subset.
15550
15551 2014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15552
15553         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15554         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15555         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15556         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15557         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15558         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15559         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15560         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15561         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15562           encoder: add keyframe period API.
15563           Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
15564           user control the maximum distance between two keyframes. This new
15565           property can only be set prior to gst_vaapi_encoder_set_codec_state().
15566           A value of zero for "keyframe-period" gets it re-evaluated to the
15567           actual framerate during encoder reconfiguration.
15568
15569 2014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15570
15571         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15572         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15573         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15574         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15575           encoder: improve codec reconfiguration.
15576           Improve codec reconfiguration to be performed only through a single
15577           function. That is, remove the _set_context_info() hook as subclass
15578           should not alter the parent GstVaapiContextInfo itself. Besides, the
15579           VA context is constructed only at the final stages of reconfigure().
15580
15581 2014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15582
15583         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
15584         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
15585         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15586           encoder: fix possible memory leak of coded buffer pools.
15587           Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
15588           buffer pool only if the coded buffer size actually changed.
15589
15590 2014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15591
15592         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15593         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15594         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15595         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15596         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15597         * gst/vaapi/gstvaapiencode.c:
15598         * gst/vaapi/gstvaapiencode.h:
15599           encoder: add video codec-state API.
15600           Add interface to communicate the encoder resolution and related info
15601           like framerate, interlaced vs. progressive, etc. This new interface
15602           supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
15603           but rather use GstVideoCodecState.
15604           Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
15605           point for codec config. This means that the encoder is reconfigured
15606           there to match the latest properties.
15607
15608 2014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15609
15610         * gst/vaapi/gstvaapiencode.c:
15611           vaapiencode: don't crash on NULL encoder on _finish().
15612           Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
15613           if it was not created in the first place. Return "not-negotiated" error
15614           since this means we did not even reach GstVideoEncoder::set_format(),
15615           where the encoder could have been created.
15616           This fixes a crash when the vaapiencode_* plug-in elements get deallocated
15617           and that we failed to negotiate either pad.
15618           https://bugzilla.gnome.org/show_bug.cgi?id=719704
15619
15620 2014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15621
15622         * gst/vaapi/gstvaapiencode.c:
15623         * gst/vaapi/gstvaapiencode.h:
15624         * gst/vaapi/gstvaapiencode_h264.c:
15625           vaapiencode: use more GstVaapiPluginBase facilities.
15626           Avoid duplication of pad references or query functions since they are
15627           provided through the GstVaapiPluginBase object.
15628
15629 2014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15630
15631         * gst/vaapi/gstvaapiencode.c:
15632         * gst/vaapi/gstvaapiencode.h:
15633         * gst/vaapi/gstvaapiencode_h264.c:
15634         * gst/vaapi/gstvaapiencode_h264.h:
15635         * gst/vaapi/gstvaapiencode_mpeg2.c:
15636           vaapiencode: fix negotiation process of output caps.
15637           The specified caps in gst_video_encoder_set_output_state() function
15638           arguments should not contain any resolution, pixel-aspect-ratio,
15639           framerate, codec-data et al. Those rather should be set through the
15640           returned GstVideoCodecState. This means that output caps creation
15641           could be delayed until before gst_video_encoder_finish_frame() is
15642           called.
15643           This greatly simplifies the GstVideoEncoder::set_format() callback
15644           by the way.
15645
15646 2014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15647
15648         * gst/vaapi/gstvaapiencode.c:
15649           vaapiencode: make GstVaapiEncode an abstract type.
15650           Make base GstVaapiEncode class an abstract type so that we cannot
15651           create an instance from it without going through any of the codec
15652           specific derived class.
15653
15654 2014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15655
15656         * gst/vaapi/gstvaapiencode.c:
15657         * gst/vaapi/gstvaapiencode.h:
15658         * gst/vaapi/gstvaapiencode_h264.c:
15659         * gst/vaapi/gstvaapiencode_mpeg2.c:
15660           vaapiencode: rename a few member functions.
15661           Rename a few member functions to make them more consistent:
15662           - alloc_encoder(): now reduced to allocate the encoder object only;
15663           - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
15664
15665 2014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15666
15667         * gst/vaapi/gstvaapiencode.c:
15668         * gst/vaapi/gstvaapiencode.h:
15669         * gst/vaapi/gstvaapiencode_h264.c:
15670         * gst/vaapi/gstvaapiencode_h264.h:
15671         * gst/vaapi/gstvaapiencode_mpeg2.c:
15672           vaapiencode: update for new properties API.
15673           Update MPEG-2 and H.264 encode elements to cope with the new core
15674           libgstvaapi properties API. i.e. all configurable properties are now
15675           directly handled at the GstVaapiEncoder level.
15676           Besides, this also makes sure to not use or modify the GstVaapiEncoder
15677           private definitions directly. Private data need to remain private.
15678           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15679
15680 2014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15681
15682         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15683         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15684         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15685         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15686         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15687         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15688         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15689           encoder: add properties API.
15690           Add interface to communicate configurable properties to the encoder.
15691           This covers both the common ones (rate-control, bitrate), and the
15692           codec specific properties.
15693           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15694
15695 2014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15696
15697         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15698         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15699         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15700         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15701         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15702         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15703         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15704         * gst/vaapi/gstvaapiencode.c:
15705         * gst/vaapi/gstvaapiencode_h264.c:
15706         * gst/vaapi/gstvaapiencode_mpeg2.c:
15707           encoder: add bitrate API.
15708           Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
15709           the bitrate for encoding. Currently, changing this parameter is only
15710           valid before the first frame is encoded. Should the value be modified
15711           afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
15712           returned.
15713           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15714
15715 2014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15716
15717         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15718         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15719         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15720         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15721         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15722         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15723         * gst-libs/gst/vaapi/gstvaapitypes.h:
15724         * gst/vaapi/gstvaapiencode.c:
15725         * gst/vaapi/gstvaapiencode.h:
15726         * gst/vaapi/gstvaapiencode_h264.c:
15727         * gst/vaapi/gstvaapiencode_mpeg2.c:
15728           encoder: add rate control API.
15729           Add gst_vaapi_encoder_set_rate_control() interface to request a new
15730           rate control mode for encoding. Changing the rate control mode is
15731           only valid prior to encoding the very first frame. Afterwards, an
15732           error ("operation-failed") is issued.
15733           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15734
15735 2014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15736
15737         * gst/vaapi/gstvaapiencode.c:
15738         * gst/vaapi/gstvaapiencode_h264.c:
15739         * gst/vaapi/gstvaapiencode_mpeg2.c:
15740           vaapiencode: fix indentation.
15741
15742 2014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15743
15744         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15745         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15746         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15747         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15748         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15749         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15750         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15751         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15752         * gst/vaapi/gstvaapiencode.h:
15753           encoder: fix indentation.
15754
15755 2014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15756
15757         * gst-libs/gst/vaapi/Makefile.am:
15758         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
15759         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
15760         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
15761           utils: add new MPEG-2 helper functions.
15762           Add various helper functions to convert profile, level, chroma formats
15763           from gstreamer-vaapi world and the MPEG-2 specification world.
15764
15765 2014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15766
15767         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15768           utils: h264: don't use fatal asserts.
15769           Replace g_assert() with a g_debug() so that to not make the program
15770           abort when an unsupported value is supplied.
15771
15772 2014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15773
15774         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15775         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
15776           utils: h264: add helpers for profile and level string mappings.
15777           Add profile and level helper functions to convert to/from strings.
15778
15779 2014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15780
15781         * gst-libs/gst/vaapi/Makefile.am:
15782         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15783         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15784         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
15785         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
15786           utils: h264: expose levels in public header.
15787           Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
15788           H.264 levels in there. The additional helper functions are meant
15789           to be private for now.
15790
15791 2014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15792
15793         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
15794         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
15795         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15796         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15797           codec: add helper macros to maintain object refcount.
15798           Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
15799           to avoid explicit casts to GstVaapiMiniObject in all caller sites.
15800
15801 2014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15802
15803         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15804         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15805           codec: re-indent decoder objects.
15806
15807 2014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15808
15809         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
15810         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
15811           codec: re-indent base codec objects.
15812
15813 2014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15814
15815         * gst/vaapi/gstvaapipluginbase.c:
15816           plugins: do not free debug category in finalize method.
15817           Fixes a crash when multiple vaapidecode elements are finalized since
15818           the debug category is created once in the class init method.
15819           This is a regression from git commit 7e58d60.
15820           https://bugzilla.gnome.org/show_bug.cgi?id=721390
15821           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15822
15823 2014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15824
15825         * gst-libs/gst/vaapi/glibcompat.h:
15826         * tests/simple-decoder.c:
15827           tests: simple-decoder: don't use deprecated g_thread_create().
15828           Use g_thread_try_new() instead of the deprecated g_thread_create()
15829           function. Provide compatibility glue for any GLib version < 2.31.2.
15830
15831 2014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15832
15833         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15834         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
15835         * gst-libs/gst/vaapi/gstvaapisurface.c:
15836         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
15837         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
15838         * gst/vaapi/gstvaapiencode.c:
15839           Fix printf()-like formats.
15840           Fix formts for various GST_DEBUG et al. invocations. More precisely,
15841           make size_t arguments use the %zu format specifier accordingly; force
15842           XID formats to be a 32-bit unsigned integer; and fix the format used
15843           for gst_vaapi_create_surface_with_format() error cases since we have
15844           been using strings nowadays.
15845
15846 2013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15847
15848         * gst-libs/gst/vaapi/video-format.c:
15849         * gst-libs/gst/vaapi/video-format.h:
15850           utils: format: drop unused helper functions.
15851           The following helper functions are no longer used, thus are removed:
15852           - gst_vaapi_video_format_from_structure()
15853           - gst_vaapi_video_format_from_caps()
15854           - gst_vaapi_video_format_to_caps()
15855
15856 2013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15857
15858         * gst-libs/gst/vaapi/video-format.c:
15859         * gst-libs/gst/vaapi/video-format.h:
15860           utils: re-indent GstVideoFormat related helpers.
15861
15862 2013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15863
15864         * gst/vaapi/gstvaapidownload.c:
15865           download: use GstVideoInfo facilities to build output caps.
15866           Use standard GstVideoInfo related functions to build the output caps,
15867           thus directly preserving additional fields as needed, instead of
15868           manually copying them over through gst_vaapi_append_surface_caps().
15869           Also ensure that the input caps are fixated first.
15870
15871 2013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15872
15873         * gst/vaapi/gstvaapidownload.c:
15874         * gst/vaapi/gstvaapipluginutil.c:
15875         * gst/vaapi/gstvaapipluginutil.h:
15876         * gst/vaapi/gstvaapiuploader.c:
15877           plugins: factor out construction of template caps.
15878           Add new helper functions to build video template caps.
15879           - gst_vaapi_video_format_new_template_caps():
15880           create GstCaps with size, frame rate and PAR to full range
15881           - gst_vaapi_video_format_new_template_caps_from_list():
15882           try to create a "simplified" list from the supplied formats
15883
15884 2013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15885
15886         * gst/vaapi/gstvaapipluginutil.c:
15887         * gst/vaapi/gstvaapipluginutil.h:
15888         * gst/vaapi/gstvaapipostproc.c:
15889           plugins: factor out construction of GValue from GstVideoFormat.
15890           Add new helper functions to build GValues from GstVideoFormat:
15891           - gst_vaapi_value_set_format():
15892           build a GValue from the supplied video format
15893           - gst_vaapi_value_set_format_list():
15894           build a GValue list from the supplied array of video formats
15895
15896 2013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15897
15898         * gst/vaapi/gstvaapipluginutil.c:
15899         * gst/vaapi/gstvaapipluginutil.h:
15900         * gst/vaapi/gstvaapivideocontext.c:
15901         * gst/vaapi/gstvaapivideocontext.h:
15902           plugins: re-indent common and video context creation utils.
15903
15904 2013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15905
15906         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15907         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15908         * gst/vaapi/gstvaapidecode.c:
15909         * tests/test-display.c:
15910           display: don't use GstCaps for decode or encode profiles list.
15911           Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
15912           more convenient APIs that return an array of GstVaapiProfile instead
15913           of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
15914
15915 2013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15916
15917         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15918         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15919         * gst/vaapi/gstvaapidownload.c:
15920         * gst/vaapi/gstvaapiuploader.c:
15921         * tests/test-display.c:
15922           display: don't use GstCaps for image or subpicture formats list.
15923           Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
15924           returned GstCaps, with more convenient APIs that return an array of
15925           GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
15926
15927 2013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15928
15929         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15930         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15931         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
15932           display: allocate queried resources on-demand.
15933           Allocate the set of decoders or encoders on-demand, when they are
15934           queried. Likewise for VA display attributes, image and subpicture
15935           formats.
15936
15937 2013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15938
15939         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15940         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15941         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
15942         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
15943         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
15944         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
15945         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
15946         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
15947         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
15948         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
15949         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
15950         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
15951         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
15952         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
15953         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
15954         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
15955         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
15956           display: re-indent all GstVaapiDisplay related source code.
15957
15958 2013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15959
15960         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15961         * gst-libs/gst/vaapi/gstvaapiprofile.h:
15962           utils: add helper functions to get codec or profile name.
15963
15964 2013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15965
15966         * gst/vaapi/gstvaapipostproc.c:
15967         * gst/vaapi/gstvaapipostproc.h:
15968         * gst/vaapi/gstvaapiuploader.c:
15969           plugins: fix permissions for certain files.
15970           Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
15971           files.
15972
15973 2013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15974
15975         * gst/vaapi/gstvaapivideometa_texture.c:
15976           plugins: implement GLTextureUploadMeta user data copy.
15977           Makes the copies of a buffer reference their own GLTextureUploadMeta
15978           user data and prevent the original buffer accessing already freed
15979           memory if its copies has been released and freed.
15980           https://bugzilla.gnome.org/show_bug.cgi?id=720336
15981           [Propagate the original meta texture to the copy too]
15982           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15983
15984 2013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15985
15986         * gst/vaapi/gstvaapiencode.c:
15987         * gst/vaapi/gstvaapiencode.h:
15988         * gst/vaapi/gstvaapipluginbase.c:
15989         * gst/vaapi/gstvaapipluginbase.h:
15990         * gst/vaapi/gstvaapipostproc.c:
15991         * gst/vaapi/gstvaapipostproc.h:
15992         * gst/vaapi/gstvaapisink.c:
15993         * gst/vaapi/gstvaapisink.h:
15994           plugins: factor out support for raw YUV buffers on sink pads.
15995           Factor out propose_allocation() hooks, creation of video buffer pool
15996           for the sink pad, conversion from raw YUV buffers to VA surface backed
15997           buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
15998           with the new GstVaapiPluginBase abilities.
15999
16000 2013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16001
16002         * gst-libs/gst/vaapi/gstcompat.h:
16003         * gst/vaapi/gstvaapidecode.c:
16004         * gst/vaapi/gstvaapidecode.h:
16005         * gst/vaapi/gstvaapidownload.c:
16006         * gst/vaapi/gstvaapipluginbase.c:
16007         * gst/vaapi/gstvaapipluginbase.h:
16008         * gst/vaapi/gstvaapipostproc.c:
16009         * gst/vaapi/gstvaapipostproc.h:
16010         * gst/vaapi/gstvaapisink.c:
16011         * gst/vaapi/gstvaapiupload.c:
16012           plugins: factor out pad caps.
16013
16014 2013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16015
16016         * gst/vaapi/gstvaapidecode.c:
16017         * gst/vaapi/gstvaapidownload.c:
16018         * gst/vaapi/gstvaapiencode.c:
16019         * gst/vaapi/gstvaapipluginbase.c:
16020         * gst/vaapi/gstvaapipostproc.c:
16021         * gst/vaapi/gstvaapisink.c:
16022         * gst/vaapi/gstvaapiupload.c:
16023           plugins: factor out video context sharing code.
16024
16025 2013-12-13 13:24:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16026
16027         * gst/vaapi/gstvaapidecode.c:
16028         * gst/vaapi/gstvaapidownload.c:
16029         * gst/vaapi/gstvaapiencode.c:
16030         * gst/vaapi/gstvaapipluginbase.c:
16031         * gst/vaapi/gstvaapipluginbase.h:
16032         * gst/vaapi/gstvaapipostproc.c:
16033         * gst/vaapi/gstvaapisink.c:
16034         * gst/vaapi/gstvaapiupload.c:
16035           plugins: factor out GstImplementsInterface.
16036
16037 2013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16038
16039         * gst-libs/gst/vaapi/gstvaapidisplay.c:
16040         * gst-libs/gst/vaapi/gstvaapidisplay.h:
16041         * gst/vaapi/gstvaapipluginbase.c:
16042         * gst/vaapi/gstvaapipluginutil.c:
16043           plugins: check type of display obtained from neighbours.
16044           Fix display creation code to check that any display obtained from a
16045           neighbour actually has the type we expect. Note: if display type is
16046           set to "any", we can then accept any VA display type.
16047
16048 2013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16049
16050         * gst/vaapi/gstvaapidecode.c:
16051         * gst/vaapi/gstvaapidownload.c:
16052         * gst/vaapi/gstvaapiencode.c:
16053         * gst/vaapi/gstvaapipluginbase.c:
16054         * gst/vaapi/gstvaapipluginbase.h:
16055         * gst/vaapi/gstvaapipluginutil.c:
16056         * gst/vaapi/gstvaapipluginutil.h:
16057         * gst/vaapi/gstvaapipostproc.c:
16058         * gst/vaapi/gstvaapisink.c:
16059         * gst/vaapi/gstvaapisink.h:
16060         * gst/vaapi/gstvaapiupload.c:
16061           plugins: factor out display creation process.
16062           Move common VA display creation code to GstVaapiPluginBase, with the
16063           default display type remaining "any". Also add a "display-changed"
16064           hook so that subclasses could perform additional tasks when/if the
16065           VA display changed, due to a new display type request for instance.
16066           All plug-ins are updated to cope with the new internal APIs.
16067
16068 2013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16069
16070         * gst/vaapi/Makefile.am:
16071         * gst/vaapi/gstvaapidecode.c:
16072         * gst/vaapi/gstvaapidecode.h:
16073         * gst/vaapi/gstvaapidownload.c:
16074         * gst/vaapi/gstvaapidownload.h:
16075         * gst/vaapi/gstvaapiencode.c:
16076         * gst/vaapi/gstvaapiencode.h:
16077         * gst/vaapi/gstvaapipluginbase.c:
16078         * gst/vaapi/gstvaapipluginbase.h:
16079         * gst/vaapi/gstvaapipostproc.c:
16080         * gst/vaapi/gstvaapipostproc.h:
16081         * gst/vaapi/gstvaapisink.c:
16082         * gst/vaapi/gstvaapisink.h:
16083         * gst/vaapi/gstvaapiupload.c:
16084         * gst/vaapi/gstvaapiupload.h:
16085           plugins: add new base object, store display in there.
16086           Introduce a new GstVaapiPluginBase object that will contain all common
16087           data structures and perform all common tasks. First step is to have a
16088           single place to hold VA displays.
16089           While we are at it, also make sure to store and subsequently release
16090           the appropriate debug category for the subclasses.
16091
16092 2013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16093
16094         * gst-libs/gst/vaapi/gstvaapiobject.h:
16095         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16096         * gst/vaapi/gstvaapivideometa_texture.c:
16097         * gst/vaapi/gstvaapivideometa_texture.h:
16098           plugins: fix GLTextureUploadMeta to work with different texture ids.
16099           The GLTextureUploadMeta implementation assumed that for each upload()
16100           sequence, the supplied texture id is always the same as the one that
16101           was previously cached into the underlying GstVaapiTexture. Cope with
16102           any texture id change the expense to recreate the underlying VA/GLX
16103           resources.
16104           https://bugzilla.gnome.org/show_bug.cgi?id=719643
16105
16106 2013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16107
16108         * gst/vaapi/gstvaapidecode.c:
16109         * gst/vaapi/gstvaapivideobufferpool.c:
16110         * gst/vaapi/gstvaapivideometa_texture.c:
16111           plugins: allow builds without GLX enabled for GStreamer 1.2.
16112           Don't try to build GLTextureUploadMeta related code if GLX is not
16113           enabled during GStreamer >= 1.2 builds.
16114
16115 2013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
16116
16117         * gst/vaapi/gstvaapidecode.c:
16118         * gst/vaapi/gstvaapivideobufferpool.c:
16119         * gst/vaapi/gstvaapivideobufferpool.h:
16120         * gst/vaapi/gstvaapivideometa_texture.c:
16121         * gst/vaapi/gstvaapivideometa_texture.h:
16122           plugins: request GLTextureUpload meta on buffers in the buffer pool.
16123           Requesting the GLTextureUpload meta on buffers in the bufferpool
16124           prevents such metas from being de-allocated when buffers are released
16125           in the sink.
16126           This is particulary useful in terms of performance when using the
16127           GLTextureUploadMeta API since the GstVaapiTexture associated with
16128           the target texture is stored in the meta.
16129           https://bugzilla.gnome.org/show_bug.cgi?id=712558
16130           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16131
16132 2013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16133
16134         * gst/vaapi/gstvaapivideometa_texture.c:
16135           plugins: robustify GstVideoGLTextureUploadMeta implementation.
16136           Make GstVideoGLTextureUploadMeta::upload() implementation more robust
16137           when the GstVaapiTexture associated with the supplied texture id could
16138           not be created.
16139
16140 2013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16141
16142         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16143           h264: improve robustness when packets are missing.
16144           Improve robustness when some expected packets where not received yet
16145           or that were not correctly decoded. For example, don't try to decode
16146           a picture if there was no valid frame headers parsed so far.
16147           https://bugs.freedesktop.org/show_bug.cgi?id=57902
16148
16149 2013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16150
16151         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16152           decoder: h264: fix decoding of BA3_SVA_C.264.
16153           Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
16154           extended profile specifications. However, the SPS header has the
16155           constraint_set1_flag syntax element set to 1. This means that, if
16156           a Main profile compliant decoder is available, then it should be
16157           able to decode this stream.
16158           This changes makes it possible to fall-back from Extended profile
16159           to Main profile if constraint_set1_flag is set to 1.
16160           https://bugzilla.gnome.org/show_bug.cgi?id=720190
16161
16162 2013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16163
16164         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16165         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16166           utils: h264: add more profiles.
16167           Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
16168           profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
16169           multiview profiles (H.10.1.1, H.10.1.2).
16170           Document "Constrained Baseline" and "High 10" profiles.
16171
16172 2013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16173
16174         * ext/codecparsers:
16175           codecparsers: update to gst-vaapi-branch commit e7d0e18.
16176           e7d0e18 h264: complete set of NAL unit types
16177
16178 2013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
16179
16180         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16181         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16182           decoder: h264: add support for constrained baseline profile.
16183           Recognize streams marked as conforming to the "Constrained Baseline
16184           Profile". If VA driver supports that as is, fine. Otherwise, fallback
16185           to baseline, main or high profile.
16186           Constrained Baseline Profile conveys coding tools that are common
16187           to baseline profile and main profile.
16188           https://bugzilla.gnome.org/show_bug.cgi?id=719947
16189           [Added fallbacks to main and high profiles]
16190           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16191
16192 2013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16193
16194         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16195           decoder: h264: fix decoding of scaling lists.
16196           The GStreamer codecparser layer now parses the scaling lists in zigzag
16197           scan order, as expected, so that to match the original bitstream layout
16198           and specification. However, further convert the scaling lists into
16199           raster scan order to fit the existing practice in most VA drivers.
16200           https://bugzilla.gnome.org/show_bug.cgi?id=706406
16201
16202 2013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16203
16204         * ext/codecparsers:
16205           codecparsers: update to gst-vaapi-branch commit 177c73b.
16206           a7e3255 add H.265 (HEVC) bitstream parser
16207           177c73b h264: fix picture level scaling lists derivation (rule B)
16208           14733f1 h264: fix parsing of VCL HRD parameters
16209           59a0b47 h264: store quantization matrices in zig-zag order
16210           ffb6e26 h264: add helpers to convert quantization matrices
16211           c78a504 mpeg2: also initialize debug category in parse_sequence_header()
16212           719d1b0 mpeg2: turn internal consistency check into a g_assert()
16213           5241d8e all: remove some unused functions
16214           18eb312 all: fix for GST_DISABLE_GST_DEBUG
16215           963c04a all: make warnings more meaningful
16216
16217 2013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16218
16219         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16220         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16221         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
16222           utils: add helpers for H.264 levels.
16223           - gst_vaapi_utils_h264_get_level():
16224           Returns GstVaapiLevelH264 from H.264 level_idc value
16225           - gst_vaapi_utils_h264_get_level_idc():
16226           Returns H.264 level_idc value from GstVaapiLevelH264
16227           - gst_vaapi_utils_h264_get_level_limits():
16228           Returns level limits as specified in Table A-1 of the H.264 standard
16229           - gst_vaapi_utils_h264_get_level_limits_table():
16230           Returns the Table A-1 specification
16231
16232 2013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16233
16234         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16235         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16236         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16237           utils: add new H.264 profiles.
16238           Add "Constrained Baseline Profile" and "High 10 Profile" definitions
16239           and helper functiions.
16240
16241 2013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16242
16243           utils: add new H.264 helper functions.
16244           * Profiles:
16245           - gst_vaapi_utils_h264_get_profile():
16246           Returns GstVaapiProfile from H.264 profile_idc value
16247           - gst_vaapi_utils_h264_get_profile_idc():
16248           Returns H.264 profile_idc value from GstVaapiProfile
16249           * Chroma formats:
16250           - gst_vaapi_utils_h264_get_chroma_type():
16251           Returns GstVaapiChromaType from H.264 chroma_format_idc value
16252           - gst_vaapi_utils_h264_get_chroma_format_idc():
16253           Returns H.264 chroma_format_idc value from GstVaapiChromaType
16254
16255 2013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
16256
16257         * gst-libs/gst/base/Makefile.am:
16258         * gst-libs/gst/vaapi/Makefile.am:
16259           Fix missing files in distribution tarball.
16260           https://bugzilla.gnome.org/show_bug.cgi?id=719776
16261           [Additional fixes and clean-ups]
16262           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16263
16264 2013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16265
16266         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16267         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16268           encoder: fix computation of max coded buffer size (again).
16269           The previous fix was only valid to express the maximum size of the
16270           macroblock layer, i.e. without any headers. Now, also account for
16271           the slice headers and top picture header, but also any other header
16272           we might stuff into the VA coded buffer, e.g. sequence headers.
16273
16274 2013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16275
16276         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16277         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16278         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16279           encoder: fix computation of max coded buffer size.
16280           Fix coded buffer size for each codec. A generic issue was that the
16281           number of macroblocks was incorrectly computed. The second issue was
16282           specific to MPEG-2 were the max number of bits per macroblock, and
16283           as defined by the standard, was incorrectly mapped to the (lower)
16284           H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
16285
16286 2013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16287
16288         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16289         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16290         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16291         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16292           encoder: simplify VA context initialization process.
16293           Change get_context_info() into a set_context_info() function that
16294           initializes common defaults into the base class, thus allowing the
16295           subclasses to specialize the context info further on.
16296           The set_context_info() hook is also the location where additional
16297           context specific data could be initialized. At this point, we are
16298           guaranteed to have valid video resolution size and framerate. i.e.
16299           gst_vaapi_encoder_set_format() was called beforehand.
16300
16301 2013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
16302
16303         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16304           encoder: fix mpeg2 compilation error.
16305           https://bugzilla.gnome.org/show_bug.cgi?id=719746
16306           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16307
16308 2013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16309
16310         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16311         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16312         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16313         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16314         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16315         * gst/vaapi/gstvaapiencode.c:
16316           encoder: clean-ups and document public APIs.
16317           Clean public APIs up so that to better align with the decoder APIs.
16318           Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
16319           return the VA coded buffer proxy. Also provide useful documentation
16320           for the public APIs.
16321
16322 2013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16323
16324         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16325         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16326         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16327           encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
16328           Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
16329           allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
16330           through GstVaapiCodedBufferProxy user-data facility.
16331           Besides, use a GAsyncQueue to maintain a thread-safe queue object of
16332           coded buffers.
16333           Partial fix for the following report:
16334           https://bugzilla.gnome.org/show_bug.cgi?id=719530
16335
16336 2013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16337
16338         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16339         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16340         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16341         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16342         * gst/vaapi/gstvaapiencode.c:
16343           encoder: refactor status codes.
16344           Drop obsolete or unused status codes. Align some status codes with the
16345           decoder counterparts.
16346
16347 2013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16348
16349         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16350         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16351         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
16352         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16353         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
16354         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16355           encoder: fix subclassing process.
16356           Fix the GstVaapiEncoderClass parent class type. Make sure to validate
16357           subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
16358           thus avoiding useless run-time checks. Also simplify the subclass
16359           initialization process to be less error prone.
16360
16361 2013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16362
16363           encoder: rework GstVaapiCodedBuffer and related proxy.
16364           Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
16365           public and private interfaces. Besides, the map/unmap APIs should not
16366           be exposed as is but appropriate accessors should be provided instead.
16367           * GstVaapiCodedBuffer: VA coded buffer abstraction
16368           - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
16369           - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
16370           * GstVaapiCodedBufferPool: pool of VA coded buffer objects
16371           - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
16372           the specified max size, and bound to the supplied encoder
16373           * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
16374           - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
16375           - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
16376           - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
16377           Rationale: more optimized transfer functions might be provided in the
16378           future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
16379           https://bugzilla.gnome.org/show_bug.cgi?id=719775
16380
16381 2013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16382
16383         * gst/vaapi/gstvaapidecode.c:
16384         * gst/vaapi/gstvaapiencode.c:
16385         * gst/vaapi/gstvaapipostproc.c:
16386         * gst/vaapi/gstvaapisink.c:
16387           plugins: fix reference leaks of VA display objects.
16388           Fix GstElement::set_context() implementation for all plug-in elements
16389           to avoid leaking an extra reference to the VA display, thus preventing
16390           correct cleanup of VA resources in GStreamer 1.2 builds.
16391
16392 2013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16393
16394         * gst/vaapi/gstvaapipluginutil.c:
16395         * gst/vaapi/gstvaapivideocontext.c:
16396           plugins: simplify gst_vaapi_ensure_display().
16397           Return earlier if the creation of a VA display failed. Likewise, simplify
16398           gst_vaapi_video_context_propagate() now that we are guaranteed to have a
16399           valid VA display.
16400
16401 2013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16402
16403         * gst/vaapi/gstvaapivideomemory.c:
16404           plugins: fix memory leaks through GstVideoMeta maps.
16405           When GstVideoMeta maps were used, the supporting functions incorrectly
16406           used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
16407           always increasing the associated GstMemory reference count and giving
16408           zero chance to actually release that, and subsequently the VA display.
16409
16410 2013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16411
16412         * gst-libs/gst/vaapi/gstvaapifilter.c:
16413         * gst/vaapi/gstvaapiencode_h264.c:
16414         * gst/vaapi/gstvaapiencode_mpeg2.c:
16415         * gst/vaapi/gstvaapipostproc.c:
16416         * gst/vaapi/gstvaapisink.c:
16417         * gst/vaapi/gstvaapiuploader.c:
16418           plugins: use G_PARAM_STATIC_STRINGS.
16419           This avoids a few string copies during initialization.
16420
16421 2013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16422
16423         * gst/vaapi/gstvaapivideometa.c:
16424           plugins: simplify VA video meta to only reference surface proxies.
16425           Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
16426           now allocated from a surface pool. This also means that the local
16427           reference to the VA surface is also gone, as it could be extracted
16428           from the associated surface proxy.
16429
16430 2013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16431
16432         * gst/vaapi/gstvaapivideobuffer.c:
16433         * gst/vaapi/gstvaapivideobuffer.h:
16434         * gst/vaapi/gstvaapivideometa.c:
16435         * gst/vaapi/gstvaapivideometa.h:
16436           plugins: drop obsolete functions.
16437           Drop the following functions that are not longer used:
16438           - gst_vaapi_video_buffer_new_with_surface()
16439           - gst_vaapi_video_meta_new_with_surface()
16440           - gst_vaapi_video_meta_set_surface()
16441           - gst_vaapi_video_meta_set_surface_from_pool()
16442
16443 2013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16444
16445         * gst/vaapi/gstvaapivideometa.c:
16446           plugins: allow VA video meta to be allocated from surface proxy pools.
16447           Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
16448           from surface pools instead of plain VA surfaces. This is to simplify
16449           allocations now that surface proxies are created from a surface pool.
16450
16451 2013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16452
16453         * docs/reference/libs/libs-sections.txt:
16454         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
16455         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
16456         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
16457           surfaceproxy: add copy function.
16458           Add gst_vaapi_surface_proxy_copy() function that creates a new surface
16459           proxy with the same information from the parent proxy, except that the
16460           user-defined destroy notify function is not copied over.
16461           The underlying VA surface is pushed back to the video pool only when
16462           the last reference to the parent surface proxy is released.
16463
16464 2013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16465
16466         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
16467         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
16468         * gst/vaapi/gstvaapiencode.c:
16469           vaapiencode: optimize _handle_frame() to avoid extra allocation.
16470           Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
16471           and in particular the GstVaapiEncObjUserData object. i.e. directly use
16472           the VA surface proxy from the source buffer. This also makes the user
16473           data attached to the GstVideoCodecFrame more consistent between both
16474           the decoder and encoder plug-in elements.
16475
16476 2013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16477
16478         * gst/vaapi/gstvaapiencode.c:
16479           vaapiencode: fix memory leaks in _push_frame() on error.
16480           Simplify gst_vaapiencode_push_frame(), while also removing the call
16481           to gst_video_encoder_negotiate() since this is implicit in _finish()
16482           if caps changed. Also fixed memory leaks that occured on error.
16483
16484 2013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16485
16486         * gst/vaapi/gstvaapiencode.c:
16487         * gst/vaapi/gstvaapiencode.h:
16488         * gst/vaapi/gstvaapiencode_h264.c:
16489         * gst/vaapi/gstvaapiencode_h264.h:
16490         * gst/vaapi/gstvaapiencode_mpeg2.c:
16491           vaapiencode: additional clean-ups.
16492           Constify pointers wherever possible. Drop unused variables, and use
16493           consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
16494           to correctly report errors, especially when in-place conversion from
16495           bytestream to avcC format failed.
16496
16497 2013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16498
16499         * gst/vaapi/gstvaapiencode.c:
16500         * gst/vaapi/gstvaapiencode.h:
16501         * gst/vaapi/gstvaapiencode_h264.c:
16502         * gst/vaapi/gstvaapiencode_h264.h:
16503         * gst/vaapi/gstvaapiencode_mpeg2.c:
16504         * gst/vaapi/gstvaapiencode_mpeg2.h:
16505           vaapiencode: move common properties to base class.
16506           Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
16507           base class. The actual range of supported rate control modes is currently
16508           implemented as a plug-in element hook. This ought to be determined from
16509           the GstVaapiEncoder object instead, i.e. from libgstvaapi.
16510
16511 2013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16512
16513         * gst/vaapi/gstvaapiencode_h264.c:
16514         * gst/vaapi/gstvaapiencode_mpeg2.c:
16515           vaapiencode: fix plugin description and debug name.
16516           Align the plug-in debug category to its actual name. i.e. enable debug
16517           logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
16518           the plug-in element description to make it more consistent with other
16519           VA-API plug-ins.
16520
16521 2013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16522
16523         * configure.ac:
16524         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16525         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16526         * gst-libs/gst/video/Makefile.am:
16527         * gst/vaapi/gstvaapiencode.c:
16528         * gst/vaapi/gstvaapiencode.h:
16529         * gst/vaapi/gstvaapiencode_h264.c:
16530         * gst/vaapi/gstvaapiencode_mpeg2.c:
16531           vaapiencode: add initial support for GStreamer 0.10.
16532
16533 2013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16534
16535         * gst-libs/gst/vaapi/gstcompat.h:
16536           libs: add more GstBuffer compat glue for GStreamer 0.10.
16537           Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
16538           Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
16539           notify function.
16540
16541 2013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16542
16543         * configure.ac:
16544         * gst-libs/gst/video/Makefile.am:
16545           libs: always use built-in videoutils for GStreamer 0.10.
16546           GStreamer 0.10.36 is the latest and ultimate version to be released
16547           from the GStreamer 0.10 branch. i.e. no further releases are to be
16548           made. So, we can safely enable the built-in videoutils replacement
16549           now that they are in sync with the 0.10 branch.
16550
16551 2013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16552
16553         * ext/videoutils:
16554           videoutils: update to master commit d4a15a5.
16555           d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
16556           86096cc videodecoder: minor cosmetic changes to align a bit more with master
16557           b4b8b52 videodecoder: allow parse function to not use all data on adapter
16558           2145495 videodecoder: warn if frame list gets long
16559           36c3753 videodecoder: Also use the object lock to protect the output_state
16560           518c93d videodecoder: fix seeking again
16561           185fb63 video: Correct usage of the base class stream lock
16562           170e944 videodecoder: Expose _negotiate function
16563
16564 2013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
16565
16566         * configure.ac:
16567         * gst-libs/gst/vaapi/Makefile.am:
16568         * tests/Makefile.am:
16569           Fix build with GStreamer >= 1.3.
16570           http://bugzilla.gnome.org/show_bug.cgi?id=715183
16571           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16572
16573 2013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16574
16575         * configure.ac:
16576           configure: disable encoders with GStreamer 0.10.
16577           Don't try to build video encoders for GStreamer 0.10. Support code is
16578           not there yet, and probably will never for such an ancient version.
16579
16580 2013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16581
16582         * gst/vaapi/gstvaapiencode.c:
16583           vaapiencode: fix error handling while allocating output buffers.
16584           Fix default GstVideoEncoder::allocate_buffer() implementation to properly
16585           unmap the coded buffer prior to returning an error.
16586
16587 2013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16588
16589         * gst/vaapi/gstvaapiencode.c:
16590           vaapiencode: fix error handling in _finish() hook.
16591           Fix GstVideoEncoder::finish() implementation to really return possible
16592           errors instead of GST_FLOW_OK. That is, fix check for timeout status.
16593
16594 2013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16595
16596         * gst/vaapi/gstvaapiencode.c:
16597         * gst/vaapi/gstvaapiencode.h:
16598         * gst/vaapi/gstvaapiencode_h264.c:
16599         * gst/vaapi/gstvaapiencode_h264.h:
16600         * gst/vaapi/gstvaapiencode_mpeg2.c:
16601         * gst/vaapi/gstvaapiencode_mpeg2.h:
16602           vaapiencode: minor clean-ups.
16603           Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
16604           the GObject type system. We are guaranteed to only deal with the same
16605           plug-in element object.
16606
16607 2013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16608
16609         * gst/vaapi/gstvaapiencode.c:
16610         * gst/vaapi/gstvaapiencode_h264.c:
16611         * gst/vaapi/gstvaapiencode_mpeg2.c:
16612           vaapiencode: fix support for raw YUV sink buffers.
16613           Allow vaapiencode plug-in elements to encode from raw YUV buffers.
16614           The most efficient way to do so is to let the vaapiencode elements
16615           allocate a buffer pool, and subsequently buffers from it. This means
16616           that upstream elements are expected to honour downstream pools.
16617           If upstream elements insist on providing their own allocated buffers
16618           to the vaapiencode elements, then it possibly would be more efficient
16619           to insert a vaapipostproc element before the vaapiencode element.
16620           This is because vaapipostproc currently has better support than other
16621           elements for "foreign" raw YUV buffers.
16622
16623 2013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16624
16625         * gst/vaapi/gstvaapiencode.c:
16626           vaapiencode: fix support for GStreamer 1.2.
16627
16628 2013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
16629
16630         * gst/vaapi/gstvaapiencode.c:
16631         * gst/vaapi/gstvaapiencode_h264.c:
16632         * gst/vaapi/gstvaapiencode_mpeg2.c:
16633           vaapiencode: initial port to GStreamer 1.2.
16634           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16635
16636 2013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
16637
16638         * gst/vaapi/Makefile.am:
16639         * gst/vaapi/gstvaapi.c:
16640         * gst/vaapi/gstvaapiencode_mpeg2.c:
16641         * gst/vaapi/gstvaapiencode_mpeg2.h:
16642           plugins: add mpeg2 encoder element.
16643           Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
16644           is called "vaapiencode_mpeg2".
16645           Valid properties:
16646           - rate-control: rate control mode (default: cqp - constant QP)
16647           - bitrate: desired bitrate in kbps (default: auto-calculated)
16648           - key-period: maximal distance between two key frames (default: 30)
16649           - max-bframes: number of B-frames between I and P (default: 2)
16650           - quantizer: constant quantizer (default: 8)
16651           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16652
16653 2013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
16654
16655         * gst/vaapi/Makefile.am:
16656         * gst/vaapi/gstvaapi.c:
16657         * gst/vaapi/gstvaapiencode_h264.c:
16658         * gst/vaapi/gstvaapiencode_h264.h:
16659           plugins: add h264 encoder element.
16660           Add GstVaapiEncodeH264 element object. The actual plug-in element
16661           is called "vaapiencode_h264".
16662           Valid properties:
16663           - rate-control: rate control mode (default: none)
16664           - bitrate: desired bitrate in kbps (default: auto-calculated)
16665           - key-period: maximal distance between two key frames (default: 30)
16666           - num-slices: number of slices per frame (default: 1)
16667           - max-bframes: number of B-frames between I and P (default: 0)
16668           - min-qp: minimal quantizer (default: 1)
16669           - init-qp: initial quantizer (default: 26)
16670           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16671
16672 2013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
16673
16674         * gst/vaapi/Makefile.am:
16675         * gst/vaapi/gstvaapiencode.c:
16676         * gst/vaapi/gstvaapiencode.h:
16677           plugins: add base encoder element.
16678           vaapiencode element is based on GstVideoEncoder APIs.
16679           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16680
16681 2013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
16682
16683         * gst-libs/gst/vaapi/Makefile.am:
16684         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16685         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
16686         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
16687           encoder: add mpeg2 encoder.
16688           Add initial support for MPEG-2 encoding. I/P/B frames are supported.
16689           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16690
16691 2013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
16692
16693         * gst-libs/gst/vaapi/Makefile.am:
16694         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16695         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
16696         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
16697           encoder: add h264 encoder.
16698           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16699
16700 2013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
16701
16702         * configure.ac:
16703         * gst-libs/gst/vaapi/Makefile.am:
16704         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16705         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16706         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
16707         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
16708         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16709           Add initial infrastructure for video encoding.
16710           Add initial API for video encoding: only basic interfaces and small
16711           encoder objects are implemented so far.
16712           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16713
16714 2013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
16715
16716         * configure.ac:
16717         * gst-libs/gst/Makefile.am:
16718         * gst-libs/gst/base/Makefile.am:
16719         * gst-libs/gst/base/gstbitwriter.c:
16720         * gst-libs/gst/base/gstbitwriter.h:
16721         * gst-libs/gst/vaapi/Makefile.am:
16722           libs: add generic bitstream writer.
16723           GstBitWriter provides a bit writer that can write any number of bits
16724           to a pre-allocated memory buffer. Helper functions are also provided
16725           to write any number of bits from 8, 16, 32 and 64 bit variables.
16726           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16727
16728 2013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
16729
16730         * gst-libs/gst/vaapi/gstvaapicontext.c:
16731         * gst-libs/gst/vaapi/gstvaapicontext.h:
16732           libs: add support for rate-control to GstVaapiContext.
16733           Extend GstVaapiContextInfo structure to hold the desired rate control
16734           mode for encoding purposes. For decoding purposes, this field is not
16735           used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
16736           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16737
16738 2013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
16739
16740         * gst-libs/gst/vaapi/gstvaapitypes.h:
16741         * gst-libs/gst/vaapi/gstvaapiutils.c:
16742         * gst-libs/gst/vaapi/gstvaapiutils.h:
16743         * gst-libs/gst/vaapi/gstvaapivalue.c:
16744         * gst-libs/gst/vaapi/gstvaapivalue.h:
16745           libs: add rate-control attributes.
16746           Add GstVaapiRateControl types and GType values in view to supporting
16747           rate controls for encoding. This is meant to be used for instance in
16748           GstVaapiContext.
16749           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16750
16751 2013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16752
16753         * configure.ac:
16754           Bump version for development.
16755
16756 === release 0.5.7 ===
16757
16758 2013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16759
16760         * gst/vaapi/Makefile.am:
16761           build: fix for Wayland headers not in standard include dirs.
16762           Fix build when Wayland headers don't live in plain system include dirs
16763           like /usr/include but rather in /usr/include/wayland for instance.
16764           Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
16765           https://bugzilla.gnome.org/show_bug.cgi?id=712282
16766
16767 2013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
16768
16769         * gst-libs/gst/vaapi/Makefile.am:
16770           build: link libgstvaapi-wayland against videoutils.
16771           This library is using symbols that don't exist in GStreamer 0.10 so
16772           it needs to link to built-in implementation (libgstvaapi-videoutils).
16773           https://bugzilla.gnome.org/show_bug.cgi?id=712282
16774           Signed-off-by: Ross Burton <ross.burton@intel.com>
16775           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16776
16777 2013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16778
16779         * gst-libs/gst/vaapi/gstvaapifilter.c:
16780         * gst/vaapi/gstvaapipostproc.c:
16781           vaapostproc: fix memory leaks.
16782           Destroy VPP output surface pool on exit. Also avoid a possible crash
16783           in double-free situation caused by insufficiently reference counted
16784           array of formats returned during initialization.
16785
16786 2013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16787
16788         * gst/vaapi/gstvaapipostproc.c:
16789         * gst/vaapi/gstvaapipostproc.h:
16790           vaapipostproc: fix and optimize advanced deinterlacing mode.
16791           Fix advanced deinterlacing modes with VPP to track only up to 2 past
16792           reference buffers. This used to be 3 past reference buffers but this
16793           doesn't fit with the existing decode pipeline that only has 4 extra
16794           scratch surfaces.
16795           Also optimize references tracking to be only enabled when needed, i.e.
16796           when advanced deinterlacing mode is used. This means that we don't
16797           need to track past references for basic bob or weave deinterlacing.
16798
16799 2013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16800
16801         * gst/vaapi/gstvaapipostproc.c:
16802           vaapipostproc: fix "mixed" mode deinterlacing.
16803           In "mixed" interlaced streams, the buffer contains additional flags that
16804           specify whether the frame contained herein is interlaced or not. This means
16805           that we can alternatively get progressive or interlaced frames. Make sure
16806           to disable deinterlacing at the VPP level when the source buffer is no longer
16807           interlaced.
16808
16809 2013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16810
16811         * gst/vaapi/gstvaapipostproc.c:
16812           vaapipostproc: fix memory leaks with advanced deinterlacing.
16813           Fix memory leaks with advanced deinterlacing, i.e. when we keep track
16814           of past buffers. Completely reset the deinterlace state, thus destroying
16815           any buffer currently held, on _start(), _stop() and _destroy().
16816
16817 2013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16818
16819         * README:
16820           README: updates.
16821           - GStreamer 1.2 APIs are supported ;
16822           - Video Processing (VA/VPP) features.
16823
16824 2013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16825
16826         * README:
16827           README: update for GStreamer >= 1.0.x and VPP features.
16828
16829 2013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16830
16831         * gst-libs/gst/vaapi/glibcompat.h:
16832         * gst-libs/gst/vaapi/gstvaapicontext.h:
16833         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
16834         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
16835         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
16836         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
16837         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
16838         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
16839         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
16840         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
16841         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
16842         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
16843         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16844         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
16845         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
16846         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
16847         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
16848         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
16849         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
16850         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16851         * gst-libs/gst/vaapi/gstvaapiimage.c:
16852         * gst-libs/gst/vaapi/gstvaapiimage.h:
16853         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
16854         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
16855         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
16856         * gst-libs/gst/vaapi/gstvaapiobject.c:
16857         * gst-libs/gst/vaapi/gstvaapiobject.h:
16858         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16859         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16860         * gst-libs/gst/vaapi/gstvaapisurface.h:
16861         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
16862         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
16863         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
16864         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
16865         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
16866         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
16867         * gst-libs/gst/vaapi/gstvaapitexture.c:
16868         * gst-libs/gst/vaapi/gstvaapitexture.h:
16869         * gst-libs/gst/vaapi/gstvaapitypes.h:
16870         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
16871         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
16872         * gst-libs/gst/vaapi/gstvaapivalue.c:
16873         * gst-libs/gst/vaapi/gstvaapivalue.h:
16874         * gst-libs/gst/vaapi/gstvaapivideopool.c:
16875         * gst-libs/gst/vaapi/gstvaapivideopool.h:
16876         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
16877         * gst-libs/gst/vaapi/gstvaapiwindow.c:
16878         * gst-libs/gst/vaapi/gstvaapiwindow.h:
16879         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
16880         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
16881         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
16882         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
16883         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
16884         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
16885         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
16886         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
16887         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
16888         * gst/vaapi/gstvaapi.c:
16889         * gst/vaapi/gstvaapidecode.h:
16890         * gst/vaapi/gstvaapidownload.h:
16891         * gst/vaapi/gstvaapipluginutil.c:
16892         * gst/vaapi/gstvaapipluginutil.h:
16893         * gst/vaapi/gstvaapipostproc.h:
16894         * gst/vaapi/gstvaapisink.h:
16895         * gst/vaapi/gstvaapivideoconverter_glx.h:
16896         * tests/image.c:
16897         * tests/image.h:
16898         * tests/output.h:
16899         * tests/test-display.c:
16900         * tests/test-jpeg.c:
16901         * tests/test-jpeg.h:
16902         * tests/test-mpeg4.c:
16903         * tests/test-mpeg4.h:
16904         * tests/test-surfaces.c:
16905         * tests/test-windows.c:
16906           legal: update copyright notice dates.
16907
16908 2013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16909
16910         * gst-libs/gst/vaapi/glibcompat.h:
16911         * gst-libs/gst/vaapi/gstcompat.h:
16912         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
16913         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
16914         * gst-libs/gst/vaapi/gstvaapicompat.h:
16915         * gst-libs/gst/vaapi/gstvaapicontext.c:
16916         * gst-libs/gst/vaapi/gstvaapicontext.h:
16917         * gst-libs/gst/vaapi/gstvaapidebug.h:
16918         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16919         * gst-libs/gst/vaapi/gstvaapidecoder.h:
16920         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
16921         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
16922         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16923         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
16924         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
16925         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
16926         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
16927         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
16928         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
16929         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
16930         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16931         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16932         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16933         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
16934         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
16935         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
16936         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
16937         * gst-libs/gst/vaapi/gstvaapidisplay.c:
16938         * gst-libs/gst/vaapi/gstvaapidisplay.h:
16939         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
16940         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
16941         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
16942         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
16943         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
16944         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
16945         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16946         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
16947         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
16948         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
16949         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
16950         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
16951         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
16952         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
16953         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16954         * gst-libs/gst/vaapi/gstvaapifilter.c:
16955         * gst-libs/gst/vaapi/gstvaapifilter.h:
16956         * gst-libs/gst/vaapi/gstvaapiimage.c:
16957         * gst-libs/gst/vaapi/gstvaapiimage.h:
16958         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
16959         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
16960         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
16961         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
16962         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
16963         * gst-libs/gst/vaapi/gstvaapiobject.c:
16964         * gst-libs/gst/vaapi/gstvaapiobject.h:
16965         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16966         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
16967         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
16968         * gst-libs/gst/vaapi/gstvaapipixmap.c:
16969         * gst-libs/gst/vaapi/gstvaapipixmap.h:
16970         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
16971         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
16972         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
16973         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16974         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16975         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
16976         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
16977         * gst-libs/gst/vaapi/gstvaapisurface.c:
16978         * gst-libs/gst/vaapi/gstvaapisurface.h:
16979         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
16980         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
16981         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
16982         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
16983         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
16984         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
16985         * gst-libs/gst/vaapi/gstvaapitexture.c:
16986         * gst-libs/gst/vaapi/gstvaapitexture.h:
16987         * gst-libs/gst/vaapi/gstvaapitypes.h:
16988         * gst-libs/gst/vaapi/gstvaapiutils.c:
16989         * gst-libs/gst/vaapi/gstvaapiutils.h:
16990         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
16991         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
16992         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
16993         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
16994         * gst-libs/gst/vaapi/gstvaapivalue.c:
16995         * gst-libs/gst/vaapi/gstvaapivalue.h:
16996         * gst-libs/gst/vaapi/gstvaapivideopool.c:
16997         * gst-libs/gst/vaapi/gstvaapivideopool.h:
16998         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
16999         * gst-libs/gst/vaapi/gstvaapiwindow.c:
17000         * gst-libs/gst/vaapi/gstvaapiwindow.h:
17001         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
17002         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
17003         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17004         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
17005         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17006         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17007         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
17008         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17009         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
17010         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
17011         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
17012         * gst-libs/gst/vaapi/sysdeps.h:
17013         * gst-libs/gst/vaapi/video-format.c:
17014         * gst-libs/gst/vaapi/video-format.h:
17015         * gst/vaapi/gstvaapi.c:
17016         * gst/vaapi/gstvaapidecode.c:
17017         * gst/vaapi/gstvaapidecode.h:
17018         * gst/vaapi/gstvaapidownload.c:
17019         * gst/vaapi/gstvaapidownload.h:
17020         * gst/vaapi/gstvaapipluginutil.c:
17021         * gst/vaapi/gstvaapipluginutil.h:
17022         * gst/vaapi/gstvaapipostproc.c:
17023         * gst/vaapi/gstvaapipostproc.h:
17024         * gst/vaapi/gstvaapisink.c:
17025         * gst/vaapi/gstvaapisink.h:
17026         * gst/vaapi/gstvaapiupload.c:
17027         * gst/vaapi/gstvaapiupload.h:
17028         * gst/vaapi/gstvaapiuploader.c:
17029         * gst/vaapi/gstvaapiuploader.h:
17030         * gst/vaapi/gstvaapivideobuffer.c:
17031         * gst/vaapi/gstvaapivideobuffer.h:
17032         * gst/vaapi/gstvaapivideobufferpool.c:
17033         * gst/vaapi/gstvaapivideobufferpool.h:
17034         * gst/vaapi/gstvaapivideocontext.c:
17035         * gst/vaapi/gstvaapivideocontext.h:
17036         * gst/vaapi/gstvaapivideoconverter_glx.c:
17037         * gst/vaapi/gstvaapivideoconverter_glx.h:
17038         * gst/vaapi/gstvaapivideoconverter_x11.c:
17039         * gst/vaapi/gstvaapivideoconverter_x11.h:
17040         * gst/vaapi/gstvaapivideomemory.c:
17041         * gst/vaapi/gstvaapivideomemory.h:
17042         * gst/vaapi/gstvaapivideometa.c:
17043         * gst/vaapi/gstvaapivideometa.h:
17044         * gst/vaapi/gstvaapivideometa_texture.c:
17045         * gst/vaapi/gstvaapivideometa_texture.h:
17046         * tests/codec.c:
17047         * tests/codec.h:
17048         * tests/decoder.c:
17049         * tests/decoder.h:
17050         * tests/image.c:
17051         * tests/image.h:
17052         * tests/output.c:
17053         * tests/output.h:
17054         * tests/simple-decoder.c:
17055         * tests/test-decode.c:
17056         * tests/test-decode.h:
17057         * tests/test-display.c:
17058         * tests/test-filter.c:
17059         * tests/test-h264.c:
17060         * tests/test-h264.h:
17061         * tests/test-jpeg.c:
17062         * tests/test-jpeg.h:
17063         * tests/test-mpeg2.c:
17064         * tests/test-mpeg2.h:
17065         * tests/test-mpeg4.c:
17066         * tests/test-mpeg4.h:
17067         * tests/test-surfaces.c:
17068         * tests/test-textures.c:
17069         * tests/test-vc1.c:
17070         * tests/test-vc1.h:
17071         * tests/test-windows.c:
17072           legal: add per-file authorship information.
17073           Credit original authors on a per-file basis as we cannot expect people
17074           to know all country-specific rules, or bother browsing through the git
17075           history.
17076
17077 2013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17078
17079         * NEWS:
17080         * configure.ac:
17081           0.5.7.
17082
17083 2013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17084
17085         * NEWS:
17086           NEWS: updates.
17087
17088 2013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17089
17090         * gst-libs/gst/vaapi/gstvaapidecoder.h:
17091           decoder: don't include obsolete headers.
17092           The <gst/vaapi/gstvaapicontext.h> header was removed from the public
17093           set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
17094           on private files.
17095
17096 2013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17097
17098         * gst/vaapi/Makefile.am:
17099         * gst/vaapi/gstvaapi.c:
17100         * gst/vaapi/gstvaapipostproc.c:
17101           vaapipostproc: add initial support for GStreamer 1.2.
17102           Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
17103           right now so that to cope with auto-plugging issues/regressions. e.g.
17104           this happens when the correct set of expected caps are being exposed.
17105           This means that, currently, the proposed caps are not fully accurate.
17106
17107 2013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
17108
17109         * gst/vaapi/gstvaapipostproc.c:
17110         * gst/vaapi/gstvaapipostproc.h:
17111           vaapipostproc: add support for denoise and sharpen filters.
17112           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17113
17114 2013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17115
17116         * gst/vaapi/gstvaapipostproc.c:
17117         * gst/vaapi/gstvaapipostproc.h:
17118           vaapipostproc: add support for advanced deinterlacing.
17119           Add initial support for advanced deinterlacing. The history buffer
17120           size is arbitrarily set to 3 references for now.
17121
17122 2013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17123
17124         * gst/vaapi/gstvaapipostproc.c:
17125           vaapipostproc: fix deinterlacing with VPP.
17126           Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
17127           for the first field. Render flags were supplied instead of the actual
17128           deinterlacing flags (deint_flags).
17129
17130 2013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17131
17132         * gst/vaapi/gstvaapipostproc.c:
17133           vaapipostproc: fix transform caps.
17134           Fix GstBaseTransform::transform_caps() implementation to always return
17135           the complete set of allowed sink pad caps (unfixated) even if the src
17136           pad caps we are getting are fixated. Rationale: there are just so many
17137           possible combinations, and it was wrong to provide a unique set anyway.
17138           As a side effect, this greatly simplifies the ability to derive src pad
17139           caps from fixated sink pad caps.
17140
17141 2013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
17142
17143         * docs/reference/libs/libs-sections.txt:
17144         * gst-libs/gst/vaapi/gstvaapifilter.c:
17145         * gst-libs/gst/vaapi/gstvaapifilter.h:
17146           filter: add helper to specify references for deinterlacing.
17147           Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
17148           list of surfaces used for forward or backward reference in advanced
17149           deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
17150           The list of surfaces used as deinterlacing references shall be live
17151           until the next call to gst_vaapi_filter_process().
17152           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17153
17154 2013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17155
17156         * gst-libs/gst/vaapi/gstvaapifilter.c:
17157         * gst-libs/gst/vaapi/gstvaapifilter.h:
17158         * gst-libs/gst/vaapi/gstvaapiutils.c:
17159         * gst/vaapi/gstvaapipostproc.c:
17160         * tests/test-filter.c:
17161           filter: fix semantics of deinterlacing flags.
17162           Fix deinterlacing flags to make more sense. The TFF (top-field-first)
17163           flag is meant to specify the organization of reference frames used in
17164           advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
17165           to specify that the top-field of the supplied input surface is to be
17166           used for deinterlacing. Conversely, if not set, this means that the
17167           bottom field of the supplied input surface will be used instead.
17168
17169 2013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17170
17171         * docs/reference/libs/libs-sections.txt:
17172         * gst-libs/gst/vaapi/gstvaapifilter.c:
17173         * gst-libs/gst/vaapi/gstvaapifilter.h:
17174           filter: add helpers to check for supported/active operation.
17175           Add a couple of helper functions:
17176           - gst_vaapi_filter_has_operation(): checks whether the VA driver
17177           advertises support for the supplied operation ;
17178           - gst_vaapi_filter_use_operation(): checks whether the supplied
17179           operation was already enabled to its non-default value.
17180
17181 2013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17182
17183         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17184           libs: fix GstVaapiSurfaceProxy destroy notify call site.
17185           The user-defined destroy notify function is meant to be called only when
17186           the surface proxy was fully released, i.e. once it actually released the
17187           VA surface back to the underlying pool.
17188
17189 2013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
17190
17191         * gst-libs/gst/vaapi/gstvaapivideopool.c:
17192         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
17193           libs: make GstVaapiVideoPool thread-safe.
17194           https://bugzilla.gnome.org/show_bug.cgi?id=707108
17195           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17196
17197 2013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
17198
17199         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17200         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17201           libs: robustify decoder objects and surface proxy initialization.
17202           Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
17203           sequences to have the expected default values set beforehand in case of an
17204           error raising up further during creation. i.e. make it possible to cleanly
17205           destroy those partially initialized objects.
17206           https://bugzilla.gnome.org/show_bug.cgi?id=707108
17207           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17208
17209 2013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17210
17211         * gst/vaapi/gstvaapidecode.c:
17212           vaapidecode: fix decoder flush.
17213           There are situations where gst_video_decoder_flush() is called, and
17214           this subsequently produces a gst_video_decoder_reset() that kills the
17215           currently active GstVideoCodecFrame. This means that it no longer
17216           exists by the time we reach GstVideoDecoder::finish() callback, thus
17217           possibly resulting in a crash if we assumed spare data was still
17218           available for decode (current_frame_size > 0).
17219           Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
17220           that means a flush, thus performing the actual operations there like
17221           calling gst_video_decoder_have_frame() if pending data is available.
17222
17223 2013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17224
17225         * gst/vaapi/gstvaapidecode.c:
17226         * gst/vaapi/gstvaapidecode.h:
17227           vaapidecode: fix dead-locks with decoder task.
17228           Review all interactions between the main video decoder stream thread
17229           and the decode task to derive a correct sequence of operations for
17230           decoding. Also avoid extra atomic operations that become implicit under
17231           the GstVideoDecoder stream lock.
17232
17233 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
17234
17235         * gst/vaapi/gstvaapidecode.c:
17236           vaapidecode: fix hard reset for seek cases.
17237           Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
17238           and completely purge any decoded output frame that may come out from
17239           it. At this stage, the GstVaapiDecoder shall be in a complete clean
17240           state to start decoding over new buffers.
17241           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17242
17243 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
17244
17245         * gst/vaapi/gstvaapidecode.c:
17246         * gst/vaapi/gstvaapidecode.h:
17247           vaapidecode: drop decode timeout, always wait for a free surface.
17248           vaapidecode used to wait up to one second past the expected time of
17249           presentation for the last decoded frame. This is not realistic in
17250           practice when it comes to video pause/resume. Changed behaviour to
17251           unconditionnally wait for a free VA surface prior to continuing the
17252           decoding. The decode task will continue pushing the output frames to
17253           the downstream element while also reporting errors at the same time
17254           to the main thread.
17255           https://bugzilla.gnome.org/show_bug.cgi?id=707108
17256           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17257
17258 2013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17259
17260         * gst/vaapi/gstvaapidecode.c:
17261           vaapidecode: fix srcpad caps for GStreamer 1.2.
17262           The srcpad caps exposed for GStreamer 1.2 were missing any useful info
17263           like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
17264           that it relied on possibly un-initialized data. Fix srcpad caps to be
17265           initialized from a sanitized copy of GstVideoDecoder output state caps.
17266           Note: the correct way to expose the srcpad caps triggers an additional
17267           issue in core GStreamer auto-plugging capabilities as the correct caps
17268           to be exposed should be format=ENCODED with memory:VASurface caps feature
17269           at the minimum. In some situations, we could determine the underlying
17270           VA surface format, but this is not always possible. e.g. cases where it
17271           is not allowed to expose the underlying VA surface data, or when the
17272           VA driver implementation cannot actually provide such information.
17273
17274 2013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17275
17276         * gst/vaapi/gstvaapidecode.c:
17277         * gst/vaapi/gstvaapisink.c:
17278           plugins: streamline VA formats exposed in caps to a realistic set.
17279           Currently, the decoder only supports YUV 4:2:0 output. So, expose the
17280           output formats for GStreamer 1.2 in caps to a realistic subset. This
17281           means NV12, I420 or YV12 but also ENCODED if we cannot determine the
17282           underlying VA surface format, or if it is actually not allowed to get
17283           access to the surface contents.
17284
17285 2013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17286
17287         * gst/vaapi/gstvaapidecode.c:
17288         * gst/vaapi/gstvaapisink.c:
17289           plugins: expose the expected format for GstVideoGLTextureUploadMeta.
17290           Fix vaapidecode srcpad caps to only expose RGBA video format for the
17291           meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
17292           so far. Besides, drop this meta from the vaapisink sinkpad caps since
17293           we really don't support that for rendering.
17294           https://bugzilla.gnome.org/show_bug.cgi?id=711828
17295
17296 2013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17297
17298         * configure.ac:
17299           configure: automatically detect GStreamer API version.
17300           Automatically detect GStreamer API version. The --with-gstreamer-api
17301           configure option now defaults to "autodetect" and configure then tries
17302           to derive the GStreamer API version from the highest version based on
17303           what pkg-config --modversion would report.
17304           https://bugzilla.gnome.org/show_bug.cgi?id=711657
17305
17306 2013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
17307
17308         * gst/vaapi/gstvaapipostproc.c:
17309           vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
17310           Fix raw YUV data uploaded as in the following pipeline:
17311           $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
17312           The main reason why it failed was that the videoparse element simply
17313           allocates GstBuffer with raw data chunk'ed off the sink pad without
17314           any prior knowledge of the actual frame info. i.e. it basically just
17315           calls gst_adapter_take_buffer().
17316           We could avoid the extra copy performed in vaapipostproc if the videoparse
17317           element was aware of the downstream pool and bothers copying line by
17318           line, for each plane. This means that, for a single frame per buffer,
17319           the optimizatin will be to allocate the video buffer downstream, map
17320           it, and copy each line that is coming through until we need to fills
17321           in the successive planes.
17322           Still, optimized raw YUV uploads already worked with the following:
17323           $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
17324           https://bugzilla.gnome.org/show_bug.cgi?id=711250
17325           [clean-ups, fixed error cases to unmap and unref outbuf]
17326           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17327
17328 2013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17329
17330         * gst/vaapi/gstvaapipostproc.c:
17331           vaapipostproc: try to downgrade deinterlace-method when needed.
17332           If the currently selected deinterlacing method is not supported by the
17333           underlying hardware, then try to downgrade the method to a supported one.
17334           At the minimum, basic bob-deinterlacing shall always be supported.
17335
17336 2013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17337
17338         * gst/vaapi/gstvaapipostproc.c:
17339           vaapipostproc: add initial support for deinterlacing with VPP.
17340           Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
17341           this only covers bob-deinterlacing when the output pixel format is
17342           explicitly set.
17343
17344 2013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17345
17346         * gst/vaapi/gstvaapipostproc.c:
17347           vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
17348           The size argument for GstBaseTransform::transform_size() hook is a
17349           guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
17350
17351 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17352
17353         * gst/vaapi/gstvaapipostproc.c:
17354         * gst/vaapi/gstvaapipostproc.h:
17355           vaapipostproc: add initial support for scaling.
17356           Add initial support for basic scaling with size specified through the
17357           "width" and "height" properties. If either user-provided dimension is
17358           zero and "force-aspect-ratio" is set to true (the default), then the
17359           other dimension is scaled to preserve the aspect ratio.
17360
17361 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17362
17363         * gst/vaapi/gstvaapipostproc.c:
17364         * gst/vaapi/gstvaapipostproc.h:
17365           vaapipostproc: add initial support for color conversion.
17366           If VPP is available, we always try to implicitly convert the source
17367           buffer to the "native" surface format for the underlying accelerator.
17368           This means that no optimization is performed yet to propagate raw YUV
17369           buffers to the downstream element as is, if VPP is available. i.e. it
17370           will always cause a color conversion.
17371
17372 2013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17373
17374         * gst/vaapi/gstvaapipostproc.c:
17375           vaapipostproc: fix bug when user disabled deinterlacing.
17376           Fix pipeline error / hang when the user disabled deinterlacing through
17377           the deinterlace-mode=disabled property setting.
17378
17379 2013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17380
17381         * gst/vaapi/gstvaapipostproc.c:
17382         * gst/vaapi/gstvaapipostproc.h:
17383           vaapipostproc: factor out operations to be applied into flags.
17384           Even if we only support deinterlacing for now, use flags to specify
17385           which filters are to be applied to each frame we receive in transform().
17386           This is preparatory work for integrating new filters.
17387
17388 2013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17389
17390         * gst/vaapi/gstvaapipostproc.c:
17391         * gst/vaapi/gstvaapipostproc.h:
17392           vaapipostproc: add support for raw YUV video source buffers.
17393           Allow video processing from raw YUV buffers coming from the sink pad,
17394           while still producing a VA surface for the downstream elements.
17395
17396 2013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17397
17398         * gst/vaapi/gstvaapipluginutil.c:
17399         * gst/vaapi/gstvaapipluginutil.h:
17400         * gst/vaapi/gstvaapipostproc.c:
17401           vaapipostproc: add support for "mixed" interlace mode.
17402           Add support for "mixed" interlace-mode, whereby the video frame buffer
17403           shall be deinterlaced only if its flags mention that's actually an
17404           interlaced frame buffer.
17405
17406 2013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17407
17408         * gst-libs/gst/vaapi/gstcompat.h:
17409         * gst/vaapi/gstvaapipostproc.c:
17410         * gst/vaapi/gstvaapipostproc.h:
17411         * gst/vaapi/gstvaapivideobuffer.c:
17412         * gst/vaapi/gstvaapivideobuffer.h:
17413           vaapipostproc: rework plug-in element.
17414           Rewrite the vaapipostproc plug-in element so that it derives from
17415           GstBaseTransform, thus simplifying the caps negotiation process.
17416
17417 2013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17418
17419         * gst/vaapi/gstvaapivideobufferpool.c:
17420         * gst/vaapi/gstvaapivideomemory.c:
17421         * gst/vaapi/gstvaapivideomemory.h:
17422           plugins: fix and optimize check for buffer pool allocator params.
17423           Reset the buffer pool allocator only if the config caps changed in a
17424           sensible way: format or resolution change. i.e. don't bother with
17425           other caps like colorimetry et al. as this doesn't affect the way to
17426           allocate VA surfaces or images.
17427
17428 2013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17429
17430         * gst/vaapi/gstvaapivideomemory.c:
17431           plugins: enable memory maps for read & write with direct-rendering.
17432           Enable read and write mappings only if direct-rendering is supported.
17433           Otherwise, this means that we may need to download data from the VA
17434           surface first for correctness, even if the VA surface doesn't need to
17435           be read at all. i.e. sometimes, READWRITE mappings are meant for
17436           surfaces that are written to first, and read afterwards for further
17437           processing.
17438           https://bugzilla.gnome.org/show_bug.cgi?id=704078
17439
17440 2013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17441
17442         * gst/vaapi/gstvaapivideomemory.c:
17443           plugins: fix check for direct-rendering support.
17444           Fix check for direct-rendering if the creation of VA surfaces with
17445           an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
17446           that we tried to allocate a VA surface based on the corresponding
17447           chroma type. i.e. in that particular case, we have to make sure that
17448           the derived image has actually the expected format.
17449
17450 2013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17451
17452         * gst/vaapi/gstvaapivideobufferpool.c:
17453         * gst/vaapi/gstvaapivideomemory.c:
17454         * gst/vaapi/gstvaapivideomemory.h:
17455           plugins: fix buffer pool reset_buffer() to reset memory resources.
17456           Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
17457           memory resources, and more particularly the VA surface proxy. Most
17458           importantly, the GstVaapiVideoMeta is retained. Cached surface in
17459           memory are released, thus triggering a new allocation the next time
17460           we need to map the buffer.
17461
17462 2013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17463
17464         * gst/vaapi/gstvaapivideomemory.c:
17465         * gst/vaapi/gstvaapivideomemory.h:
17466           plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
17467           Make sure GstVaapiVideoMemory allocates VA surface proxies from a
17468           pool stored in the parent VA memory allocator.
17469           This fixes the following scenario:
17470           - VA video buffer 1 is allocated from a buffer pool
17471           - Another video buffer is created, and inherits info from buffer 1
17472           - Buffer 1 is released, thus pushing it back to the buffer pool
17473           - New buffer alloc request comes it, this yields buffer 1 back
17474           - At this stage, buffers 1 and 2 still share the same underlying VA
17475           surface, but buffer 2 was already submitted downstream for further
17476           processing, thus conflicting with additional processing we were
17477           about to perform on buffer 1.
17478           Maybe the core GstBufferPool implementation should have been fixed
17479           instead to actually make sure that the returned GstBuffer memory we
17480           found from the pool is writable?
17481
17482 2013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17483
17484         * gst/vaapi/gstvaapiuploader.c:
17485           plugins: create a proxy for GstVaapiUploader allocated buffers.
17486           Always make sure to allocate a VA surface proxy for GstVaapiUploader
17487           allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
17488           a proxy surface.
17489           This fixes cases where we want to retain the underlying surface longer,
17490           instead of releasing it back to the surface pool right away.
17491
17492 2013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17493
17494         * gst/vaapi/gstvaapidecode.c:
17495         * gst/vaapi/gstvaapipluginutil.c:
17496         * gst/vaapi/gstvaapipluginutil.h:
17497         * gst/vaapi/gstvaapipostproc.c:
17498           plugins: add helper function to disable deinterlacing in caps.
17499           Add gst_caps_set_interlaced() helper function that would reset the
17500           interlace-mode field to "progressive" for GStreamer >= 1.0, or the
17501           interlaced field to "false" for GStreamer 0.10.
17502
17503 2013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17504
17505         * gst-libs/gst/vaapi/gstvaapifilter.c:
17506           filter: fix memory leak of VPP operations.
17507           Fix ensure_operations() to release the VPP operations array if non
17508           NULL, prior to returning to the caller. The former function was also
17509           renamed to a more meaningful get_operations() since the caller owns
17510           the returned array that needs to be released.
17511
17512 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
17513
17514         * gst-libs/gst/vaapi/gstvaapifilter.c:
17515           filter: fix first-time operation lookup.
17516           Fix first-time operation lookup through find_operation() if the set
17517           of supported operations was not initially determined through the
17518           gst_vaapi_filter_get_operations() helper function.
17519           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17520
17521 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
17522
17523         * gst-libs/gst/vaapi/gstvaapifilter.c:
17524           filter: fix colorbalance related subtypes.
17525           Fix intiialization of GstVaapiFilterOpData for colorbalance related
17526           operations. In particular, fill in the va_subtype field accordingly.
17527           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17528
17529 2013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17530
17531         * gst-libs/gst/vaapi/gstvaapifilter.c:
17532           filter: fix VA-API 0.34.0 symbol guards.
17533           VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
17534           that need to be guarded for libva 0.34 and 0.33, respectively.
17535           https://bugzilla.gnome.org/show_bug.cgi?id=709102
17536           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17537
17538 2013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17539
17540         * gst/vaapi/gstvaapidecode.c:
17541         * gst/vaapi/gstvaapipluginutil.c:
17542         * gst/vaapi/gstvaapisink.c:
17543           plugins: hanle the context query in any pad.
17544           Also this patch simplifies the code, since now the query is common for the
17545           decoder and the sink.
17546           https://bugzilla.gnome.org/show_bug.cgi?id=709200
17547
17548 2013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17549
17550         * gst/vaapi/gstvaapivideocontext.c:
17551           plugins: query upstream element for a GstContext.
17552           Fix gst_vaapi_video_context_prepare() to also query upstream elements
17553           for a valid GstContext. Improve comments regarding the steps used to
17554           lookup or build that context, thus conforming to the GstContext API
17555           recommendations.
17556           https://bugzilla.gnome.org/show_bug.cgi?id=709112
17557           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17558
17559 2013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17560
17561         * configure.ac:
17562         * debian.upstream/control.in:
17563           Fix detection and packaging of GStreamer 1.2.x builds.
17564           The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
17565           packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
17566           purposes, update the versioning to -1.2 suffix instead.
17567
17568 2013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17569
17570         * gst/vaapi/Makefile.am:
17571         * gst/vaapi/gstvaapidecode.c:
17572         * gst/vaapi/gstvaapidecode.h:
17573         * gst/vaapi/gstvaapisink.c:
17574         * gst/vaapi/gstvaapivideometa_texture.c:
17575         * gst/vaapi/gstvaapivideometa_texture.h:
17576           plugins: add support for GstVideoGLTextureUploadMeta.
17577           If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
17578           requested, and more specifically under a GLX configuration, then add
17579           the GstVideoGLTextureUploadMeta to the output buffer.
17580           https://bugzilla.gnome.org/show_bug.cgi?id=703236
17581           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17582
17583 2013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17584
17585         * gst/vaapi/gstvaapidecode.c:
17586         * gst/vaapi/gstvaapisink.c:
17587         * gst/vaapi/gstvaapivideomemory.h:
17588           plugins: add support for GstCaps features.
17589           Move VA video buffer memory from "video/x-surface,type=vaapi" format,
17590           as expressed in caps, to the more standard use of caps features. i.e.
17591           add "memory:VASurface" feature attribute to the associated caps.
17592           https://bugzilla.gnome.org/show_bug.cgi?id=703271
17593           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17594
17595 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17596
17597         * gst/vaapi/gstvaapidecode.c:
17598         * gst/vaapi/gstvaapisink.c:
17599           plugins: improve ::query() debugging messages.
17600           Fix gst_vaapidecode_query() to correctly display the query type name,
17601           instead of randomly displaying that we shared the underlying display.
17602           Also add debug info for the GstVaapiSink::query() handler, i.e. the
17603           supplied query type name actually.
17604           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17605
17606 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17607
17608         * gst/vaapi/gstvaapidecode.c:
17609         * gst/vaapi/gstvaapisink.c:
17610           plugins: add support for GstContext API.
17611           Add support for the new GstContext API from GStreamer 1.2.x.
17612           - implement the GstElement::set_context() hook ;
17613           - reply to the `context' query from downstream elements.
17614           https://bugzilla.gnome.org/show_bug.cgi?id=703235
17615           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17616
17617 2013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17618
17619         * gst/vaapi/Makefile.am:
17620         * gst/vaapi/gstvaapipluginutil.c:
17621         * gst/vaapi/gstvaapivideocontext.c:
17622         * gst/vaapi/gstvaapivideocontext.h:
17623           plugins: add compat layer for GstVideoContext.
17624           Add thin compatibility layer for the deprecated GstVideoContext API.
17625           For GStreamer API >= 1.2, this involves the following two functions:
17626           - gst_vaapi_video_context_prepare(): queries if a context is already
17627           set in the pipeline ;
17628           - gst_vaapi_video_context_propagate(): propagates the newly-created
17629           context to the rest of the pipeline.
17630           https://bugzilla.gnome.org/show_bug.cgi?id=703235
17631           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17632
17633 2013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17634
17635         * configure.ac:
17636         * gst/vaapi/Makefile.am:
17637         * gst/vaapi/gstvaapi.c:
17638         * gst/vaapi/gstvaapidecode.c:
17639         * gst/vaapi/gstvaapipluginutil.c:
17640         * gst/vaapi/gstvaapisink.c:
17641         * gst/vaapi/gstvaapivideobuffer.c:
17642           plugins: initial port to GStreamer 1.2.
17643           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
17644           is rather minimalistic so that to test the basic functionality.
17645           Disable vaapipostproc plugin for now as further polishing is needed.
17646           Also disable GstVideoContext interface support since this API is now
17647           gone in 1.2.x. This is preparatory work for GstContext support.
17648           https://bugzilla.gnome.org/show_bug.cgi?id=703235
17649           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17650
17651 2013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17652
17653         * tests/simple-decoder.c:
17654           tests: simple-decoder: fix for non-X11 backends.
17655           Don't try to create pixmaps if we have not requested that feature. This
17656           fixes execution for non-X11 backends, and most specifically DRM video
17657           output mode.
17658
17659 2013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17660
17661         * ext/codecparsers:
17662           codecparsers: update to gst-vaapi-branch commit b33bd32.
17663           b33bd32 jpeg: fix and optimize scan for next marker code
17664
17665 2013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17666
17667         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17668           jpeg: fix calculation of MCU count.
17669           Fix calculation of MCU count for image sizes that are not a multiple
17670           of 8 pixels in either dimension, but also for non-common sampling
17671           factors like 4:2:2 in non-interleaved mode.
17672
17673 2013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17674
17675         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17676         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17677         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17678           jpeg: add support for multiscan images.
17679           Add support for images with multiple scans per frame. The Huffman table
17680           can be updated before SOS, and thus possibly requiring multiple uploads
17681           of Huffman tables to the VA driver. So, the latter must be able to cope
17682           with multiple VA buffers of type 'huffman-table' and with the correct
17683           sequential order.
17684
17685 2013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17686
17687         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17688           jpeg: improve robustness when packets are missing.
17689           Improve robustness when some expected packets where not received yet
17690           or that were not correctly decoded. For example, don't try to decode
17691           a picture if there was no valid frame headers.
17692
17693 2013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17694
17695         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17696           jpeg: minor clean-ups.
17697           Improve debugging and error messages. Rename a few variables to fit the
17698           existing naming conventions. Change some fatal asserts to non-fatal
17699           error codes.
17700
17701 2013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17702
17703         * gst-libs/gst/vaapi/gstvaapidecoder.c:
17704         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17705         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
17706           jpeg: rework and optimize parser.
17707           Split the input buffer data into decoder units that represent a JPEG
17708           segment. Handle scan decoder unit specifically so that it can include
17709           both the scan header (SOS) but also any other ECS or RSTi segment.
17710           That way, we parse the input buffer stream only once at the gst-vaapi
17711           level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
17712           stream into frames SOI .. EOI and (ii) in decode_buffer() to further
17713           determine segment boundaries and decode them.
17714           In practice, this is a +15 to +25% performance improvement.
17715
17716 2013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
17717
17718         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17719           jpeg: handle comment segments.
17720           Fix decode_buffer() function to gracefully skip comment (COM) segments.
17721           This fixes decoding of streams generated by certain cameras, e.g. like
17722           the Logitech Pro C920.
17723           https://bugzilla.gnome.org/show_bug.cgi?id=708208
17724           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
17725
17726 2013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17727
17728         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17729           jpeg: fix determination of image bounds.
17730           Look for the exact image bounds characterised by the <SOI> and <EOI>
17731           markers. Use the gst_jpeg_parse() codec parser utility function to
17732           optimize the lookup for the next marker segment.
17733           https://bugzilla.gnome.org/show_bug.cgi?id=707447
17734
17735 2013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
17736
17737         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17738           jpeg: fix calculation of offset to next marker segment.
17739           Fix calculation of the offset to the next marker segment since the
17740           correction of the codecparser part to match the API specification.
17741           i.e. the GstJpegMarkerSegment.size field represents the size in bytes
17742           of the segment minus any marker prefix.
17743           https://bugzilla.gnome.org/show_bug.cgi?id=707447
17744           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
17745
17746 2013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17747
17748         * ext/codecparsers:
17749           codecparsers: update to gst-vaapi-branch commit 23c7dde.
17750           23c7dde jpeg: fix calculation of segment size
17751
17752 2013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17753
17754         * configure.ac:
17755           Bump version for development.
17756
17757 === release 0.5.6 ===
17758
17759 2013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17760
17761         * NEWS:
17762         * configure.ac:
17763           0.5.6.
17764
17765 2013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17766
17767         * NEWS:
17768           NEWS: updates.
17769
17770 2013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
17771
17772         * configure.ac:
17773         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17774           configure: fix detection of VA/JPEG decoding API.
17775           Fix detection of VA/JPEG decoding API with non-standard libva packages.
17776           More precisely, some packages were shipping with a <va/va.h> header that
17777           did not include <va/va_dec_jpeg.h>.
17778           https://bugzilla.gnome.org/show_bug.cgi?id=706055
17779           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17780
17781 2013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
17782
17783         * gst/vaapi/gstvaapisink.c:
17784           vaapisink: ensure the uploader is setup for upstream allocated buffers.
17785           In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
17786           is setup in case upstream elements allocate buffers themselves without
17787           honouring our GstVaapiSink::bufer_alloc() hook.
17788           In particular, this fixes support for OGG video streams with WebKit.
17789           https://bugzilla.gnome.org/show_bug.cgi?id=703934
17790           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17791
17792 2013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17793
17794         * gst/vaapi/gstvaapisink.c:
17795           vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
17796           Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
17797           builds as well.
17798
17799 2013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17800
17801         * gst/vaapi/gstvaapisink.c:
17802         * gst/vaapi/gstvaapisink.h:
17803           vaapisink: handle raw buffers not created from VA video buffer pool.
17804           Handle raw video buffers that were not created from a VA video buffer
17805           pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
17806           builds instead of the GstVaapiUploader.
17807           https://bugs.freedesktop.org/show_bug.cgi?id=55818
17808
17809 2013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17810
17811         * gst/vaapi/gstvaapidecode.c:
17812           vaapidecode: remove extraneous size information from allowed caps.
17813           Fix _getcaps() implementation to not report codecs with size information
17814           filled in the returned caps. That's totally useless nowadays. Ideally,
17815           this is a hint to insert a video parser element, thus allowing future
17816           optimizations, but this is not a strict requirement for gstreamer-vaapi,
17817           which is able to parse the elementary bitstreams itself.
17818           https://bugzilla.gnome.org/show_bug.cgi?id=704734
17819
17820 2013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
17821
17822         * gst/vaapi/gstvaapidecode.c:
17823         * gst/vaapi/gstvaapidecode.h:
17824           vaapidecode: submit the last frame from output adapter to decoder.
17825           If there is no frame delimiter at the end of the stream, e.g. no
17826           end-of-stream or end-of-sequence marker, and that the current frame
17827           was fully parsed correctly, then assume that last frame is complete
17828           and submit it to the decoder.
17829           https://bugzilla.gnome.org/show_bug.cgi?id=705123
17830           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
17831           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17832
17833 2013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17834
17835         * gst/vaapi/gstvaapidecode.c:
17836         * gst/vaapi/gstvaapidecode.h:
17837           vaapidecode: push all decoded frames from within the task.
17838           Make sure to push all decoded frames from the task so that the unlying
17839           VA surfaces could all be rendered from the same thread.
17840
17841 2013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17842
17843         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17844           wayland: render the raw surface if VPP failed.
17845           As a last resort, if video processing capabilities (VPP) are not available,
17846           or they did not produce anything conclusive enough, then try to fallback to
17847           the original rendering code path whereby the whole VA surface is rendered
17848           as is, no matter of video cropping or deinterlacing requests.
17849           Note: under those conditions, the visual outcome won't be correct but at
17850           least, something gets displayed instead of bailing out.
17851
17852 2013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17853
17854         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17855           wayland: add supporting for video processing.
17856           Try to use VA/VPP processing capabilities to handle video cropping and
17857           additional rendering flags that may not be directly supported by the
17858           underlying hardware when exposing a suitable Wayland buffer for the
17859           supplied VA surface. e.g. deinterlacing, different color primaries than
17860           BT.601, etc.
17861
17862 2013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17863
17864         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17865           wayland: add new frame redraw infrastructure.
17866           Update the frame redraw infrastructure with a new FrameState stucture
17867           holds all the necessary information used to display the next pending
17868           surface.
17869           While we are at it, delay the sync operation down to when it is actually
17870           needed. That way, we keep performing additional tasks meanwhile.
17871
17872 2013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17873
17874         * docs/reference/libs/libs-sections.txt:
17875         * gst-libs/gst/vaapi/gstvaapifilter.c:
17876         * gst-libs/gst/vaapi/gstvaapifilter.h:
17877           filter: allow specification of render target regions.
17878           Add support for rendering the source surface to a particular region within
17879           the supplied target surface. The default background color is black.
17880
17881 2013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17882
17883         * gst/vaapi/gstvaapivideobuffer.c:
17884           decode: fix creation of GLX video buffers for GStreamer 0.10.
17885           Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
17886           and (ii) to correctly extract the GstSurfaceConverter from the video buffer
17887           object meta.
17888           This fixes support for cluttersink with GStreamer 0.10 builds.
17889
17890 2013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17891
17892         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17893           mpeg2: disable video cropping as picture_display_extension() is missing.
17894           Disable video cropping in MPEG-2 codec because it is partially implemented
17895           and actually because nobody implements it that way, and the standard spec
17896           does not specify the display process either anyway.
17897           Most notably, there are two possible use cases for sequence_display_extension()
17898           horizontal_display_size & vertical_display_size: (i) guesstimating the
17899           pixel-aspect-ratio, or (ii) implement some kind of span & scan process
17900           in conjunction with picture_display_extension() information.
17901           https://bugzilla.gnome.org/show_bug.cgi?id=704848
17902
17903 2013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17904
17905         * gst/vaapi/gstvaapisink.c:
17906         * gst/vaapi/gstvaapisink.h:
17907           vaapisink: allow scaling to ignore aspect ratio.
17908           Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
17909           which allows you to say that you don't want the sink to respect aspect
17910           ratio. Add the same property to vaapisink.
17911           http://lists.freedesktop.org/archives/libva/2012-September/001298.html
17912           Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
17913
17914 2013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
17915
17916         * gst/vaapi/gstvaapisink.c:
17917           vaapisink: fix memory leak of GstVaapiUploader instance.
17918           Make sure gst_vaapisink_ensure_uploader() checks for the existence
17919           of a former GstVaapiUploader instance prior to forcibly creating a
17920           new one.
17921           https://bugzilla.gnome.org/show_bug.cgi?id=703980
17922
17923 2013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
17924
17925         * gst/vaapi/gstvaapisink.c:
17926           vaapisink: fix get_caps() implementation for GStreamer 1.0.
17927           Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
17928           by honouring the filter caps argument. More precisely, this fixes the
17929           following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
17930           https://bugzilla.gnome.org/show_bug.cgi?id=705192
17931           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
17932           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17933
17934 2013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17935
17936         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
17937           mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
17938           This fixes the following issue:
17939           CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
17940           gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
17941           'GstVaapiDecoderMpeg4Class'
17942           gstvaapidecoder_mpeg4.c:44: note: previous declaration of
17943           'GstVaapiDecoderMpeg4Class' was here
17944           make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
17945           make[5]: Leaving directory
17946           `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
17947           https://bugzilla.gnome.org/show_bug.cgi?id=705148
17948
17949 2013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17950
17951         * tests/test-filter.c:
17952           tests: filter: add support for deinterlacing.
17953           Add --deinterlace option to enable deinterlacing through explicit VA/VPP
17954           deinterlacing filter. However, if --deinterlace option is not set but the
17955           --deinterlace-flags option is set with "top-field-first", then the very
17956           basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
17957
17958 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
17959
17960         * tests/test-filter.c:
17961           tests: filter: add support for denoising and sharpening.
17962           Add --denoise option to enable noise reduction with the level specified
17963           as the option value (float). Likewise, add --sharpen option to enable
17964           sharpening.
17965           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17966
17967 2013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17968
17969         * tests/test-filter.c:
17970           tests: filter: add support for frame cropping.
17971           Add support for frame cropping through the --crop-rect|-c argument.
17972           The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
17973           or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
17974
17975 2013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17976
17977         * tests/test-filter.c:
17978           tests: filter: dump supported operations and formats.
17979
17980 2013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
17981
17982         * tests/Makefile.am:
17983         * tests/test-filter.c:
17984           tests: add initial test for video processing.
17985           Add minimal test case for video processing: scaling and color format
17986           conversion.
17987           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17988
17989 2013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
17990
17991         * docs/reference/libs/libs-sections.txt:
17992         * gst-libs/gst/vaapi/gstvaapifilter.c:
17993         * gst-libs/gst/vaapi/gstvaapifilter.h:
17994         * gst-libs/gst/vaapi/gstvaapiutils.c:
17995         * gst-libs/gst/vaapi/gstvaapiutils.h:
17996         * gst/vaapi/gstvaapipostproc.c:
17997         * gst/vaapi/gstvaapipostproc.h:
17998           filter: add initial support for deinterlacing.
17999           Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
18000           the selected field from the input surface is kept for the target surface.
18001           Setting gst_vaapi_filter_set_deinterlacing() method argument to
18002           GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
18003           Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
18004           to libgstvaapi core library.
18005           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18006
18007 2013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
18008
18009         * docs/reference/libs/libs-sections.txt:
18010         * gst-libs/gst/vaapi/gstvaapifilter.c:
18011         * gst-libs/gst/vaapi/gstvaapifilter.h:
18012           filter: add support for color balance adjustment.
18013           Add ProcAmp (color balance) adjustments for hue, saturation, brightness
18014           and contrast. The respective range for each filter shall be the same as
18015           for the VA display attributes.
18016           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18017
18018 2013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
18019
18020         * docs/reference/libs/libs-sections.txt:
18021         * gst-libs/gst/vaapi/gstvaapifilter.c:
18022         * gst-libs/gst/vaapi/gstvaapifilter.h:
18023           filter: add support for sharpening.
18024           Sharpening is configured with a float value. The supported range is
18025           -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
18026           operation at all.
18027           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18028
18029 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
18030
18031         * docs/reference/libs/libs-sections.txt:
18032         * gst-libs/gst/vaapi/gstvaapifilter.c:
18033         * gst-libs/gst/vaapi/gstvaapifilter.h:
18034           filter: add support for denoising.
18035           Noise reduction is configured with a float value. The supported range
18036           is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
18037           operation at all.
18038           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18039
18040 2013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18041
18042         * docs/reference/libs/libs-sections.txt:
18043         * gst-libs/gst/vaapi/gstvaapifilter.c:
18044         * gst-libs/gst/vaapi/gstvaapifilter.h:
18045           filter: add support for frame cropping.
18046           Frame cropping is defined with a GstVaapiRectangle value. The default
18047           behaviour is to treat the source surface as a whole
18048
18049 2013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18050
18051         * gst-libs/gst/vaapi/gstvaapifilter.c:
18052           filter: add helper functions.
18053           Add helper functions to ensure an operation VA buffer is allocated to
18054           the right size; that filter caps get parsed and assigned to the right
18055           operation too; and that float parameters are correctly scaled to fit
18056           the reported range from the VA driver.
18057
18058 2013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18059
18060         * configure.ac:
18061         * docs/reference/libs/libs-docs.xml.in:
18062         * docs/reference/libs/libs-sections.txt:
18063         * gst-libs/gst/vaapi/Makefile.am:
18064         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18065         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18066         * gst-libs/gst/vaapi/gstvaapifilter.c:
18067         * gst-libs/gst/vaapi/gstvaapifilter.h:
18068           Add initial infrastructure for video processing.
18069           Add initial API for video processing: only scaling and color format
18070           conversion operations are supported.
18071
18072 2013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18073
18074         * gst-libs/gst/vaapi/video-format.c:
18075         * gst-libs/gst/vaapi/video-format.h:
18076           libs: add gst_vaapi_video_format_from_string() helper.
18077           Add gst_vaapi_video_format_from_string() helper function to convert from
18078           a video format string representation to a suitable GstVideoFormat. This
18079           is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
18080           builds, and a proper iteration over all GstVideoFormat string representations
18081           otherwise for earlier GStreamer 0.10.x builds.
18082
18083 2013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18084
18085         * gst-libs/gst/vaapi/video-format.c:
18086         * gst-libs/gst/vaapi/video-format.h:
18087           libs: add gst_vaapi_video_format_from_va_fourcc() helper.
18088           Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
18089           VA fourcc value to a suitable GstVideoFormat.
18090
18091 2013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18092
18093         * gst-libs/gst/vaapi/gstvaapivalue.c:
18094         * gst-libs/gst/vaapi/gstvaapivalue.h:
18095           libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
18096           Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
18097           structures as a standard GType. This could be useful to have them
18098           described as a GValue later on.
18099
18100 2013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18101
18102         * docs/reference/libs/libs-docs.xml.in:
18103         * docs/reference/libs/libs-sections.txt:
18104         * gst-libs/gst/vaapi/Makefile.am:
18105         * gst-libs/gst/vaapi/gstvaapicontext.h:
18106         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
18107           libs: drop some public APIs.
18108           Don't expose GstVaapiContext APIs and make them totally private to
18109           libgstvaapi core library. That API would also tend to disappear in
18110           a future revision. Likewise, don't expose GstVaapiDisplayCache API
18111           but keep symbols visible so that the various render backends could
18112           share a common display cache implementation in libgstvaapi.
18113           Try to clean-up the documentation from any stale entry too.
18114
18115 2013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18116
18117         * tests/image.c:
18118         * tests/image.h:
18119           tests: image: allow creation of images with interleaved patterns.
18120           Add image_generate_full() function to create interleaved color rectangles.
18121           If flags is zero, the whole frame is generated with a unique pattern. If
18122           flags is non-zero, then each field is handled individually.
18123
18124 2013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18125
18126         * tests/image.c:
18127           tests: image: fix conversion from RGB to YUV.
18128           Fix RGB to YUV conversion to preserve full data range.
18129
18130 2013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18131
18132         * tests/image.c:
18133           tests: image: try to upload images through vaDeriveImage() too.
18134           On some platforms, vaPutImage() would fail even if it does not involve
18135           color format conversion or scaling, whereas copying raw pixels through
18136           vaDeriveImage() could work instead.
18137
18138 2013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18139
18140         * tests/image.c:
18141           tests: image: add support for packed YUV formats.
18142           Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
18143
18144 2013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18145
18146         * tests/image.c:
18147           tests: image: fix generation of I420/YV12 images.
18148           U/V planes were reversed, thus producing invalid images.
18149
18150 2013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18151
18152         * tests/image.c:
18153           tests: image: fix string representation for GstVideoFormat.
18154
18155 2013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18156
18157         * docs/reference/libs/libs-sections.txt:
18158         * gst-libs/gst/vaapi/Makefile.am:
18159         * gst-libs/gst/vaapi/gstvaapiimage.c:
18160         * gst-libs/gst/vaapi/gstvaapiimage.h:
18161         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
18162         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18163         * gst-libs/gst/vaapi/gstvaapisurface.c:
18164           image: clean image API up.
18165           Don't expose functions that reference a GstVaapiImageRaw, those are
18166           meant to be internal only for implementing subpictures sync. Also add
18167           a few private definitions to avoid functions calls for retrieving
18168           image size and format information.
18169
18170 2013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18171
18172         * docs/reference/libs/libs-sections.txt:
18173         * gst-libs/gst/vaapi/gstvaapiimage.c:
18174         * gst-libs/gst/vaapi/gstvaapiimage.h:
18175           image: add gst_vaapi_image_copy() helper.
18176           Add gst_vaapi_image_copy() helper function to copy images of same format
18177           and size.
18178
18179 2013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18180
18181         * gst/vaapi/gstvaapivideoconverter_x11.c:
18182           plugins: handle video cropping in X11 pixmap converter.
18183           Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
18184           we could decode from the stream.
18185
18186 2013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18187
18188         * gst/vaapi/Makefile.am:
18189         * gst/vaapi/gstvaapivideobuffer.c:
18190         * gst/vaapi/gstvaapivideoconverter_glx.c:
18191         * gst/vaapi/gstvaapivideoconverter_x11.c:
18192         * gst/vaapi/gstvaapivideoconverter_x11.h:
18193           plugins: add support for "x11-pixmap" video converter type.
18194           Install a new video converter that supports X11 pixmap targets for X11
18195           backends only, or make the GLX converter creation function chain up to
18196           the X11 converter whenever requested.
18197
18198 2013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18199
18200         * tests/simple-decoder.c:
18201           tests: simple-decoder: add support for pixmap API.
18202           Add support for the new render-to-pixmap API. Avoid flickering on
18203           platforms supporting video overlay by keeping up to 2 intermediate
18204           pixmaps.
18205
18206 2013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18207
18208         * tests/simple-decoder.c:
18209           tests: simple-decoder: add support for video cropping.
18210           Handle video cropping information attached to a VA surface proxy.
18211
18212 2013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18213
18214         * tests/output.c:
18215         * tests/output.h:
18216         * tests/test-decode.c:
18217           tests: add support for render-to-pixmap.
18218           Add --pixmap option to test-decode so that to allow copies of VA
18219           surface to an intermediate pixmap and rendering from that pixmap.
18220           Only X11 backends are supported for now.
18221
18222 2013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18223
18224         * configure.ac:
18225         * gst-libs/gst/vaapi/Makefile.am:
18226         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18227         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18228         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18229         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
18230           x11: implement pixmap rendering with RENDER extension.
18231           Use hardware accelerated XRenderComposite() function, from the RENDER
18232           extension, to blit a pixmap to screen. Besides, this can also support
18233           cropping and scaling.
18234
18235 2013-07-19 15:05:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18236
18237         * docs/reference/libs/libs-docs.xml.in:
18238         * docs/reference/libs/libs-sections.txt:
18239         * gst-libs/gst/vaapi/Makefile.am:
18240         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18241         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18242         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
18243         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
18244           x11: implement pixmap API.
18245           Implement the new render-to-pixmap API. The only supported pixmap format
18246           that will work is xRGB, with native byte ordering. Others might work but
18247           they were not tested.
18248
18249 2013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18250
18251         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
18252         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
18253         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18254           x11: update x11_get_geometry() helper function with depth output.
18255           Allow x11_get_geometry() utility function to also return the depth
18256           assigned to the X drawable.
18257
18258 2013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18259
18260         * docs/reference/libs/libs-docs.xml.in:
18261         * docs/reference/libs/libs-sections.txt:
18262         * gst-libs/gst/vaapi/Makefile.am:
18263         * gst-libs/gst/vaapi/gstvaapipixmap.c:
18264         * gst-libs/gst/vaapi/gstvaapipixmap.h:
18265         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
18266         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18267         * gst-libs/gst/vaapi/gstvaapiwindow.h:
18268         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
18269           Add initial Pixmap API.
18270           Add API to transfer VA urfaces to native pixmaps. Also add an API to
18271           render a native pixmap, for completeness. In general, rendering to
18272           pixmap would only be useful to certain VA drivers and use cases on
18273           X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
18274           in an upper layer.
18275
18276 2013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18277
18278         * docs/reference/libs/libs-sections.txt:
18279         * gst-libs/gst/vaapi/gstvaapiimage.c:
18280         * gst-libs/gst/vaapi/gstvaapisurface.c:
18281         * gst-libs/gst/vaapi/video-format.c:
18282         * gst-libs/gst/vaapi/video-format.h:
18283           libs: add and expose gst_vaapi_video_format_to_string() helper.
18284           This is just a wrapper over gst_video_format_to_string() for older
18285           GStreamer 0.10 builds.
18286
18287 2013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
18288
18289         * gst/vaapi/gstvaapipluginutil.c:
18290           plugins: fix display type comparison in gst_vaapi_create_display().
18291           After the code got moved to create the gst_vaapi_create_display() helper,
18292           this comparison was not updated to dereference the newly-created
18293           pointer, so the code was comparing the pointer itself to the type, and
18294           therefore failing to retrieve the VA display.
18295           This fixes the following error (and gets gst-vaapi decoding again):
18296           ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
18297           https://bugzilla.gnome.org/show_bug.cgi?id=704410
18298           Signed-off-by: Emilio López <emilio@elopez.com.ar>
18299
18300 2013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18301
18302         * configure.ac:
18303           Bump version for development.
18304
18305 === release 0.5.5 ===
18306
18307 2013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18308
18309         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18310           mpeg2: don't output dummy pictures.
18311           Mark dummy pictures as output already so that we don't try to submit
18312           them to the upper layer since this is purely internal / temporary
18313           picture for helping the decoder.
18314
18315 2013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18316
18317         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18318           decoder: dispose GstVideoCodecFrame earlier.
18319           Once the picture was output, it is no longer necessary to keep an extra
18320           reference to the underlying GstVideoCodecFrame. So, we can release it
18321           earlier, and maybe subsequently release the associate surface proxy
18322           earlier.
18323
18324 2013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18325
18326         * NEWS:
18327         * configure.ac:
18328           0.5.5.
18329
18330 2013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18331
18332         * docs/reference/libs/libs-sections.txt:
18333         * gst-libs/gst/vaapi/Makefile.am:
18334         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18335         * gst-libs/gst/vaapi/gstvaapiimage.c:
18336         * gst-libs/gst/vaapi/gstvaapisurface.c:
18337         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18338         * gst-libs/gst/vaapi/video-format.c:
18339         * gst-libs/gst/vaapi/video-format.h:
18340         * gst/vaapi/gstvaapidownload.c:
18341         * gst/vaapi/gstvaapiuploader.c:
18342         * tests/image.c:
18343         * tests/test-display.c:
18344           Fix new video format API.
18345           Fix new internal video format API, based on GstVideoFormat, to not
18346           clobber with system symbols. So replace the gst_video_format_* prefix
18347           with gst_vaapi_video_format_ prefix, even if the format type remains
18348           GstVideoFormat.
18349
18350 2013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18351
18352         * configure.ac:
18353           Bump library major version.
18354           Bump the library major version due to API/ABI changes that occurred in
18355           the imaging API. In particular, GstVaapiImageFormat type was replaced
18356           with the standard GstVideoFormat type. All dependent APIs were updated
18357           to match this change.
18358
18359 2013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18360
18361         * NEWS:
18362           NEWS: updates.
18363
18364 2013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18365
18366         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18367         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
18368           decoder: fix memory leak when processing interlaced pictures.
18369           Fix memory leak when processing interlaced pictures and that occurs
18370           because the first field, represented as a GstVideoCodecFrame, never
18371           gets released. i.e. when the picture is completed, this is generally
18372           the case when the second field is successfully decoded, we need to
18373           propagate the GstVideoCodecFrame of the first field to the original
18374           GstVideoDecoder so that it could reclaim memory.
18375           Otherwise, we keep accumulating the first fields into GstVideoDecoder
18376           private frames list until the end-of-stream is reached. The frames
18377           are eventually released there, but too late, i.e. too much memory
18378           may have been consumed.
18379           https://bugzilla.gnome.org/show_bug.cgi?id=701257
18380
18381 2013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18382
18383         * gst/vaapi/gstvaapipluginutil.c:
18384           plugins: simlpify gst_vaapi_create_display() helper.
18385           Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
18386           performs the necessary validation checks for the underlying VA display
18387           prior to returning to the caller. So, if an error occurred, then NULL is
18388           really returned in that case.
18389
18390 2013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18391
18392         * gst/vaapi/gstvaapipluginutil.c:
18393           plugins: add gst_vaapi_create_display() helper.
18394           https://bugzilla.gnome.org/show_bug.cgi?id=703235
18395           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18396
18397 2013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18398
18399         * gst/vaapi/gstvaapivideobufferpool.c:
18400           plugins: don't reallocate pool allocator for the same caps.
18401           If the video buffer pool config doesn't have new caps, then it's not
18402           necessary to reinstantiate the allocator. That could be a costly
18403           operation as we could do some extra heavy checking in there.
18404
18405 2013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18406
18407         * gst/vaapi/gstvaapivideomemory.c:
18408           plugins: fix ref counting of GstVaapiVideoMemory allocator.
18409           Fix reference counting issue whereby gst_memory_init() does not hold
18410           an extra reference to the GstAllocator. So, there could be situations
18411           where the last instance of GstVaapiVideoAllocator gets released before
18412           a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
18413
18414 2013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18415
18416         * gst/vaapi/gstvaapiuploader.c:
18417           vaapiupload: use implicit color conversion to NV12.
18418           Always perform conversion of sources buffers to NV12 since this is
18419           the way we tested for this capability in ensure_allowed_caps(). This
18420           also saves memory bandwidth for further rendering. However, this may
18421           not preserve quality since the YUV buffers are down-sampled to 4:2:0.
18422
18423 2013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18424
18425         * gst-libs/gst/vaapi/gstvaapivideopool.c:
18426           pool: fix deallocation of video pools.
18427           The queue of free objects to used was deallocated with g_queue_free_full().
18428           However, this convenience function shall only be used if the original queue
18429           was allocated with g_queue_new(). This caused memory corruption, eventually
18430           leading to a crash.
18431           The correct solution is to pair the g_queue_init() with the corresponding
18432           g_queue_clear(), while iterating over all free objects to deallocate them.
18433
18434 2013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
18435
18436         * gst/vaapi/gstvaapidownload.c:
18437           vaapidownload: fix src caps format error.
18438           This fixes direct linking of vaapidownload element to xvimagesink with
18439           VA drivers supporting vaGetImage() from the native VA surface format to
18440           a different VA image format. i.e. color conversion during download.
18441           http://bugzilla.gnome.org/show_bug.cgi?id=703937
18442           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18443
18444 2013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18445
18446         * gst/vaapi/gstvaapidownload.c:
18447           vaapidownload: fix debug string for image formats.
18448           The image is now expressed as a standard GstVideoFormat, which is not
18449           a FOURCC but rather a regular enum value.
18450           This is a regression introduced in commit 09397fa.
18451
18452 2013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
18453
18454         * gst-libs/gst/vaapi/gstvaapiimage.c:
18455           image: add support for raw YUY2/UYVY image copies.
18456           Implement raw image copies for YUY2 format. Add support for UYVY format
18457           too, with the same copy function as for YUY2. Even though components
18458           ordering differs, copying line strides is essentially the same.
18459           https://bugzilla.gnome.org/show_bug.cgi?id=703939
18460           https://bugzilla.gnome.org/show_bug.cgi?id=703940
18461           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18462
18463 2013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18464
18465         * gst/vaapi/gstvaapiuploader.c:
18466           plugins: clean-up video uploader helper.
18467           Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
18468           were already negotiated beforehand, and they are not used from the
18469           buffer in upstream elements.
18470           Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
18471           represented as a GstVideoInfo.
18472
18473 2013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18474
18475         * gst/vaapi/gstvaapiuploader.c:
18476           plugins: use GstVideoInfo in video uploader helper.
18477
18478 2013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18479
18480         * gst/vaapi/gstvaapivideomemory.c:
18481           plugins: allow creation of VA surfaces with explicit pixel format.
18482           Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
18483           with an explicit pixel format. This allows for direct rendering to
18484           VA surface memory from a software decoder.
18485
18486 2013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18487
18488         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18489           surface: fix surface pool creation with an explicit pixel format.
18490           Fix creation of surface pool objects to honour explicit pixel format
18491           specification. If this operation is not supported, then fallback to
18492           the older interface with chroma format.
18493
18494 2013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18495
18496         * gst-libs/gst/vaapi/gstvaapisurface.c:
18497           surface: try to determine the underlying VA surface format.
18498           If a VA surface was allocated with the chroma-format interface, try to
18499           determine the underlying pixel format on gst_vaapi_surface_get_format(),
18500           or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
18501
18502 2013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18503
18504         * docs/reference/libs/libs-sections.txt:
18505         * gst-libs/gst/vaapi/gstvaapisurface.c:
18506         * gst-libs/gst/vaapi/gstvaapisurface.h:
18507         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
18508           surface: allow creation with explicit pixel format.
18509           Make it possible to create VA surfaces with a specific pixel format.
18510           This is a new capability brought in by VA-API >= 0.34.0. If that
18511           capability is not built-in (e.g. using VA-API < 0.34.0), then
18512           gst_vaapi_surface_new_with_format() will return NULL.
18513
18514 2013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18515
18516         * docs/reference/libs/libs-sections.txt:
18517         * gst-libs/gst/vaapi/video-format.c:
18518         * gst-libs/gst/vaapi/video-format.h:
18519           surface: add helper function to get chroma type from GstVideoFormat.
18520           Add gst_video_format_get_chroma_type() helper function to determine
18521           the GstVaapiChromaType from a standard GStreamer video format. It is
18522           possible to reconstruct that from GstVideoFormatInfo but it is much
18523           simpler (and faster?) to use the local GstVideoFormatMap table.
18524
18525 2013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18526
18527         * gst-libs/gst/vaapi/gstvaapisurface.c:
18528         * gst-libs/gst/vaapi/gstvaapisurface.h:
18529         * gst-libs/gst/vaapi/gstvaapiutils.c:
18530         * gst-libs/gst/vaapi/gstvaapiutils.h:
18531           surface: add new chroma formats.
18532           Add new chroma formats available with VA-API >= 0.34.0. In particular,
18533           this includes "RGB" chroma formats, and more YUV subsampled formats.
18534           Also add a new from_GstVaapiChromaType() helper function to convert
18535           libgstvaapi chroma type to VA chroma format.
18536
18537 2013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18538
18539         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18540           pool: fix image pool to check for the video format to use.
18541           Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
18542           image pool object, only if the underlying VA display does support the
18543           requested VA image format.
18544
18545 2013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18546
18547         * gst-libs/gst/vaapi/gstvaapicontext.c:
18548         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18549         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
18550         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18551         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
18552         * gst-libs/gst/vaapi/gstvaapivideopool.h:
18553         * gst/vaapi/gstvaapidownload.c:
18554         * gst/vaapi/gstvaapiuploader.c:
18555         * tests/Makefile.am:
18556         * tests/test-surfaces.c:
18557           Use GstVideoInfo for video pools.
18558           Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
18559           structures instead. Those are smaller, and allows for streamlining
18560           libgstvaapi more.
18561
18562 2013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18563
18564         * gst-libs/gst/vaapi/gstvaapiimage.c:
18565         * gst-libs/gst/vaapi/video-format.c:
18566           Add more video formats.
18567           Add new video format mappings to VA image formats:
18568           - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
18569           - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
18570
18571 2013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18572
18573         * gst-libs/gst/vaapi/gstvaapiimage.c:
18574           image: fix debug message with video format.
18575           Fix debug message string with image format expressed with GstVideoFormat
18576           instead of the obsolete format that turned out to be a fourcc.
18577           This is a regression from git commit e61c5fc.
18578
18579 2013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18580
18581         * tests/image.c:
18582         * tests/image.h:
18583         * tests/test-display.c:
18584         * tests/test-textures.c:
18585         * tests/test-windows.c:
18586           tests: port to new video format API.
18587
18588 2013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18589
18590         * gst/vaapi/gstvaapidownload.c:
18591         * gst/vaapi/gstvaapiuploader.c:
18592         * gst/vaapi/gstvaapivideomemory.c:
18593           plugins: port to new video format API.
18594
18595 2013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18596
18597         * gst-libs/gst/vaapi/gstvaapiimage.c:
18598           libs: use GstVideoInfo wherever possible.
18599           In particular, use gst_video_info_from_caps() helper function in VA image
18600           for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
18601           gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
18602
18603 2013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18604
18605         * docs/reference/libs/libs-docs.xml.in:
18606         * docs/reference/libs/libs-sections.txt:
18607         * gst-libs/gst/vaapi/Makefile.am:
18608         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
18609         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
18610           libs: drop GstVaapiImageFormat helpers.
18611           Drop GstVaapiImageFormat helpers since everything was moved to the new
18612           GstVideoFormat based API. Don't bother with backwards compatibility and
18613           just bump the library major version afterwards.
18614
18615 2013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18616
18617         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18618         * gst-libs/gst/vaapi/gstvaapidisplay.h:
18619         * gst-libs/gst/vaapi/gstvaapiimage.c:
18620         * gst-libs/gst/vaapi/gstvaapiimage.h:
18621         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18622         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18623           libs: port to new video format API.
18624
18625 2013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18626
18627         * docs/reference/libs/libs-docs.xml.in:
18628         * docs/reference/libs/libs-sections.txt:
18629         * gst-libs/gst/vaapi/Makefile.am:
18630         * gst-libs/gst/vaapi/video-format.c:
18631         * gst-libs/gst/vaapi/video-format.h:
18632           Add new video format API.
18633           Leverage GstVideoFormat utilities from core GStreamer to provide an
18634           adaptation layer to VA image formats.
18635
18636 2013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18637
18638         * NEWS:
18639           NEWS: updates.
18640
18641 2013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18642
18643         * gst/vaapi/gstvaapisink.c:
18644           vaapisink: fix creation of GLX texture.
18645           Fix creation of GLX texture, to not depend on the GstCaps video size that
18646           could be wrong, especially in presence of frame cropping. So, use the size
18647           from the source VA surfaces.
18648           An optimization could be to reduce the texture size to the actual visible
18649           size on screen. i.e. scale down the texture size to match the screen dimensions,
18650           while preserving the VA surface aspect ratio. However, some VA drivers don't
18651           honour that.
18652
18653 2013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18654
18655         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18656           mpeg2: add support for video cropping.
18657           If the stream has a sequence_display_extenion, then attach the
18658           display_horizontal/display_vertical dimension as the cropping
18659           rectangle width/height to the GstVaapiPicture.
18660           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18661
18662 2013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18663
18664         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18665           vc1: add support for video cropping.
18666           If the Advanced profile has display_extension fields, then set the display
18667           width/height dimension as cropping rectangle to the GstVaapiPicture.
18668           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18669
18670 2013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18671
18672         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18673           h264: add support for video cropping.
18674           If the encoded stream has the frame_cropping_flag set, then associate
18675           the cropping rectangle to GstVaapiPicture.
18676           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18677
18678 2013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18679
18680         * tests/decoder.c:
18681         * tests/decoder.h:
18682         * tests/test-decode.c:
18683         * tests/test-subpicture.c:
18684           tests: add basic support for video cropping.
18685           Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
18686           instead of a plain GstVaapiSurface. This means that we can now retrieve
18687           the frame cropping rectangle from the surface proxy, along with additional
18688           information if ever needed.
18689
18690 2013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18691
18692         * gst/vaapi/gstvaapidecode.c:
18693         * gst/vaapi/gstvaapisink.c:
18694         * gst/vaapi/gstvaapivideometa.c:
18695           plugins: add support for video cropping.
18696           Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
18697           specific meta information to hold video cropping details. Make the sink
18698           support video cropping in X11 and GLX modes.
18699
18700 2013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18701
18702         * gst/vaapi/gstvaapivideometa.c:
18703         * gst/vaapi/gstvaapivideometa.h:
18704           plugins: add helper functions to set the render rectangle.
18705           Some video clips may have a clipping region that needs to propogate to
18706           the renderer. These helper functions make it possible to attach that
18707           clipping region, as a GstVaapiRectangle, the the video meta associated
18708           with the buffer.
18709           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18710           signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18711
18712 2013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18713
18714         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18715         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18716           surfaceproxy: allow for NULL cropping rectangle.
18717           Make it possible associate an empty cropping rectangle to the surface
18718           proxy, thus resetting any cropping rectangle that was previously set.
18719           This allows for returning plain NULL when no cropping rectangle was
18720           initially set up to the surface proxy, or if it was reset to defaults.
18721
18722 2013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18723
18724         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18725           surfaceproxy: clean-up helper macros.
18726           Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
18727           proxy macro argument to a GstVaapiSurfaceProxy pointer.
18728
18729 2013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18730
18731         * gst-libs/gst/vaapi/gstvaapisurface.c:
18732         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
18733         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18734         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18735           surface: add simple surface info accessors as helper macros.
18736           Add helper macros to retrieve the VA surface information like size
18737           (width, height) or chroma type. This is a micro-optimization to avoid
18738           useless function calls and NULL pointer re-checks in internal routines.
18739
18740 2013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18741
18742         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18743         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
18744         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18745         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18746         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18747           decoder: add support for video cropping.
18748           Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
18749           cropping information from raw bitstreams to each picture being decoded.
18750           Also add helper function to surface proxy to propagate that information
18751           outside of libgstvaapi. e.g. plug-in elements or standalone applications.
18752           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18753           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18754
18755 2013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18756
18757         * ext/codecparsers:
18758           codecparsers: update to gst-vaapi-branch commit f90de0a.
18759           f90de0a h264: fix calculation of the frame cropping rectangle
18760           535515c h264: parse the cropping rectangle separately
18761
18762 2013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18763
18764         * ext/codecparsers:
18765           codecparsers: update to gst-vaapi-branch commit 0f68a71.
18766           0f68a71 mpeg2: fix video packet header size checks
18767
18768 2013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
18769
18770         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18771           mpeg2: reset quantization matrices on new sequence headers.
18772           The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
18773           shall be reset to their default values when a Sequence_Header() is
18774           decoded.
18775           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18776
18777 2013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18778
18779         * configure.ac:
18780         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18781           mpeg2: cope with latest codecparser changes.
18782           Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
18783           used in individual header parsers. Also use the new slice parsing API.
18784
18785 2013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18786
18787         * ext/codecparsers:
18788           codecparsers: update to gst-vaapi-branch commit dddd182.
18789           dddd182 mpeg2: add slice header parsing API
18790           94e6228 mpeg2: add sequence scalable extension parsing API
18791           531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
18792           4b135d3 h264: fix the return value type for the SEI palyload parsing methods
18793
18794 2013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18795
18796         * gst/vaapi/gstvaapisink.c:
18797           vaapisink: expose the raw video formats in static caps template.
18798           Expose all raw video formats in the static caps template since the
18799           vaapisink is supporting raw data. We will get the exact set of formats
18800           supported by the driver dynamically through the _get_caps() routine.
18801           This also fixes an inconsistency wrt. GStreamer 0.10 builds.
18802           https://bugzilla.gnome.org/show_bug.cgi?id=702178
18803           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18804
18805 2013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18806
18807         * gst/vaapi/gstvaapisink.c:
18808         * gst/vaapi/gstvaapisink.h:
18809           vaapisink: add "use-glx" property for OpenGL rendering.
18810           Now that VA/GLX capable buffers are generated by default on X11, thus
18811           depending on a VA/GLX display, we stil want to use vaPutSurface() for
18812           rendering since it is faster.
18813           Anyway, OpenGL rendering in vaapisink was only meant for testing and
18814           enabling "fancy" effects to play with. This has no real value. So,
18815           disable OpenGL rendering by default.
18816
18817 2013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18818
18819         * gst/vaapi/gstvaapipluginutil.c:
18820           plugins: try to allocate a GLX display first over an X11 one.
18821           If the gstreamer-vaapi plug-in elements are built with GLX support, then
18822           try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
18823           display next.
18824           https://bugzilla.gnome.org/show_bug.cgi?id=701742
18825
18826 2013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
18827
18828         * configure.ac:
18829           configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
18830           jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
18831           https://bugzilla.gnome.org/show_bug.cgi?id=698858
18832           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18833
18834 2013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
18835
18836         * gst-libs/gst/vaapi/gstvaapiimage.c:
18837           image: fix wrong check for rect bounds in copy_image().
18838
18839 2013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18840
18841         * configure.ac:
18842           Bump version for development.
18843
18844 === release 0.5.4 ===
18845
18846 2013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18847
18848         * NEWS:
18849         * configure.ac:
18850           0.5.4.
18851
18852 2013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18853
18854         * NEWS:
18855           NEWS: updates.
18856
18857 2013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18858
18859         * configure.ac:
18860         * gst-libs/gst/codecparsers/Makefile.am:
18861           configure: always build the MPEG-4 parser.
18862           Always build the MPEG-4 parser for now as there are also core fixes
18863           included in the parser that cannot be tested for with API checks.
18864
18865 2013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18866
18867         * configure.ac:
18868           configure: add --enable-builtin-codecparsers [default="yes"] option.
18869           Add flag to have all codecparsers built-in, thus ensuring that the
18870           resulting binaries have all the necessary bug fixes and this is what
18871           the QA has been testing anyway.
18872           Of course, for a completely up-to-date Linux distribution, you could
18873           also opt for --disable-builtin-codecparsers and use the system ones.
18874           Though, some core fixes could be missing, and those cannot be tested
18875           for with API checks.
18876
18877 2013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18878
18879         * ext/codecparsers:
18880           codecparsers: update to gst-vaapi-branch commit 843ce3e.
18881           843ce3e jpeg: fix default Huffman tables generation.
18882           8655187 mpeg2: fix the pixel-aspect-ratio calculation
18883           21099dc mpeg2: actually store video bitrate values
18884           dd02087 mpeg2: fix picture packet extension size check
18885           25948e9 mpeg2: increase min size for picture coding ext
18886           f1f5a40 ensure the debug category is properly initialized
18887
18888 2013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18889
18890         * debian.upstream/Makefile.am:
18891           debian: fix list of generated files for .deb packaging.
18892
18893 2013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18894
18895         * configure.ac:
18896         * debian.upstream/Makefile.am:
18897         * debian.upstream/control.in:
18898           debian: fix libgstvaapi -dev package name.
18899           Fix libgstvaapi -dev package name so that to allow installation of both
18900           GStreamer 0.10 and 1.0.x based packages.
18901
18902 2013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18903
18904         * NEWS:
18905           NEWS: updates.
18906
18907 2013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18908
18909         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
18910           wayland: fix memory leak of display resources.
18911
18912 2013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
18913
18914         * gst/vaapi/gstvaapisink.c:
18915           vaapisink: fix build without VA/GLX support.
18916
18917 2013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18918
18919         * gst/vaapi/gstvaapivideomemory.c:
18920         * gst/vaapi/gstvaapivideomemory.h:
18921           plugins: allow buffer mappings to GstVaapiSurfaceProxy.
18922           Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
18923           video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
18924           caller. This is the only sensible enough thing to do in this mode as
18925           the underlying surface pixels need to be extracted through an explicit
18926           call to the gst_video_frame_map() function instead.
18927           A possible use-case of this is to implement a "handoff" signal handler
18928           to fakesink or identity element for further processing.
18929
18930 2013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18931
18932         * gst/vaapi/gstvaapivideomemory.c:
18933           plugins: silence check for direct-rendering mode in video memory.
18934           Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
18935           mode support, and not trigger fatal-criticals if either test surface or
18936           image could not be created. Typical case: pixel format mismatch, e.g. NV12
18937           supported by most hardware vs. I420 supported by most software decoders.
18938
18939 2013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18940
18941         * gst/vaapi/gstvaapivideomemory.c:
18942           plugins: improve video memory flags safety checks.
18943           On map, ensure we have GST_MAP_WRITE flags since this is only what we
18944           support for now. Likewise, on unmap, make sure that the VA image is
18945           unmapped for either read or write, while still committing it to the
18946           VA surface if write was requested.
18947
18948 2013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18949
18950         * gst-libs/gst/vaapi/gstvaapisurface.c:
18951           surface: fix memory leak through unreleased parent context.
18952           Break the circular references between GstVaapiContext and its children
18953           GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
18954           context, which holds a reference to its VA surfaces, then none of those
18955           were released.
18956           How does this impact support for subpictures?
18957           The only situation when the parent context needs to disappear is when
18958           it is replaced with another one because of a resolution change in the
18959           video stream for instance, or a normal destroy. In this case, it does
18960           not really matter to apply subpictures to the peer surfaces since they
18961           are either gone, or those that are left in the pipe can probably bear
18962           a reinstantiation of the subpictures for it.
18963           So, parent_context is set to NULL when the parent context is destroyed,
18964           other VA surfaces can still get subpictures attached to them, individually
18965           not as a whole. i.e. subpictures for surface S1 will be created from
18966           active composition buffers and associated to S1, subpictures for S2 will
18967           be created from the next active composition buffers, etc. We don't try
18968           to cache the subpictures in those cases (pending surfaces until EOS
18969           is reached, or pending surfaces until new surfaces matching new VA context
18970           get to be used instead).
18971
18972 2013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18973
18974         * gst/vaapi/gstvaapisink.c:
18975           vaapisink: fix one-time initialization when display property is set.
18976           Fix gst_vaapisink_ensure_display() to perform one-time initialization
18977           tasks even if the `display' property was explicitly set.
18978
18979 2013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18980
18981         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
18982           window: fix GLX window initialization.
18983           Make sure to create the GLX context once the window object has completed
18984           its creation. Since gl_resize() relies on the newly created window size,
18985           then we cannot simply overload the GstVaapiWindowClass::create() hook.
18986           So, we just call into gst_vaapi_window_glx_ensure_context() once the
18987           window object is created in the gst_vaapi_window_glx_new*() functions.
18988
18989 2013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18990
18991         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
18992         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
18993         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
18994         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18995         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
18996         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
18997         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18998         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18999         * gst-libs/gst/vaapi/gstvaapitexture.c:
19000         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19001         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19002         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19003         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19004           display: validate display types.
19005
19006 2013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19007
19008         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19009         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19010         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19011           display: drop internal NAME_PREFIX, store the real display name.
19012           Always store a valid display name/device path, instead of adding a
19013           particular prefix. i.e. make it simply a strdup(), or "" if it was
19014           initially NULL.
19015
19016 2013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19017
19018         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19019         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19020         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19021         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19022         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19023         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
19024         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19025           display: make it possible to lookup the display cache by type.
19026           Make it possible to add extra an extra filter to most of display cache
19027           lookup functions so that the GstVaapiDisplay instance can really match
19028           a compatible and existing display by type, instead of relying on extra
19029           string tags (e.g. "X11:" prefix, etc.).
19030
19031 2013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19032
19033         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19034         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19035         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19036           display: cope with new display cache API.
19037
19038 2013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19039
19040         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
19041         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19042           display: rework display cache API.
19043           Simplify display cache API, while making it more flexible. We can now create
19044           custom lookup functions with gst_vaapi_display_cache_lookup_custom().
19045
19046 2013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19047
19048         * tests/test-display.c:
19049           tests: improve check for display cache.
19050           Improve check for display cache infrastructure. In particular, for X11 and
19051           GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
19052           from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
19053           shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
19054           already exists will have to generate different VA displays.
19055
19056 2013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
19057
19058         * gst/vaapi/gstvaapiuploader.c:
19059           uploader: fix memory leak in GStreamer 0.10 builds.
19060           In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
19061           but it exhibited a memory leak because the surface generated for the
19062           GstVaapiVideoMeta totally lost its parent video pool. So, it was not
19063           possible to release that surface back to the parent pool when the meta
19064           gets released, and the memory consumption kept growing.
19065           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19066
19067 2013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19068
19069         * gst/vaapi/gstvaapivideometa.c:
19070           plugins: fix gst_vaapi_video_meta_new_from_pool().
19071           Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
19072           the underlying object type, the gst_vaapi_video_meta_new_from_pool()
19073           was hereby totally broken. Fixed this regression by using the newly
19074           provided gst_vaapi_video_pool_get_object_type() function.
19075
19076 2013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19077
19078         * gst/vaapi/gstvaapiuploader.c:
19079         * gst/vaapi/gstvaapivideomemory.c:
19080         * gst/vaapi/gstvaapivideometa.c:
19081           plugins: cope with GST_VAAPI_IS_xxx() macros removal.
19082
19083 2013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19084
19085         * tests/decoder.c:
19086           tests: cope with GST_VAAPI_IS_xxx() macros removal.
19087
19088 2013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19089
19090         * docs/reference/libs/libs-sections.txt:
19091         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19092         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19093         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19094         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19095         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19096           libs: add query for GstVaapiVideoPool object types.
19097           Add API to identify the underlying GstVaapiVideoPool object type.
19098
19099 2013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19100
19101         * docs/reference/libs/libs-sections.txt:
19102         * gst-libs/gst/vaapi/gstvaapicontext.c:
19103         * gst-libs/gst/vaapi/gstvaapicontext.h:
19104         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19105         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19106         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19107         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19108         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19109         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
19110         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
19111         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19112         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
19113         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19114         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
19115         * gst-libs/gst/vaapi/gstvaapiimage.c:
19116         * gst-libs/gst/vaapi/gstvaapiimage.h:
19117         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19118         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
19119         * gst-libs/gst/vaapi/gstvaapiobject.c:
19120         * gst-libs/gst/vaapi/gstvaapiobject.h:
19121         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
19122         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
19123         * gst-libs/gst/vaapi/gstvaapisurface.c:
19124         * gst-libs/gst/vaapi/gstvaapisurface.h:
19125         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19126         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19127         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19128         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19129         * gst-libs/gst/vaapi/gstvaapitexture.c:
19130         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19131         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19132         * gst-libs/gst/vaapi/gstvaapiwindow.c:
19133         * gst-libs/gst/vaapi/gstvaapiwindow.h:
19134         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
19135         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19136         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19137         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
19138           libs: drop GST_VAAPI_IS_xxx() helper macros.
19139           Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
19140           deriving from GObject and so those were only checking for whether the
19141           argument was NULL or not. This is now irrelevant, and even confusing
19142           to some extent, because we no longer have type checking.
19143           Note: this incurs more type checking (review) but the libgstvaapi is
19144           rather small, so this is manageable.
19145
19146 2013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19147
19148         * configure.ac:
19149           Bump library major version.
19150           The whole libgstvaapi libraries got a major refresh to get rid of GObject.
19151           This is a fundamental change that requires a new SONAME. More changes are
19152           underway to streamline the core libraries.
19153           So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
19154           On one particular test (sintel HD trailer), the total number of executed
19155           instruction was reduced by 8%.
19156
19157 2013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19158
19159         * docs/reference/libs/Makefile.am:
19160         * docs/reference/libs/libs-docs.xml.in:
19161         * docs/reference/libs/libs-sections.txt:
19162         * docs/reference/libs/libs.core.types:
19163         * docs/reference/libs/libs.glx.types:
19164         * docs/reference/libs/libs.x11.types:
19165           docs: cope with removed APIs.
19166           Some APIs are dead because they are no longer based on GObject.
19167
19168 2013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19169
19170         * gst/vaapi/gstvaapidecode.c:
19171         * gst/vaapi/gstvaapidownload.c:
19172         * gst/vaapi/gstvaapipluginutil.c:
19173         * gst/vaapi/gstvaapipostproc.c:
19174         * gst/vaapi/gstvaapisink.c:
19175         * gst/vaapi/gstvaapiupload.c:
19176         * gst/vaapi/gstvaapiuploader.c:
19177         * gst/vaapi/gstvaapivideobufferpool.c:
19178         * gst/vaapi/gstvaapivideoconverter_glx.c:
19179         * gst/vaapi/gstvaapivideomemory.c:
19180         * gst/vaapi/gstvaapivideometa.c:
19181           plugins: cope with new GstVaapiMiniObject objects.
19182
19183 2013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19184
19185         * tests/decoder.c:
19186         * tests/image.c:
19187         * tests/output.c:
19188         * tests/simple-decoder.c:
19189         * tests/test-decode.c:
19190         * tests/test-display.c:
19191         * tests/test-subpicture.c:
19192         * tests/test-surfaces.c:
19193         * tests/test-textures.c:
19194         * tests/test-windows.c:
19195           tests: cope with new GstVaapiMiniObject objects.
19196
19197 2013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19198
19199         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19200           display: fix set_synchronous() to lock display.
19201
19202 2013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19203
19204         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19205         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19206           videopool: simplify creation of video objects pool.
19207
19208 2013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19209
19210         * gst-libs/gst/vaapi/gstvaapiobject.c:
19211         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19212         * gst-libs/gst/vaapi/gstvaapitypes.h:
19213           libs: simplify GstVaapiID definitions.
19214           Make GstVaapiID a gsize instead of guessing an underlying integer large
19215           enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
19216           this is plain zero and that it is no longer passed as varargs.
19217
19218 2013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19219
19220         * gst-libs/gst/vaapi/Makefile.am:
19221         * gst-libs/gst/vaapi/gstvaapi_priv.h:
19222         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
19223         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
19224         * gst-libs/gst/vaapi/gstvaapivalue.c:
19225         * gst-libs/gst/vaapi/gstvaapivalue.h:
19226           libs: drop obsolete function helpers and objects.
19227           Drop obsolete GstVaapiID related function helpers for passing them as
19228           GValues.
19229
19230 2013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19231
19232         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19233         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19234         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19235         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19236         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
19237         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
19238         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19239         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
19240         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
19241         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19242         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19243         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
19244         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
19245         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19246         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
19247         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
19248         * gst-libs/gst/vaapi/gstvaapiobject.c:
19249         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19250           libs: use GstVaapiMiniObject for display objects.
19251
19252 2013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19253
19254         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
19255         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19256         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19257         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19258         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
19259         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19260         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
19261         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19262         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
19263         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19264         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
19265         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19266         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19267         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19268         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
19269           libs: use GstVaapiMiniObject for video decoders.
19270           Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
19271           GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
19272           helper function to let the user add a callback to a function triggered
19273           whenever the codec state (e.g. caps) changes.
19274
19275 2013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19276
19277         * docs/reference/libs/libs-sections.txt:
19278         * gst-libs/gst/vaapi/Makefile.am:
19279         * gst-libs/gst/vaapi/gstvaapicontext.c:
19280         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19281         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
19282         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19283         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19284         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19285         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19286         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19287         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19288           libs: use GstVaapiMiniObject for video object pools.
19289           Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
19290           GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
19291           no longer used for a long time. Make object allocators static, i.e.
19292           local to the shared library.
19293
19294 2013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19295
19296         * gst-libs/gst/vaapi/gstvaapitexture.c:
19297         * gst-libs/gst/vaapi/gstvaapitexture.h:
19298           libs: use GstVaapiObject for texture objects.
19299
19300 2013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19301
19302         * gst-libs/gst/vaapi/Makefile.am:
19303         * gst-libs/gst/vaapi/gstvaapiwindow.c:
19304         * gst-libs/gst/vaapi/gstvaapiwindow.h:
19305         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19306         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
19307         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19308         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
19309         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19310         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19311         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
19312         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19313         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
19314         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19315           libs: use GstVaapiObject for window objects.
19316
19317 2013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19318
19319         * gst-libs/gst/vaapi/gstvaapicontext.c:
19320         * gst-libs/gst/vaapi/gstvaapicontext.h:
19321         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19322         * gst-libs/gst/vaapi/gstvaapiimage.c:
19323         * gst-libs/gst/vaapi/gstvaapiimage.h:
19324         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
19325         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
19326         * gst-libs/gst/vaapi/gstvaapisurface.c:
19327         * gst-libs/gst/vaapi/gstvaapisurface.h:
19328         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19329         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19330           libs: use GstVaapiObject for VA objects.
19331
19332 2013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19333
19334         * gst-libs/gst/vaapi/Makefile.am:
19335         * gst-libs/gst/vaapi/gstvaapiobject.c:
19336         * gst-libs/gst/vaapi/gstvaapiobject.h:
19337         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19338           Port GstVaapiObject to GstVaapiMiniObject.
19339
19340 2013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19341
19342         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
19343         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
19344         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19345         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19346         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19347         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19348           libs: refine GstVaapiMiniObject.
19349           Drop support for user-defined data since this capability was not used
19350           so far and GstVaapiMiniObject represents the smallest reference counted
19351           object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
19352           Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
19353           is also possible to further simplify the layout of the object. i.e. merge
19354           GstVaapiMiniObjectBase into GstVaapiMiniObject.
19355
19356 2013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19357
19358         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19359           decoder: update picture size from the bitstream.
19360           Propagate the picture size from the bitstream to the GstVaapiDecoder,
19361           and subsequent user who installed a signal on notify::caps. This fixes
19362           decoding of TS streams when the demuxer failed to extract the required
19363           information.
19364
19365 2013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19366
19367         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19368           decoder: fix raw decoding mode.
19369           Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
19370           surface proxy to the caller.
19371
19372 2013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19373
19374         * docs/reference/libs/libs-sections.txt:
19375         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19376         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19377         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19378         * gst/vaapi/gstvaapidecode.c:
19379           decoder: add gst_vaapi_decoder_get_frame_with_timeout().
19380           Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
19381           wait for a frame to be decoded, until the specified timeout in microseconds,
19382           prior to returning to the caller.
19383           This is a fix to performance regression from 851cc0, whereby the vaapidecode
19384           loop executed on the srcpad task was called to often, thus starving all CPU
19385           resources.
19386
19387 2013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19388
19389         * configure.ac:
19390           Bump version for development.
19391
19392 === release 0.5.3 ===
19393
19394 2013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19395
19396         * NEWS:
19397         * configure.ac:
19398           0.5.3.
19399
19400 2013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19401
19402         * NEWS:
19403           NEWS: updates.
19404
19405 2013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19406
19407         * gst/vaapi/gstvaapidecode.c:
19408           vaapidecode: rework heuristics to detect decode timeout.
19409           Rework heuristics to detect when downstream element ran into errors,
19410           and thus failing to release any VA surface in due time for the current
19411           frame to get decoded. In particular, recalibrate the render time base
19412           when the first frame gets submitted downstream, or when there is no
19413           timestamp that could be inferred.
19414
19415 2013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19416
19417         * gst-libs/gst/vaapi/gstcompat.h:
19418         * gst/vaapi/gstvaapidecode.c:
19419           vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
19420           Rework GstVideoDecoder::handle_frame() to decode the current frame,
19421           while possibly waiting for a free surface, and separately submit all
19422           decoded frames from a task. This makes it possible to pop and render
19423           decoded frames as soon as possible.
19424
19425 2013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19426
19427         * gst/vaapi/gstvaapidecode.c:
19428         * gst/vaapi/gstvaapidownload.c:
19429         * gst/vaapi/gstvaapisink.c:
19430         * gst/vaapi/gstvaapiupload.c:
19431           plugins: use gst_object_unref() wherever applicable.
19432           Use gst_object_unref() wherever applicable, e.g. objects derived from
19433           GstElement, GstVideoPool, etc.
19434
19435 2013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19436
19437         * docs/reference/plugins/plugins-docs.xml.in:
19438         * docs/reference/plugins/plugins-sections.txt:
19439         * docs/reference/plugins/plugins.types:
19440           docs: drop obsolete plug-ins.
19441           Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
19442           i.e. vaapiupload and vaapidownload are no longer the recommended
19443           plug-ins to use.
19444
19445 2013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19446
19447         * debian.upstream/rules:
19448           debian: fix build of GStreamer 0.10 packages.
19449           Fix build of Debian packages to scan the actual GStreamer API version
19450           from the generated changelog file.
19451
19452 2013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19453
19454         * gst/vaapi/gstvaapipostproc.c:
19455           vaapipostproc: minor clean-ups.
19456           Use g_clear_object() wherever appropriate and remove dead-code.
19457
19458 2013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19459
19460         * gst/vaapi/gstvaapipostproc.c:
19461           vaapipostproc: fix reference counting buf for passthrough mode.
19462           Fix reference counting bug for passthrough mode, whereby the input buffer
19463           was propagated as is downstream through gst_pad_push() without increasing
19464           its reference count before. The was a problem when gst_pad_push() returns
19465           an error and we further decrease the reference count of the input buffer.
19466
19467 2013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19468
19469         * gst-libs/gst/vaapi/gstcompat.h:
19470         * gst/vaapi/Makefile.am:
19471         * gst/vaapi/gstvaapi.c:
19472         * gst/vaapi/gstvaapidecode.c:
19473         * gst/vaapi/gstvaapipluginutil.h:
19474         * gst/vaapi/gstvaapipostproc.c:
19475           vaapipostproc: port to GStreamer 1.0.
19476           Add support for interlaced streams with GStreamer 1.0 too. Basically,
19477           this enables vaapipostproc, though it is not auto-plugged yet. We also
19478           make sure to reply to CAPS queries, and happily handle CAPS events.
19479
19480 2013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19481
19482         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19483           decoder: fix GstVideoCodecFrame flags for interlaced contents.
19484           Fix support for interlaced contents with GStreamer 0.10. In particular,
19485           propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
19486           correctly.
19487           This is a regression from commit 87e5717.
19488
19489 2013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19490
19491         * gst-libs/gst/vaapi/Makefile.am:
19492         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19493         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19494         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
19495         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
19496           decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
19497           Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
19498           structure was only useful to parsing and a proper GstvaapiDecoderFrame
19499           instance will be created instead.
19500
19501 2013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19502
19503         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19504           decoder: export presentation timestamp for raw decoding mode.
19505           Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
19506           held any information about the expected presentation timestamp, frame
19507           duration or additional flags like interlaced or top-field-first.
19508
19509 2013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19510
19511         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19512         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19513           decoder: use new GstVaapiSurfaceProxy utility functions.
19514           Use new GstVaapiSurfaceProxy internal helper functions to propagate the
19515           necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
19516           Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
19517           i.e. increase the GstVideoCodecFrame reference count in push_frame rather
19518           than gst_vaapi_picture_output().
19519
19520 2013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19521
19522         * docs/reference/libs/libs-sections.txt:
19523         * gst-libs/gst/vaapi/Makefile.am:
19524         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19525         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19526         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19527           surfaceproxy: add more attributes for raw decoding modes.
19528           Add more attributes for raw decoding modes, i.e. directly through the
19529           libgstvaapi helper library. In particular, add presentation timestamp,
19530           duration and a couple of flags (interlaced, TFF, RFF, one-field).
19531
19532 2013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19533
19534         * docs/reference/libs/libs-sections.txt:
19535         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19536         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19537         * gst/vaapi/gstvaapidecode.c:
19538         * tests/simple-decoder.c:
19539           surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
19540           Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
19541           to call some user-provided function when the surface proxy is released.
19542
19543 2013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19544
19545         * configure.ac:
19546         * gst-libs/gst/vaapi/Makefile.am:
19547           build: link libgstvaapi-glx-1.0.so against libdl.
19548           Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
19549           to resolve glXGetProcAddress() from GLX libraries. This fix builds on
19550           Fedora 17.
19551           https://bugzilla.gnome.org/show_bug.cgi?id=698046
19552           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19553
19554 2013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19555
19556         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19557           decoder: fix gst_vaapi_decoder_get_codec_state().
19558           Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
19559           supposed to make GstVaapiDecoder own the return GstVideoCodecState
19560           object. Only comment was updated, not the actual code.
19561
19562 2013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19563
19564         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19565         * gst/vaapi/gstvaapidecode.c:
19566           decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
19567           Make gst_vaapi_decoder_get_codec_state() return the original codec state,
19568           i.e. make the GstVaapiDecoder object own the return state so that callers
19569           that want an extra reference to it would just gst_video_codec_state_ref()
19570           it before usage. This aligns the behaviour with what we had before with
19571           gst_vaapi_decoder_get_caps().
19572           This is an ABI incompatible change, library major version was bumped from
19573           previous release (0.5.2).
19574
19575 2013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19576
19577         * gst/vaapi/gstvaapivideobufferpool.h:
19578         * gst/vaapi/gstvaapivideoconverter_glx.h:
19579           plugins: mark a few more functions as internal.
19580           Mark the following functions are internal, i.e. private to the vaapi plug-in:
19581           - gst_vaapi_video_buffer_pool_get_type()
19582           - gst_vaapi_video_converter_glx_get_type()
19583           - gst_vaapi_video_converter_glx_new()
19584
19585 2013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19586
19587         * gst/vaapi/gstvaapivideobuffer.c:
19588           plugins: implement GstSurfaceMeta API.
19589           Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
19590           an unstable/deprecated API, this makes it possible to support Clutter
19591           sink with minimal changes. Tested against clutter-gst 1.9.92.
19592
19593 2013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19594
19595         * gst/vaapi/gstvaapisink.c:
19596           vaapisink: optimize GstVideoOverlayInterface::expose().
19597           When render-mode is "overlay", then it is not really useful to peek into
19598           the GstBaseSink::last_buffer, since we have our own video_buffer already
19599           recorded and maintained into GstVaapiSink.
19600
19601 2013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19602
19603         * gst/vaapi/gstvaapisink.c:
19604           vaapisink: fix memory leak of GstSample objects.
19605           Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
19606           This also fixes extra unreferencing of the underlying GstBuffer in the common
19607           path afterwards (for both 0.10 or 1.0).
19608
19609 2013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19610
19611         * gst-libs/gst/vaapi/gstcompat.h:
19612         * gst/vaapi/gstvaapi.c:
19613           plugins: fix description for gst-inspect.
19614           Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
19615           need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
19616           incorrectly uses #name for creating the plug-in name, instead of using macro
19617           expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
19618
19619 2013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19620
19621         * README:
19622           README: updates.
19623           Update build requirements for GStreamer 1.0.x support. Add section for
19624           ways to report bugs.
19625
19626 2013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19627
19628         * NEWS:
19629           NEWS: updates.
19630
19631 2013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19632
19633         * gst-libs/gst/vaapi/Makefile.am:
19634         * gst/vaapi/Makefile.am:
19635           Fix make dist to include all source files, in any case.
19636           Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
19637           sure to include all source files in either case while generating source
19638           tarballs.
19639
19640 2013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19641
19642         * configure.ac:
19643           Bump library major version.
19644           Bump library major version, while preserving a major version of 0 for
19645           GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
19646           0.10 based librarieS.
19647
19648 2013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19649
19650         * gst/vaapi/gstvaapivideomemory.c:
19651         * gst/vaapi/gstvaapivideomemory.h:
19652           plugins: implement direct-rendering mode for raw YUV buffer uploads.
19653           Allow direct-rendering (writes) into target VA surfaces.
19654
19655 2013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19656
19657         * gst/vaapi/gstvaapivideobufferpool.c:
19658         * gst/vaapi/gstvaapivideomemory.c:
19659         * gst/vaapi/gstvaapivideomemory.h:
19660           plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
19661           Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
19662           the last component is unmapped. Downloads are not supported yet. The aim
19663           was to first support SW decoding + HW accelerated rendering (vaapisink).
19664           e.g. for Wayland.
19665
19666 2013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19667
19668         * gst/vaapi/gstvaapidecode.c:
19669           vaapidecode: submit all decoded frames before decoding a new one.
19670           Make sure to purge all pending frames that were already decoded prior
19671           to decoding a new one. This helps release VA surfaces as early as
19672           possible.
19673
19674 2013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19675
19676         * gst/vaapi/gstvaapidecode.c:
19677           vaapidecode: reply to CAPS queries.
19678           Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
19679           the set of allowed caps, i.e. it works similar to GstPad::get_caps().
19680           This fixes fallback to SW decoding if no HW decoder is available.
19681
19682 2013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19683
19684         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19685         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19686         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19687         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19688         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19689         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19690           decoder: fix unpaired GstBuffer map/unmaps.
19691           This possibly fixes a few memory leaks along the way.
19692
19693 2013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19694
19695         * configure.ac:
19696         * gst-libs/gst/vaapi/gstcompat.h:
19697         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
19698         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19699         * gst/vaapi/Makefile.am:
19700         * gst/vaapi/gstvaapi.c:
19701         * gst/vaapi/gstvaapidecode.c:
19702         * gst/vaapi/gstvaapisink.c:
19703         * gst/vaapi/gstvaapisink.h:
19704         * gst/vaapi/gstvaapiuploader.c:
19705         * tests/codec.c:
19706           Allow build against either GStreamer API (0.10 or 1.0).
19707           Introduce a new configure option --with-gstreamer-api that determines
19708           the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
19709           Also integrate more compatibility glue into gstcompat.h and plugins.
19710
19711 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19712
19713         * gst/vaapi/gstvaapidecode.c:
19714         * gst/vaapi/gstvaapisink.c:
19715         * gst/vaapi/gstvaapisink.h:
19716           plugins: use new video buffer pools.
19717           Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
19718           GstBaseSink::propose_allocation() to expose that pool to upstream
19719           elements; and also implement GstVideoDecoder::decide_allocation() to
19720           actually use that pool (from downstream), if any, or create one.
19721           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19722
19723 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19724
19725         * gst/vaapi/Makefile.am:
19726         * gst/vaapi/gstvaapivideobufferpool.c:
19727         * gst/vaapi/gstvaapivideobufferpool.h:
19728         * gst/vaapi/gstvaapivideomemory.c:
19729         * gst/vaapi/gstvaapivideomemory.h:
19730           plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
19731           Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
19732           object currently holds a reference to GstVaapiVideoMeta.
19733           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19734
19735 2013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19736
19737         * gst/vaapi/gstvaapivideometa.c:
19738         * gst/vaapi/gstvaapivideometa.h:
19739           plugins: allow copies of GstVaapiVideoMeta objects.
19740           Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
19741           objects created from GstVaapiVideoPool. This is mostly useful to clone a
19742           GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
19743           rendering flags.
19744
19745 2013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19746
19747         * gst/vaapi/gstvaapivideometa.c:
19748           plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
19749           Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
19750           reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
19751           gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
19752           argument is NULL.
19753
19754 2012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19755
19756         * gst/vaapi/Makefile.am:
19757         * gst/vaapi/gstvaapi.c:
19758         * gst/vaapi/gstvaapidecode.c:
19759         * gst/vaapi/gstvaapidownload.c:
19760         * gst/vaapi/gstvaapipluginutil.c:
19761         * gst/vaapi/gstvaapipostproc.c:
19762         * gst/vaapi/gstvaapisink.c:
19763         * gst/vaapi/gstvaapiupload.c:
19764         * gst/vaapi/gstvaapiuploader.c:
19765         * gst/vaapi/gstvaapivideobuffer.c:
19766         * gst/vaapi/gstvaapivideoconverter_glx.c:
19767         * gst/vaapi/gstvaapivideometa.c:
19768         * gst/vaapi/gstvaapivideometa.h:
19769           plugins: initial port to GStreamer 1.0.
19770           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
19771           is rather minimalistic so that to test the basic functionality.
19772           Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
19773           needs polishing wrt. to GStreamer 1.x functionality and the former are
19774           totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
19775           which are yet to be implemented.
19776           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19777
19778 2013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19779
19780         * gst-libs/gst/vaapi/gstcompat.h:
19781         * tests/codec.c:
19782         * tests/decoder.c:
19783         * tests/simple-decoder.c:
19784         * tests/test-subpicture.c:
19785           tests: add support for GStreamer 1.0.
19786
19787 2012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19788
19789         * configure.ac:
19790         * gst-libs/gst/vaapi/gstcompat.h:
19791         * gst-libs/gst/vaapi/gstvaapicontext.c:
19792         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19793         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19794         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19795         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19796         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19797         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19798         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19799         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19800         * gst-libs/gst/vaapi/gstvaapiimage.c:
19801         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
19802         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19803         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
19804         * gst-libs/gst/vaapi/gstvaapisurface.h:
19805           Add initial support for GStreamer 1.0.
19806           This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
19807           core decoding library. The changes are kept rather minimal here so that
19808           the library retains as little dependency as possible on core GStreamer
19809           functionality.
19810           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19811
19812 2013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19813
19814         * gst/vaapi/gstvaapisink.c:
19815           vaapisink: improve check for raw YUV format mode.
19816           Improve check for raw YUV format modes by avoiding checks against strings
19817           ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
19818           GstBaseSink::set_caps() is called first and if VA surface format mode is
19819           used, then GstBaseSink::buffer_alloc() is not called. If the latter is
19820           called before set_caps(), then we just make a full check. This one is
19821           pretty rare though, e.g. it usually happens once for custom pipelines.
19822
19823 2013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19824
19825         * gst/vaapi/gstvaapipluginutil.c:
19826           plugins: don't fail if there is no overlay composition to apply.
19827           Fix gst_vaapi_apply_composition() to not fail if no overlay composition
19828           was found. i.e. return success (TRUE). This was harmless though extra
19829           debug messages are not nice.
19830           This is a regression introduced by commit 95b8659.
19831
19832 2013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19833
19834         * gst/vaapi/gstvaapidecode.c:
19835         * gst/vaapi/gstvaapidecode.h:
19836           vaapidecode: expose the exact set of supported HW decoders.
19837           Don't return static caps that don't mean anything for the underlying codecs
19838           that are actually supported for decoding. i.e. always allocate a VA display
19839           and retrieve the exact set of HW decoders available. That VA display may be
19840           re-used later on during negotiation through GstVideoContext "prepare-context".
19841           This fixes fallback to SW decoding if no HW decoder is available.
19842
19843 2013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19844
19845         * docs/reference/libs/libs-sections.txt:
19846         * gst-libs/gst/vaapi/gstvaapicontext.c:
19847         * gst-libs/gst/vaapi/gstvaapicontext.h:
19848         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19849         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19850           decoder: drop obsolete functions.
19851           Drop the following functions that are now obsolete:
19852           - gst_vaapi_context_get_surface()
19853           - gst_vaapi_context_put_surface()
19854           - gst_vaapi_context_find_surface_by_id()
19855           - gst_vaapi_surface_proxy_new()
19856           - gst_vaapi_surface_proxy_get_context()
19857           - gst_vaapi_surface_proxy_set_context()
19858           - gst_vaapi_surface_proxy_set_surface()
19859           This is an API change.
19860
19861 2013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19862
19863         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19864           decoder: delegate surface size check to VA context reset.
19865           Now that the surface pool is reference counted in the surface proxy wrapper,
19866           we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
19867           Besides, this check is already performed in gst_vaapi_context_reset_full().
19868
19869 2013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19870
19871         * docs/reference/libs/libs-sections.txt:
19872         * gst-libs/gst/vaapi/gstvaapicontext.c:
19873         * gst-libs/gst/vaapi/gstvaapicontext.h:
19874         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19875         * gst-libs/gst/vaapi/gstvaapisurface.h:
19876         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19877         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19878           decoder: simplify acquisition/release of spare surface.
19879           Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
19880           proxy from the context surface pool. This change also makes sure to retain
19881           the parent surface pool in the proxy.
19882           Besides, it was also totally useless to attach/detach parent context to
19883           VA surface each time we acquire/release it. Since the whole context owns
19884           all associated VA surfaces, we can mark this as such only once and for all.
19885
19886 2013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19887
19888         * configure.ac:
19889           Bump version for development.
19890
19891 === release 0.5.2 ===
19892
19893 2013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19894
19895         * NEWS:
19896         * configure.ac:
19897           0.5.2.
19898
19899 2013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19900
19901         * NEWS:
19902           NEWS: updates.
19903
19904 2013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19905
19906         * gst/vaapi/gstvaapipluginutil.c:
19907         * gst/vaapi/gstvaapisink.c:
19908           plugins: fix usage of gst_vaapi_reply_to_query().
19909           Make gst_vaapi_reply_to_query() first check whether the query argument
19910           is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
19911           Then, make sure vaapisink propagates the query to the parent class if
19912           it is not a video-context query.
19913
19914 2013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19915
19916         * gst/vaapi/gstvaapivideobuffer.c:
19917         * gst/vaapi/gstvaapivideobuffer.h:
19918           plugins: streamline video buffers.
19919           Add new gst_vaapi_video_buffer_new() helper function that allocates a video
19920           buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
19921           gst_vaapi_video_buffer_get_meta().
19922
19923 2013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19924
19925         * docs/reference/libs/libs-sections.txt:
19926         * gst-libs/gst/vaapi/Makefile.am:
19927         * gst/vaapi/Makefile.am:
19928         * gst/vaapi/gstvaapidecode.c:
19929         * gst/vaapi/gstvaapidownload.c:
19930         * gst/vaapi/gstvaapipostproc.c:
19931         * gst/vaapi/gstvaapisink.c:
19932         * gst/vaapi/gstvaapiupload.c:
19933         * gst/vaapi/gstvaapiuploader.c:
19934         * gst/vaapi/gstvaapivideobuffer.h:
19935         * gst/vaapi/gstvaapivideoconverter_glx.c:
19936         * gst/vaapi/gstvaapivideometa.c:
19937         * gst/vaapi/gstvaapivideometa.h:
19938           plugins: integrate GstVaapiVideoMeta from libgstvaapi.
19939           Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
19940           actual plugin elements. That's only useful there. Also inline reference
19941           counting code from GstVaapiMiniObject.
19942
19943 2013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19944
19945         * gst/vaapi/Makefile.am:
19946         * gst/vaapi/gstvaapidecode.c:
19947         * gst/vaapi/gstvaapidownload.c:
19948         * gst/vaapi/gstvaapipluginbuffer.c:
19949         * gst/vaapi/gstvaapipluginbuffer.h:
19950         * gst/vaapi/gstvaapipostproc.c:
19951         * gst/vaapi/gstvaapiupload.c:
19952         * gst/vaapi/gstvaapiuploader.c:
19953         * gst/vaapi/gstvaapivideobuffer.c:
19954         * gst/vaapi/gstvaapivideobuffer.h:
19955           plugins: drop gstvaapipluginbuffer.[ch] helper files.
19956           Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
19957           to gstvaapivideobuffer.[ch], and drop the obsolete files.
19958
19959 2013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19960
19961         * docs/reference/libs/libs-sections.txt:
19962         * docs/reference/libs/libs.core.types:
19963         * gst-libs/gst/vaapi/Makefile.am:
19964         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
19965         * gst/vaapi/Makefile.am:
19966         * gst/vaapi/gstvaapidownload.h:
19967         * gst/vaapi/gstvaapipluginbuffer.c:
19968         * gst/vaapi/gstvaapipostproc.h:
19969         * gst/vaapi/gstvaapivideobuffer.c:
19970         * gst/vaapi/gstvaapivideobuffer.h:
19971         * gst/vaapi/gstvaapivideoconverter_glx.h:
19972           plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
19973           Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
19974           actual plugin elements. That's only useful there.
19975
19976 2013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19977
19978         * gst/vaapi/gstvaapipluginutil.c:
19979         * gst/vaapi/gstvaapipluginutil.h:
19980         * gst/vaapi/gstvaapisink.c:
19981         * gst/vaapi/gstvaapivideoconverter_glx.c:
19982           plugins: use common helper function to apply compositions.
19983           Use common gst_vaapi_apply_composition() helper function to apply compositions
19984           attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
19985
19986 2013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19987
19988         * gst-libs/gst/vaapi/Makefile.am:
19989         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
19990         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
19991         * gst/vaapi/Makefile.am:
19992         * gst/vaapi/gstvaapipluginbuffer.c:
19993         * gst/vaapi/gstvaapivideoconverter_glx.c:
19994         * gst/vaapi/gstvaapivideoconverter_glx.h:
19995           plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
19996           Make sure libgstvaapi core decoding library doesn't include un-needed
19997           dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
19998           Besides, even if the vaapisink element is not used, we are bound to have
19999           a correctly populated GstSurfaceBuffer from vaapidecode.
20000           Also clean-up the file along the way.
20001
20002 2013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20003
20004         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20005           vc1: fix use of possibly uninitialized variable.
20006           In decode_codec_data(), force initialization of format to zero so that
20007           we can catch up cases where codec-data has neither "format" nor "wmvversion"
20008           fields, thus making it possible to gracefully fail in this case.
20009
20010 2013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20011
20012         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20013           jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
20014
20015 2013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20016
20017         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20018         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20019         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20020         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20021         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20022         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20023           decoder: sanitize codec-data decoding.
20024           Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
20025           codec-data in the decoder sub-class. Provide a common shared helper
20026           function to do the actual work and delegating further to the sub-class.
20027
20028 2013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20029
20030         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20031         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20032         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
20033         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
20034           decoder: get rid of GstVaapiDecoderUnit::buffer field.
20035           Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
20036           useless nowadays as creating sub-buffers doesn't bring any value. It
20037           actually means more memory allocations. We can't do without that in
20038           JPEG and MPEG-4:2 decoders.
20039
20040 2013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20041
20042         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20043         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20044         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20045         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20046         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20047           decoder: sanitize uses of codec frame input buffer (cosmetics).
20048           Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
20049           "buffer" variable.
20050
20051 2013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20052
20053         * gst/vaapi/gstvaapisink.c:
20054           vaapisink: add helper function to apply a composition buffer.
20055           Simplify application of a composition buffer to a GstVaapiSurface, and
20056           all its peers, until that function is eventually promoted to libgstvaapi.
20057
20058 2013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20059
20060         * gst/vaapi/gstvaapisink.c:
20061           vaapisink: fix support for raw YUV buffers.
20062           If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
20063           hook, then it will have a valid GstVaapiVideoMeta object attached to it.
20064           However, we previously assumed in that case that it was a "native" VA buffer,
20065           thus not calling into GstVaapiUploader::process().
20066
20067 2013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20068
20069         * gst-libs/gst/vaapi/gstcompat.h:
20070         * gst/vaapi/gstvaapidecode.c:
20071         * gst/vaapi/gstvaapidownload.c:
20072         * gst/vaapi/gstvaapipostproc.c:
20073         * gst/vaapi/gstvaapisink.c:
20074         * gst/vaapi/gstvaapiupload.c:
20075           plugins: use modern GstElement metadata information.
20076           Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
20077           basically is the same as gst_element_class_set_details_simple() in
20078           GStreamer 0.10 context.
20079
20080 2013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20081
20082         * gst/vaapi/gstvaapidecode.c:
20083         * gst/vaapi/gstvaapidownload.c:
20084         * gst/vaapi/gstvaapipostproc.c:
20085         * gst/vaapi/gstvaapisink.c:
20086         * gst/vaapi/gstvaapiupload.c:
20087           plugins: move up interfaces (cosmetics).
20088           Move GstImplementsInterface and GstVideoContext support functions up
20089           so that to keep a clear separation between the plugin element and its
20090           interface hooks.
20091
20092 2013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20093
20094         * gst/vaapi/gstvaapisink.c:
20095         * gst/vaapi/gstvaapiuploader.c:
20096           plugins: upgrade to newer APIs (GstVideoInfo based helpers).
20097           Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
20098           Also use the newly added gst_vaapi_image_format_from_structure() helper
20099           in GstVaapiUploader::ensure_allowed_caps().
20100
20101 2013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20102
20103         * gst/vaapi/gstvaapipluginbuffer.c:
20104           plugins: fix creation of video buffer from another source buffer.
20105           gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
20106           buffer video meta since it would be unreference'd from the get_buffer()
20107           helper function. For other cases, we still use (steal) the newly created
20108           video meta.
20109
20110 2013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20111
20112         * gst/vaapi/gstvaapipluginbuffer.c:
20113         * gst/vaapi/gstvaapipluginutil.c:
20114           plugins: include "sysdeps.h" header instead of "config.h".
20115
20116 2013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20117
20118         * gst-libs/gst/vaapi/gstcompat.h:
20119         * tests/codec.c:
20120           tests: modernize GstTypeFind functions.
20121           Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
20122           exactly correspond to the expected behaviour.
20123
20124 2013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20125
20126         * tests/image.c:
20127         * tests/image.h:
20128         * tests/test-decode.c:
20129         * tests/test-display.c:
20130         * tests/test-h264.c:
20131         * tests/test-h264.h:
20132         * tests/test-jpeg.c:
20133         * tests/test-jpeg.h:
20134         * tests/test-mpeg2.c:
20135         * tests/test-mpeg2.h:
20136         * tests/test-mpeg4.c:
20137         * tests/test-mpeg4.h:
20138         * tests/test-textures.c:
20139         * tests/test-vc1.c:
20140         * tests/test-vc1.h:
20141         * tests/test-windows.c:
20142           tests: fix license templates.
20143
20144 2013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20145
20146         * tests/test-display.c:
20147           tests: use gst_vaapi_image_format_from_structure() in test-display.
20148           Use gst_vaapi_image_format_from_structure() helper in test-display and
20149           then extract a VAImageFormat from it instead of relying on GstCaps for
20150           YUV and RGB formats.
20151
20152 2013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20153
20154         * tests/codec.c:
20155         * tests/decoder.c:
20156         * tests/output.c:
20157         * tests/test-decode.c:
20158         * tests/test-display.c:
20159         * tests/test-subpicture.c:
20160         * tests/test-textures.c:
20161         * tests/test-windows.c:
20162           tests: include "sysdeps.h" header instead of "config.h".
20163
20164 2013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20165
20166         * gst-libs/gst/vaapi/gstcompat.h:
20167         * gst-libs/gst/vaapi/gstvaapicontext.c:
20168         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20169           subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
20170           Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
20171           function with GStreamer 0.10 compatible semantics, or that tries to
20172           approach the current meaning. Basically, this is also just about moving
20173           the helper to gstcompat.h.
20174
20175 2013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20176
20177         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
20178         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
20179           image: add gst_vaapi_image_format_from_structure() helper.
20180           Add helper function to convert video formats from a GstStructure to a
20181           plain GstVaapiImageFormat.
20182
20183 2013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20184
20185         * gst-libs/gst/vaapi/Makefile.am:
20186         * gst-libs/gst/vaapi/gstcompat.h:
20187         * gst-libs/gst/vaapi/sysdeps.h:
20188           sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
20189
20190 2013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20191
20192         * gst-libs/gst/vaapi/sysdeps.h:
20193           sysdeps: add more standard includes by default.
20194
20195 2013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20196
20197         * configure.ac:
20198           configure: improve GStreamer API version checks.
20199
20200 2013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20201
20202         * configure.ac:
20203         * debian.upstream/Makefile.am:
20204         * debian.upstream/changelog.in:
20205         * debian.upstream/control.in:
20206         * debian.upstream/gstreamer-vaapi-doc.install.in:
20207         * debian.upstream/libgstvaapi-dev.install.in:
20208         * debian.upstream/libgstvaapi-drm.install.in:
20209         * debian.upstream/libgstvaapi-glx.install.in:
20210         * debian.upstream/libgstvaapi-wayland.install.in:
20211         * debian.upstream/libgstvaapi-x11.install.in:
20212         * debian.upstream/libgstvaapi.install.in:
20213         * docs/reference/libs/Makefile.am:
20214         * docs/reference/libs/libs-docs.xml.in:
20215         * docs/reference/plugins/Makefile.am:
20216         * docs/reference/plugins/plugins-docs.xml.in:
20217         * gst-libs/gst/vaapi/Makefile.am:
20218         * gst/vaapi/Makefile.am:
20219         * pkgconfig/Makefile.am:
20220         * pkgconfig/gstreamer-vaapi-drm.pc.in:
20221         * pkgconfig/gstreamer-vaapi-glx.pc.in:
20222         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
20223         * pkgconfig/gstreamer-vaapi-x11.pc.in:
20224         * pkgconfig/gstreamer-vaapi.pc.in:
20225         * tests/Makefile.am:
20226           configure: rename GST_MAJORMINOR to GST_API_VERSION.
20227
20228 2013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20229
20230         * configure.ac:
20231           configure: improve check for H.264 codecparser.
20232
20233 2013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
20234
20235         * gst/vaapi/gstvaapiuploader.c:
20236           vaapiupload: fix illegal write in ensure_image().
20237           Fix ensure_image() to only zero-initialize the first line of each plane.
20238           Properly initializing each plane to their full vertical resolution would
20239           require to actually compute it based on the image format.
20240           In particular, for NV12 images, the UV plane has half vertical resolution
20241           vs. the Y plane. So using the full image height to initialize the UV plane
20242           will obviously lead to a buffer overflow. Likewise for other YUV format.
20243           Since ensure_image() is only a helper function to initialize something,
20244           and not necessarily the whole thing, it is fine to initializ the first
20245           line only. Besides, the target surface is not rendered either.
20246           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20247
20248 2013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
20249
20250         * gst-libs/gst/codecparsers/Makefile.am:
20251         * gst-libs/gst/video/Makefile.am:
20252           build: fix compiling of local GstVideoDecoder and codecparsers.
20253           Generated source files were missing a dependency on the complete set of
20254           generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
20255           to build and almost every codec parser source depends on parserutils.h.
20256           https://bugs.freedesktop.org/show_bug.cgi?id=59575
20257           Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
20258           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20259
20260 2013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20261
20262         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20263           h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
20264           Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
20265           there is no pred_weight_table() that was parsed.
20266           This is a workaround for the VA intel-driver on Ivy Bridge.
20267
20268 2013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20269
20270         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20271           h264: use new profile definitions from codecparsers.
20272
20273 2013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20274
20275         * ext/codecparsers:
20276           codecparsers: update to gst-vaapi-branch commit 500bc02.
20277           500bc02 h264: add profile enums
20278
20279 2013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20280
20281         * NEWS:
20282           NEWS: updates.
20283
20284 2013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20285
20286         * ext/codecparsers:
20287           codecparsers: update to gst-vaapi-branch commit 31b1c57.
20288           8957fb7 mpeg2: add helpers to convert quantization matrices
20289           07c4034 mpeg2: store quantization matrices in zigzag scan order
20290
20291 2013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20292
20293         * tests/simple-decoder.c:
20294           tests: simple-decoder: fix build on older platforms.
20295           Make simple-decoder build and execute correctly on older platforms,
20296           and more precisely older versions of glib.
20297
20298 2013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20299
20300         * gst-libs/gst/vaapi/glibcompat.h:
20301           glibcompat: add replacement for g_async_queue_timeout_pop().
20302           g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
20303           g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
20304           new data to arrive in the queue.
20305
20306 2013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20307
20308         * gst-libs/gst/vaapi/glibcompat.h:
20309           glibcompat: add replacement for g_cond_wait().
20310
20311 2013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20312
20313         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20314           mpeg2: fix decoding of 4K videos.
20315           Account for slice_vertical_position_extension when vertical_size > 2800.
20316
20317 2013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20318
20319         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20320           mpeg2: fix decoding of sequence_end().
20321           There shall be only one place to call decode_current_picture(), and this
20322           is in the end_frame() hook. The EOS unit is processed after end_frame()
20323           so this means we cannot have a valid picture to decode/output at this
20324           point.
20325
20326 2013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20327
20328         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20329           mpeg2: improve robustness when packets are missing.
20330           Improve robustness when some expected packets where not received yet
20331           or that were not correctly decoded. For example, don't try to decode
20332           a picture if there was no valid sequence or picture headers.
20333
20334 2013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20335
20336         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20337           decoder: handle decode-only frames in raw API mode.
20338           Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
20339           surface proxy, i.e. with a valid VA surface. This means that any frame
20340           marked as decode-only is simply skipped.
20341
20342 2013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20343
20344         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20345         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20346           decoder: allow frames to be dropped.
20347           If the decoder was not able to decode a frame because insufficient
20348           information was available, e.g. missing sequence or picture header,
20349           then allow the frame to be gracefully dropped without generating
20350           any error.
20351           It is also possible that a frame is not meant to be displayed but
20352           only used as a reference, so dropping that frame is also a valid
20353           operation since GstVideoDecoder base class has extra references to
20354           that GstVideoCodecFrame that needs to be released.
20355
20356 2013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20357
20358         * gst/vaapi/gstvaapidecode.c:
20359           vaapidecode: handle decode-only frames.
20360           Decode-only frames may not have a valid surface proxy. So, simply discard
20361           them gracefully, i.e. don't create meta data information. GstVideoDecoder
20362           base class will properly handle this case and won't try to push any buffer
20363           to downstream elements.
20364
20365 2013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20366
20367         * gst/vaapi/gstvaapidecode.c:
20368           vaapidecode: add support for post-seek semantics reset.
20369           Implement GstVideoDecoder::reset() as a destruction of the VA decoder
20370           and the creation of a new VA decoder.
20371           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20372
20373 2013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20374
20375         * configure.ac:
20376           Bump version for development.
20377
20378 === release 0.5.1 ===
20379
20380 2013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20381
20382         * NEWS:
20383         * configure.ac:
20384           0.5.1.
20385
20386 2013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20387
20388         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20389           mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
20390
20391 2013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20392
20393         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
20394           decoder: fix documentation for GstVaapiDecoderFrame.
20395           Drop superfluous reference to prev_slice member.
20396
20397 2013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20398
20399         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20400           decoder: assume current frame is complete at end-of-stream.
20401           Assume we got a complete frame when the end-of-stream is reached and that
20402           the current codec frame contains at least one slice data unit.
20403
20404 2013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20405
20406         * NEWS:
20407         * README:
20408         * debian.upstream/copyright:
20409         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
20410         * gst-libs/gst/vaapi/gstvaapicontext.c:
20411         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20412         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20413         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20414         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20415         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
20416         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
20417         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20418         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20419         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20420         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20421         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20422         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20423         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20424         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
20425         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
20426         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20427         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20428         * gst-libs/gst/vaapi/gstvaapidisplay.h:
20429         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20430         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
20431         * gst-libs/gst/vaapi/gstvaapiprofile.h:
20432         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20433         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
20434         * gst-libs/gst/vaapi/gstvaapisurface.c:
20435         * gst-libs/gst/vaapi/gstvaapiutils.c:
20436         * gst-libs/gst/vaapi/gstvaapiutils.h:
20437         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
20438         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
20439         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
20440         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20441         * gst-libs/gst/vaapi/sysdeps.h:
20442         * gst/vaapi/gstvaapidecode.c:
20443         * gst/vaapi/gstvaapidownload.c:
20444         * gst/vaapi/gstvaapipluginbuffer.c:
20445         * gst/vaapi/gstvaapipluginbuffer.h:
20446         * gst/vaapi/gstvaapipostproc.c:
20447         * gst/vaapi/gstvaapisink.c:
20448         * gst/vaapi/gstvaapiupload.c:
20449         * gst/vaapi/gstvaapiuploader.c:
20450         * tests/output.c:
20451         * tests/test-decode.c:
20452         * tests/test-subpicture.c:
20453           legal: fix year for some copyright notices (2013).
20454
20455 2013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20456
20457         * gst-libs/gst/vaapi/gstvaapicontext.h:
20458         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20459         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20460         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
20461         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20462         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
20463         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20464         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
20465         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
20466         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
20467         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20468         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
20469         * gst-libs/gst/vaapi/gstvaapisurface.c:
20470         * gst-libs/gst/vaapi/gstvaapisurface.h:
20471         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
20472         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
20473         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
20474         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
20475         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
20476         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
20477         * gst/vaapi/gstvaapidecode.h:
20478         * gst/vaapi/gstvaapisink.h:
20479         * tests/test-subpicture.c:
20480           legal: fix year for some copyright notices (2012).
20481
20482 2013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20483
20484         * gst-libs/gst/vaapi/gstvaapicompat.h:
20485         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
20486         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
20487         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
20488         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
20489         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
20490         * gst-libs/gst/vaapi/gstvaapiobject.c:
20491         * gst-libs/gst/vaapi/gstvaapiobject.h:
20492         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
20493         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
20494         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
20495         * gst-libs/gst/vaapi/gstvaapiprofile.c:
20496         * gst-libs/gst/vaapi/gstvaapiprofile.h:
20497         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20498         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
20499         * gst-libs/gst/vaapi/gstvaapitexture.c:
20500         * gst-libs/gst/vaapi/gstvaapitexture.h:
20501         * gst-libs/gst/vaapi/gstvaapitypes.h:
20502         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
20503         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
20504         * gst-libs/gst/vaapi/gstvaapivalue.c:
20505         * gst-libs/gst/vaapi/gstvaapivalue.h:
20506         * gst-libs/gst/vaapi/gstvaapivideopool.c:
20507         * gst-libs/gst/vaapi/gstvaapivideopool.h:
20508         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20509         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20510         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
20511         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20512         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
20513         * tests/test-display.c:
20514         * tests/test-surfaces.c:
20515         * tests/test-windows.c:
20516           legal: add Intel copyright on modified files.
20517
20518 2013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20519
20520         * NEWS:
20521           NEWS: updates.
20522
20523 2013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20524
20525         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20526           wayland: use a local event queue to avoid lock contention.
20527           This improves performance when rendering several surfaces from within
20528           the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
20529
20530 2013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20531
20532         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20533           wayland: fix thread-safe issues.
20534           The Wayland API is not fully thread-safe and client applications shall
20535           perform locking themselves on key functions. Besides, make sure to
20536           release the lock if the _render() function fails.
20537
20538 2013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20539
20540         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20541           wayland: really wait until the pending redraw completed.
20542           Introduce gst_vaapi_window_wayland_sync() helper function to wait for
20543           the completion of the redraw request. Use it in _render() function to
20544           actually block until the previous draw request is completed.
20545
20546 2013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20547
20548         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20549           wayland: fix frame_redraw callback.
20550           The redraw callback needs to be attached to the surface prior to the
20551           commit. Otherwise, the callback notifies the next surface repaint,
20552           which is not the desired behaviour. i.e. we want to be notified for
20553           the surface we have just filled.
20554           Another isse was the redraw_pending was reset before the actual completion
20555           of the frame redraw callback function, thus causing concurrency issues.
20556           e.g. the callback could have been called again, but with a NULL buffer.
20557
20558 2013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20559
20560         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20561           wayland: fix display sharing.
20562           When the Wayland display is shared, we still have to create our own local
20563           shell and compositor objects, since they are not propagated from the cache.
20564           Likewise, we also need to determine the display size or vaapisink would
20565           fail to account for the display aspect ratio, and will try to create a 0x0
20566           window.
20567
20568 2013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20569
20570         * ext/codecparsers:
20571           codecparsers: update to gst-vaapi-branch commit 21a098e.
20572           21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
20573           f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
20574
20575 2013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20576
20577         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20578           vc1: handle frames with multiple slices.
20579
20580 2013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20581
20582         * ext/codecparsers:
20583           codecparsers: update to gst-vaapi-branch commit 3fba492.
20584           3fba492 vc1: add API to parse slice headers
20585
20586 2013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20587
20588         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20589           vc1: handle CLOSED_ENTRY.
20590           When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
20591           lack a reference anchor picture, these B pictures shall be discarded.
20592           https://bugs.freedesktop.org/show_bug.cgi?id=59505
20593
20594 2013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20595
20596         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20597           vc1: cope with latest codecparser changes.
20598           Fix build with newer VC-1 codecparser where dqsbedge was renamed to
20599           dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
20600           the actual value of DQPROFILE.
20601
20602 2013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20603
20604         * ext/codecparsers:
20605           codecparsers: update to gst-vaapi-branch commit 3d2c67c.
20606           3d2c67c vc1: simplify GstVC1VopDquant structure
20607
20608 2013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20609
20610         * ext/codecparsers:
20611           codecparsers: update to gst-vaapi-branch commit 5d33da8.
20612           5d33da8 vc1: fix bitplanes decoding
20613           562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
20614           0b13d2b vc1: fix calculation of ALTPQUANT
20615           ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
20616
20617 2013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20618
20619         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20620           vc1: fix size of encapsulated BDU.
20621           Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
20622           the size of the BDU data, starting from offset, i.e. after any start
20623           code is parsed.
20624           This fixes a buffer overflow during the unescaping process.
20625
20626 2013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
20627
20628         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20629           vc1: fix decoding of WMV3 videos in AVI format.
20630           The AVI demuxer (avidemux) does not set a proper "format" attribute
20631           to the generated caps. So, try to recover the video codec format from
20632           the "wmvversion" property instead.
20633           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20634
20635 2013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20636
20637         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20638           vc1: review and report errors accordingly.
20639           Use GST_ERROR() to report real errors instead of hiding them into
20640           GST_DEBUG().
20641
20642 2013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20643
20644         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20645           vc1: don't create GstBuffers for all decoder units.
20646           Don't create temporary GstBuffers for all decoder units, even if they
20647           are lightweight "sub-buffers", since it is not really necessary to keep
20648           the buffer data around.
20649
20650 2013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20651
20652         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20653           vc1: implement flush() hook.
20654           Make it a simple DPB flush.
20655
20656 2013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20657
20658         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20659           vc1: implement {start,end}_frame() hooks.
20660           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
20661           that to create new VA context earlier and submit VA pictures to the
20662           HW for decoding as soon as possible. i.e. don't wait for the next
20663           frame to start decoding the previous one.
20664
20665 2013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20666
20667         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20668           vc1: fix next POC for new sequence layers.
20669           Fix next POC when a new sequence layer is reached. At this point, we
20670           need to reset any previous reference picture, i.e. non B-frame.
20671
20672 2012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20673
20674         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20675           vc1: port to common GstVaapiDpb interface.
20676           Use GstVaapiDpb interface instead of maintaining our own prev and next
20677           picture pointers. While doing so, try to derive a sensible POC value.
20678           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20679
20680 2013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20681
20682         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20683           vc1: fix decode_sequence_end() to return success, not EOS.
20684
20685 2013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20686
20687         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20688           decoder: simplify gst_vaapi_decoder_get_surface().
20689           Avoid extraenous branches, i.e. immediately return with success once we
20690           have a decoded frame available.
20691
20692 2013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20693
20694         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20695           decoder: optimize and clean decode_step() up.
20696           Avoid usage of goto. Simplify decode_step() process to first accumulate all
20697           pending buffers into the GstAdapter, and then parse and decode units from
20698           that input adapter. Stop the process once a frame is fully decoded or an
20699           error occurred.
20700
20701 2013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20702
20703         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20704           display: move "vaapi" debug init to libgstvaapi_init_once().
20705
20706 2013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20707
20708         * configure.ac:
20709         * gst-libs/gst/vaapi/Makefile.am:
20710         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20711         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
20712           display: dump gstreamer-vaapi version for debugging purposes.
20713
20714 2013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20715
20716         * tests/Makefile.am:
20717           tests: simple-decoder: fix build with built-in videoutils.
20718           Fix build with built-in videoutils, i.e. when system GStreamer installation
20719           does not know about GstVideoDecoder API.
20720
20721 2013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20722
20723         * tests/simple-decoder.c:
20724           tests: simple-decoder: flush decoded frames at EOS.
20725           Flush the remaining decoded frames when an end-of-stream is reached.
20726
20727 2013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20728
20729         * tests/simple-decoder.c:
20730           tests: simple-decoder: drop use of GstVaapiVideoMeta.
20731           Don't use GstVaapiVideoMeta since that object is not guaranteed to live
20732           in libgstvaapi forever. Rather, that'd move to plugin elements at some
20733           point.
20734
20735 2013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20736
20737         * tests/simple-decoder.c:
20738           tests: simple-decoder: add benchmark mode.
20739           Add --benchmark option to enable benchmark mode where rendering is not
20740           synchronized with presentation timestamps of the decoded surfaces.
20741
20742 2013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20743
20744         * tests/Makefile.am:
20745         * tests/simple-decoder.c:
20746           tests: simple-decoder: honour framerate from the bitstream.
20747           Try to honour the framerate from the bitstream, or cap the playback to
20748           60 fps by default.
20749
20750 2013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20751
20752         * tests/simple-decoder.c:
20753           tests: simple-decoder: set window size to the surface dimensions.
20754           Set the window size to the decoded surface dimensions, if the user has
20755           not requested the application to run in full-screen mode. Besides, no
20756           effort is made to preserve aspect ratio or to center the video within
20757           the mapped window.
20758
20759 2013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20760
20761         * tests/Makefile.am:
20762         * tests/simple-decoder.c:
20763           tests: add simple decoder application.
20764           Add simple decoder application to show off decoding capabilities from
20765           raw bitstreams, for debugging or performance evaluation purposes.
20766
20767 2013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20768
20769         * tests/Makefile.am:
20770         * tests/codec.c:
20771         * tests/codec.h:
20772           tests: add codec helper utils.
20773           Add helper functions to determine the codec type from a specific file
20774           or utility functions to convert from codec type to GstCaps or from
20775           codec name to codec type.
20776
20777 2013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20778
20779         * tests/output.c:
20780           tests: allow fullscreen mode.
20781           Add new --fullscreen|-f option to create new windows in fullscreen mode.
20782
20783 2013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20784
20785         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20786           h264: implement GstVaapiDecoder::flush() as a DPB flush.
20787
20788 2013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20789
20790         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20791           h264: handle end-of-stream NALU.
20792           Handle <end-of-stream> NAL unit to actually flush any pending picture
20793           from the DPB.
20794
20795 2013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20796
20797         * gst/vaapi/gstvaapidecode.c:
20798           vaapidecode: handle EOS events.
20799           Flush all decoded frames to downstream when EOS is received. This is
20800           performed by implementing GstVideoDecoder::finish() hook.
20801
20802 2013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20803
20804         * gst/vaapi/gstvaapidecode.c:
20805           vaapidecode: split gvd_handle_frame() into decode/push frames.
20806           Split GstVideoDecoder::handle_frame() implementation into two functions:
20807           (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
20808           for purging all decoded frames and submit them downstream.
20809
20810 2013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20811
20812         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20813         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20814           decoder: add GstVaapiDecoder::flush() hook.
20815
20816 2013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20817
20818         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20819         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20820           decoder: fix check for end-of-stream in raw API mode.
20821           Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
20822           if the end-of-stream was already reached at the previous iteration.
20823
20824 2013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20825
20826         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20827           decoder: make decode_step() return once the frame is decoded.
20828           Make sure we always have a free surface left to use for decoding the
20829           current frame. This means that decode_step() has to return once a frame
20830           gets decoded. If the current adapter contains more buffers with valid
20831           frames, they will get parsed and decoded on subsequent iterations.
20832
20833 2013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20834
20835         * ext/codecparsers:
20836           codecparsers: update to gst-vaapi-branch commit b47983a.
20837           8840c2d h264: zero-initialize SPS VUI parameters
20838
20839 2013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20840
20841         * configure.ac:
20842           Bump version for development.
20843
20844 === release 0.5.0 ===
20845
20846 2013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20847
20848         * NEWS:
20849         * configure.ac:
20850           0.5.0.
20851
20852 2013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20853
20854         * docs/reference/libs/libs-docs.xml.in:
20855         * docs/reference/libs/libs-sections.txt:
20856         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20857         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20858         * gst-libs/gst/vaapi/gstvaapiprofile.h:
20859           docs: expose new interfaces.
20860
20861 2013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20862
20863         * NEWS:
20864           NEWS: updates.
20865
20866 2013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20867
20868         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20869           dpb: cosmetics (clean-ups).
20870
20871 2013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20872
20873         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20874         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20875         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20876           dpb: port to GstVaapiMiniObject.
20877
20878 2013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20879
20880         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20881         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20882         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20883           dpb: drop GstVaapiDpb2 interface, keep only one class.
20884           Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
20885           to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
20886           around the specified picture POC.
20887
20888 2012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20889
20890         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20891         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20892         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20893           dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
20894           Move GstVaapiDpbMpeg2 API to a more generic version that could also be
20895           useful to other decoders that require 2 reference pictures, e.g. VC-1.
20896           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20897
20898 2013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20899
20900         * configure.ac:
20901           Bump version for pre-release.
20902
20903 2013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20904
20905         * NEWS:
20906           NEWS: updates.
20907
20908 2012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
20909
20910         * configure.ac:
20911         * gst-libs/gst/vaapi/gstvaapicontext.c:
20912         * gst-libs/gst/vaapi/gstvaapiutils.c:
20913         * gst-libs/gst/vaapi/sysdeps.h:
20914         * tests/test-subpicture.c:
20915           overlay: fix build without advanced GstVideoOverlayFormatFlags.
20916           Check for global-alpha support in GstVideoOverlayComposition API.
20917           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20918
20919 2013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20920
20921         * tests/test-subpicture.c:
20922           tests: add support for global-alpha subpictures.
20923           Add --global-alpha option to test-subpicture.
20924
20925 2013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20926
20927         * tests/Makefile.am:
20928         * tests/test-subpicture.c:
20929           tests: use GstVideoOverlayComposition API for subpicture test.
20930
20931 2013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20932
20933         * tests/Makefile.am:
20934         * tests/test-subpicture.c:
20935           tests: use common decoder helpers for subpicture test.
20936           Use common decoder helpers for subpicture test, thus allowing to decode
20937           sample images in an alternate format.
20938
20939 2013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20940
20941         * tests/Makefile.am:
20942         * tests/decoder.c:
20943         * tests/decoder.h:
20944         * tests/test-decode.c:
20945           tests: add decoder helpers.
20946
20947 2013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20948
20949         * gst-libs/gst/vaapi/gstvaapicontext.c:
20950           overlay: fix ordering of composition layers.
20951           Make sure to maintain the association order of composition layers when
20952           GstVideoOverlayRectangle objects are kept around (cached).
20953
20954 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
20955
20956         * gst-libs/gst/vaapi/gstvaapicontext.c:
20957           overlay: fix support for global-alpha.
20958           Fix support for global-alpha subpictures. The previous changes brought
20959           the ability to check for GstVideoOverlayRectangle changes by comparing
20960           the underlying pixel buffer pointers. If sequence number and pixel data
20961           did not change, then this is an indication that only the global-alpha
20962           value changed. Now, try to update the underlying VA subpicture global-alpha
20963           value.
20964           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20965
20966 2013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20967
20968         * gst-libs/gst/vaapi/gstvaapicontext.c:
20969           overlay: detect render-rect changes.
20970           Don't re-upload VA subpicture if only the render rectangle changed.
20971           Rather deassociate the subpicture and re-associate it with the new
20972           render rectangle.
20973
20974 2013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20975
20976         * gst-libs/gst/vaapi/gstvaapicontext.c:
20977           overlay: fix check for pixels buffer change.
20978           A GstVideoOverlayRectangle is created whenever the underlying pixels data
20979           change. However, when global-alpha is supported, it is possible to re-use
20980           the same GstVideoOverlayRectangle but with a change to the global-alpha
20981           value. This process causes a change of sequence number, so we can no longer
20982           check for that.
20983           Still, if sequence numbers did not change, then there was no change in
20984           global-alpha either. So, we need a way to compare the underlying GstBuffer
20985           pointers. There is no API to retrieve the original pixels buffer from
20986           a GstVideoOverlayRectangle. So, we use the following heuristics:
20987           1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
20988           format flags from which the GstVideoOverlayRectangle was created. This
20989           will work if there was no prior consumer of the GstVideoOverlayRectangle
20990           with alternate (non-"native") format flags.
20991           2. In overlay_rectangle_has_changed_pixels(), we have to use the same
20992           gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
20993           with flags that match the subpicture. This is needed to cope with
20994           platforms that don't support global-alpha in HW, so the gst-video
20995           layer takes care of that and fixes this up with a possibly new
20996           GstBuffer, and hence pixels data (or) in-place by caching the current
20997           global-alpha value applied. So we have to determine the rectangle
20998           was previously used, based on what previous flags were used to
20999           retrieve the ARGB pixels buffer.
21000
21001 2013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21002
21003         * gst-libs/gst/vaapi/gstvaapicontext.c:
21004           overlay: optimize cache at the GstVideoOverlayRectangle level.
21005           We previously assumed that an overlay composition changed if the number
21006           of overlay rectangles in there actually changed, or that the rectangle
21007           was updated, and thus its seqnum was also updated.
21008           Now, we can cope with cases where the GstVideoOverlayComposition grew
21009           by one or a few more overlay rectangles, and the initial overlay rectangles
21010           are kept as is.
21011
21012 2013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21013
21014         * gst-libs/gst/vaapi/gstvaapicontext.c:
21015           overlay: simplify caching of GstVideoOverlayComposition objects.
21016           Create the GPtrArray once in the _init() function and destroy it only
21017           in the _finalize() function. Then use overlay_clear() to remove all
21018           subpicture associations for intermediate updates, don't recreate the
21019           GPtrArray.
21020           Make GstVaapiOverlayRectangle a reference counted object. Also make
21021           sure that overlay_rectangle_new() actually creates and associates the
21022           VA subpicture.
21023
21024 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
21025
21026         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
21027         * gst-libs/gst/vaapi/gstvaapiutils.c:
21028         * gst-libs/gst/vaapi/gstvaapiutils.h:
21029           overlay: add support for global-alpha.
21030           Handle global-alpha from GstVideoOverlayComposition API. Likewise,
21031           the same code path could also work for premultiplied-alpha but this
21032           was not tested.
21033           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21034
21035 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
21036
21037         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21038         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21039         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
21040         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
21041         * gst-libs/gst/vaapi/gstvaapisurface.c:
21042         * tests/image.c:
21043         * tests/test-subpicture.c:
21044           subpicture: add support for global-alpha.
21045           Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
21046           with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
21047           to address this feature.
21048           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21049
21050 2013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21051
21052         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
21053         * gst-libs/gst/vaapi/gstvaapiutils.c:
21054         * gst-libs/gst/vaapi/gstvaapiutils.h:
21055           subpicture: add premultiplied-alpha and global-alpha feature flags.
21056           Add premultiplied-alpha and global-alpha feature flags, along with converters
21057           between VA-API and gstreamer-vaapi definitions. Another round of helpers is
21058           also necessary for GstVideoOverlayComposition API.
21059
21060 2013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21061
21062         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21063           display: allow image/subpicture formats with additional flags.
21064           Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
21065           and any additional flags needed. Currently, all flags are set to zero.
21066
21067 2013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21068
21069         * gst-libs/gst/codecparsers/Makefile.am:
21070         * gst-libs/gst/video/Makefile.am:
21071         * tests/Makefile.am:
21072           libs: fix build of submodule wrappers.
21073           Make sure to build codecparsers/ and videoutils/ sources against the
21074           newly generated headers when out-of-source builds are used.
21075
21076 2013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21077
21078         * configure.ac:
21079           configure: fix checks for packages installed in non-standard roots.
21080
21081 2013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21082
21083         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
21084           decoder: fix mini object implementation on 64-bit systems.
21085           Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
21086           pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
21087           Only a gsize can hold all bits of a pointer.
21088           Thanks to Ouping Zhang for spotting this error.
21089
21090 2013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21091
21092         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21093           mpeg2: optimize scan for the end of the frame.
21094           Heuristic: if the second start-code is available, check whether that
21095           one marks the start of a new frame because e.g. this is a sequence
21096           or picture header. This doesn't save much, since we already cache the
21097           results.
21098
21099 2013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21100
21101         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21102           mpeg2: optimize scan for start codes.
21103           Accelerate scan for start codes by skipping up to 3 bytes per iteration.
21104           A start code prefix is defined by the following bytes: 00 00 01. Thus,
21105           for any group of 3 bytes (xx yy zz), we have the following possible cases:
21106           1. If zz != 1, this cannot be a start code, then skip 3 bytes;
21107           2. If yy != 0, this cannot be a start code, then skip 2 bytes;
21108           3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
21109           4. xx == 00, yy == 00, zz == 1, we have match!
21110           This algorithm requires to peek bytes from the adapter. This increases the
21111           amount of bytes copied to a temporary buffer, but this process is much faster
21112           than scanning for all the bytes and using shift/masks. So, overall, this is
21113           a win.
21114
21115 2013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21116
21117         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21118           mpeg2: drop useless gst_adapter_peek().
21119           Drop useless gst_adapter_peek() since the returned buffer was not used
21120           and this could incur superfluous memcpy().
21121
21122 2013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21123
21124         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21125           mpeg2: cosmetics: move parse_slice() down.
21126
21127 2013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21128
21129         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21130           mpeg2: avoid too many allocations of parser info objects.
21131           Move parsing back to decoding step, but keep functions separate for now.
21132           This is needed for future optimizations that may introduce some meta data
21133           for parsed info attached to codec frames.
21134
21135 2013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21136
21137         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21138         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21139           decoder: decoder units are no longer dynamically allocated objects.
21140
21141 2013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21142
21143         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21144         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21145         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21146           decoder: optimize pre-allocation of decoder units.
21147           Optimize pre-allocation of decoder units, thus avoiding un-necessary
21148           memory reallocations. The heuristic used is that we could have around
21149           one slice unit per macroblock line.
21150
21151 2013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21152
21153         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21154         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21155         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21156         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21157         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21158           decoder: use an array of units instead of a single-linked list.
21159           Use a GArray to hold decoder units in a frame, instead of a single-linked
21160           list. This makes 'append' calls faster, but not that much. At least, this
21161           makes things clearer.
21162
21163 2013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21164
21165         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21166         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21167         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21168         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21169         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21170         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21171         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21172         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21173         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21174           decoder: refactor decoder unit API.
21175           Allocate decoder unit earlier in the main parse() function and don't
21176           delegate this task to derived classes. The ultimate purpose is to get
21177           rid of dynamic allocation of decoder units.
21178
21179 2013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21180
21181         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21182           mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
21183           Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
21184           from GstVaapiDecoderUnit for MPEG-2 specific parser information.
21185
21186 2013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21187
21188         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21189           h264: introduce parser info instead of H.264 specific decoder unit.
21190           Use a new GstVaapiParserInfoH264 data structure instead of deriving
21191           from GstVaapiDecoderUnit for H.264 specific parser information.
21192
21193 2013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21194
21195         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21196           h264: set default values for some header fields.
21197           The SPS, PPS and slice headers are not fully zero-initialized in the
21198           codecparsers/ library. Rather, the standard upstream behaviour is to
21199           initialize only certain syntax elements with some inferred values if
21200           they are not present in the bitstream.
21201           At the gstreamer-vaapi decoder level, we need to further initialize
21202           certain syntax elements with some sensible default values so that to
21203           not complicate VA drivers that just pass those verbatim to the HW,
21204           and also avoid an memset() of the whole decoder unit.
21205           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21206           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21207
21208 2013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21209
21210         * ext/codecparsers:
21211           codecparsers: update to gst-vaapi-rebased commit b47983a.
21212           b47983a h264: add inferred value for slice_beta_offset_div2
21213
21214 2013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21215
21216         * gst/vaapi/gstvaapidecode.c:
21217         * gst/vaapi/gstvaapidownload.c:
21218         * gst/vaapi/gstvaapipluginbuffer.c:
21219         * gst/vaapi/gstvaapipluginbuffer.h:
21220         * gst/vaapi/gstvaapipostproc.c:
21221         * gst/vaapi/gstvaapisink.c:
21222         * gst/vaapi/gstvaapiupload.c:
21223         * gst/vaapi/gstvaapiuploader.c:
21224           plugins: cope with new GstVaapiVideoMeta API.
21225           Update plugin elements with the new GstVaapiVideoMeta API.
21226           This also fixes support for subpictures/overlay because GstVideoDecoder
21227           generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
21228           is marked as read-only. However, when comes in the textoverlay element
21229           for example, it checks whether the input buffer is writable. Since that
21230           buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
21231           does not preserve the parent field, the generated buffer in textoverlay
21232           is not exploitable because we lost all VA specific information.
21233           Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
21234           all information are preserved through gst_buffer_copy() since the latter
21235           does copy metadata (qdata in this case).
21236
21237 2013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21238
21239         * gst-libs/gst/vaapi/Makefile.am:
21240         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
21241         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
21242         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
21243         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
21244         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
21245         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
21246           videobuffer: wrap video meta into a surface buffer.
21247           Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
21248           no longer necessary but for compatibility with GStreamer 0.10 APIs or users
21249           expecting a GstSurfaceBuffer like Clutter.
21250
21251 2013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21252
21253         * gst-libs/gst/vaapi/Makefile.am:
21254         * gst-libs/gst/vaapi/gstvaapivideometa.c:
21255         * gst-libs/gst/vaapi/gstvaapivideometa.h:
21256           videobuffer: add video meta information.
21257           Add new GstVaapiVideoMeta object that holds all information needed to
21258           convey gst-vaapi specific data as a GstBuffer.
21259
21260 2013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21261
21262         * gst/vaapi/gstvaapidecode.c:
21263           vaapidecode: fix calculation of the time-out value.
21264           Fix calculation of the time-out value for cases where no VA surface is
21265           available for decoding. In this case, we need to wait until downstream
21266           sink consumed at least one surface. The time-out was miscalculated as
21267           it was always set to <current-time> + one second, which is not suitable
21268           for streams with larger gaps.
21269
21270 2013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21271
21272         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21273           decoder: always use the calculated presentation timestamp.
21274           Use PTS value computed by the decoder, which could also be derived from
21275           the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
21276           the original one was miscomputed or only represented a DTS instead.
21277
21278 2013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21279
21280         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21281           h264: don't create sub-buffer for slice data.
21282
21283 2013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21284
21285         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21286           decoder: create new context when encoded resolution changes.
21287           Create a new VA context if the encoded surface size changes because we
21288           need to keep the underlying surface pool until the last one was released.
21289           Otherwise, either of the following cases could have happened: (i) release
21290           a VA surface to an inexistent pool, or (ii) release VA surface to an
21291           existing surface pool, but with different size.
21292
21293 2013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21294
21295         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21296           mpeg2: don't create sub-buffer for slice data.
21297           Avoid creating a GstBuffer for slice data. Rather, directly use the codec
21298           frame input buffer data. This is possible because the codec frame is valid
21299           until end_frame() where we submit the VA buffers for decoding. Anyway, the
21300           slice data buffer is copied into the VA buffer when it is created.
21301
21302 2013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21303
21304         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21305           mpeg2: minor clean-ups.
21306           Drop explicit initialization of most fields that are implicitly set to
21307           zero. Remove some useless checks for NULL pointers.
21308
21309 2013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21310
21311         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21312           mpeg2: optimize scan for the second start code.
21313           Optimize scan for the second start code, on the next parse() call so that
21314           to avoid scanning again earlier bytes where we didn't find any start code.
21315
21316 2013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21317
21318         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21319           mpeg2: use sequence_display_extension() to compute PAR.
21320           Also compute pixel-aspect-ratio from sequence_display_extension(),
21321           should it exist in the bitstream.
21322
21323 2013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21324
21325         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21326           mpeg2: handle sequence_display_extension().
21327
21328 2012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21329
21330         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21331           mpeg2: implement {start,end}_frame() hooks.
21332           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
21333           that to create new VA context earlier and submit VA pictures to the
21334           HW for decoding as soon as possible. i.e. don't wait for the next
21335           frame to start decoding the previous one.
21336
21337 2012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21338
21339         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21340           mpeg2: parse slice() header earlier.
21341           Parse slice() header and first macroblock position earlier in _parse()
21342           function instead of waiting for the _decode() stage. This doesn't change
21343           anything but readability.
21344
21345 2012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21346
21347         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21348           mpeg2: add codec specific decoder unit.
21349           Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
21350           GstMpegVideoPacket and additional parsed header info. Besides, we now
21351           parse as early as in the _parse() function so that to avoid un-necessary
21352           creation of sub-buffers in _decode() for video packets that are not slices.
21353
21354 2012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21355
21356         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21357         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21358         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21359         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21360           decoder: introduce lists of units to decode before/after frame.
21361           Theory of operations: all units marked as "slice" are moved to the "units"
21362           list. Since this list only contains slice data units, the prev_slice pointer
21363           was removed. Besides, we now maintain two extra lists of units to be decoded
21364           before or after slice data units.
21365           In particular, all units in the "pre_units" list will be decoded before
21366           GstVaapiDecoder::start_frame() is called and units in the "post_units"
21367           list will be decoded after GstVaapiDecoder::end_frame() is called.
21368
21369 2013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21370
21371         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21372         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21373           decoder: drop useless checks for codec objects.
21374           Codec objects are used internally only and they are bound to be created
21375           with a valid GstVaapiDecoder object.
21376
21377 2012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21378
21379         * gst/vaapi/gstvaapidecode.c:
21380           vaapidecode: use GST_ERROR to print error messages.
21381
21382 2012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21383
21384         * gst/vaapi/gstvaapidecode.c:
21385           vaapidecode: avoid double release of frame on error.
21386           Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
21387           was already called before and it returned an error. In that case, we were
21388           releasing the frame again, thus leading to a "double-free" condition.
21389
21390 2012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21391
21392         * .gitmodules:
21393         * autogen.sh:
21394         * configure.ac:
21395         * ext/Makefile.am:
21396         * ext/videoutils:
21397         * gst-libs/gst/Makefile.am:
21398         * gst-libs/gst/vaapi/Makefile.am:
21399         * gst-libs/gst/video/Makefile.am:
21400         * gst/vaapi/Makefile.am:
21401           Add videoutils submodule for GstVideoDecoder APIs.
21402
21403 2012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21404
21405         * configure.ac:
21406           configure: check for GstVideoDecoder API.
21407           GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
21408           this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
21409           parties may either use upstream git 0.10 branch or backport the necessary support
21410           for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
21411
21412 2012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21413
21414         * docs/reference/libs/libs.core.types:
21415           docs: remove obsolete gst_vaapi_surface_proxy_get_type().
21416           GstVaapiSurfaceProxy is no longer based on the GType system.
21417
21418 2012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21419
21420         * docs/reference/libs/libs-sections.txt:
21421           docs: fix entries for GstVaapiSurfaceProxy.
21422
21423 2012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21424
21425         * NEWS:
21426           NEWS: updates.
21427
21428 2012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21429
21430         * configure.ac:
21431         * gst-libs/gst/vaapi/Makefile.am:
21432           Bump library major version.
21433           Increase library major so that to cope with API/ABI incompatible changes
21434           since 0.4.x series and avoid user issues.
21435
21436 2012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21437
21438         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21439           surfaceproxy: minor clean-ups.
21440
21441 2012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21442
21443         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21444         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21445         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21446           surfaceproxy: drop accessors to obsolete attributes.
21447           Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
21448           VA surface. i.e. drop any other attribute like timestamp, duration,
21449           interlaced or top-field-first.
21450
21451 2012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21452
21453         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21454         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21455         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21456         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21457         * gst/vaapi/gstvaapidecode.c:
21458           decoder: maintain decoded frames as GstVideoCodecFrame objects.
21459           Maintain decoded surfaces as GstVideoCodecFrame objects instead of
21460           GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
21461           the strict minimum: a context and a surface.
21462
21463 2012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21464
21465         * gst/vaapi/gstvaapidecode.c:
21466           vaapidecode: output all decoded frames as soon as possible.
21467           Make sure to push all decoded frames downstream as soon as possible.
21468           This makes sure we don't need to wait for a new frame to be ready to
21469           be decoded before receiving new decoded frames.
21470           This also separates the decode process and the output process. The latter
21471           could be moved to a specific GstTask later on.
21472
21473 2012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21474
21475         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21476         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21477           decoder: add gst_vaapi_decoder_get_frame() API.
21478           Add new gst_vaapi_decoder_get_frame() function meant to be used with
21479           gst_vaapi_decoder_decode(). The purpose is to return the next decoded
21480           frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
21481           as the user-data object.
21482
21483 2012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21484
21485         * gst/vaapi/gstvaapipostproc.c:
21486           vaapipostproc: use GstBuffer flags for TFF.
21487           Determine whether the buffer represents the top-field only by checking for
21488           the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
21489           flag. Also trust "interlaced" caps to determine whether the input frame
21490           is interleaved or not.
21491
21492 2012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21493
21494         * gst/vaapi/gstvaapipostproc.c:
21495           vaapipostproc: handle video sub-buffers.
21496           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
21497           for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
21498
21499 2012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21500
21501         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21502           h264: optimize initialization process of decoder units.
21503           Decoder units were zero-initialized, including the SPS/PPS/slice headers.
21504           The latter don't require zero-initialization since the codecparsers/ lib
21505           will do so for key variables already. This is not a great value per se but
21506           at least it makes it possible to check whether the default initialization
21507           decisions made in the codecparsers/ lib were right or not.
21508           This can be reverted if this exposes too many issues.
21509
21510 2012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21511
21512         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21513           h264: minor clean-ups.
21514           Drop explicit initialization of most fields that are implicitly set to
21515           zero. Drop helper macros for casting to GstVaapiPictureH264 or
21516           GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
21517
21518 2012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21519
21520         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21521           h264: drop GstVaapiSliceH264 object.
21522           Use standard GstVaapiSlice object from now on since we already have
21523           parsed and recorded the slice headers (GstH264SliceHdr decode units).
21524
21525 2012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21526
21527         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21528           h264: detect new pictures from decode-units.
21529           Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
21530           of assuming frame boundaries when first_mb_in_slice is zero.
21531
21532 2012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21533
21534         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21535           h264: implement {start,end}_frame() hooks.
21536           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
21537           that to create new VA context earlier and submit VA pictures to the
21538           HW for decoding as soon as possible. i.e. don't wait for the next
21539           frame to start decoding the previous one.
21540
21541 2012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21542
21543         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21544           h264: optimize scan for the second start code.
21545           Optimize scan for the second start code, on the next parse() call so that
21546           to avoid scanning again earlier bytes where we didn't find any start code.
21547
21548 2012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21549
21550         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21551           h264: add codec specific decoder unit.
21552           Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
21553           NAL unit header (GstH264NalUnit) and additional parsed header info.
21554           Besides, we now parse headers as early as in the _parse() function so
21555           that to avoid un-necessary creation of sub-buffers in _decode() for
21556           NAL units that are not slices.
21557           This is a performance win by ~+1.1% only.
21558
21559 2012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21560
21561         * gst/vaapi/gstvaapisink.c:
21562           vaapisink: handle sub video-buffers.
21563           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
21564           for non raw YUV cases. Make sure vaapisink now understands those buffers.
21565
21566 2012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21567
21568         * gst/vaapi/gstvaapidecode.c:
21569           vaapidecode: use gst_vaapi_decoder_get_codec_state().
21570           Directly use the GstVideoCodecState associated with the VA decoder
21571           instead of parsing caps again.
21572           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21573           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21574
21575 2012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21576
21577         * gst/vaapi/gstvaapidecode.c:
21578           vaapidecode: use more standard helpers.
21579           Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
21580           in more places.
21581
21582 2012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21583
21584         * gst/vaapi/gstvaapidecode.c:
21585         * gst/vaapi/gstvaapidecode.h:
21586           vaapidecode: move to GstVideoDecoder base class.
21587           Make vaapidecode derive from the standard GstVideoDecoder base element
21588           class. This simplifies the code to the strict minimum for the decoder
21589           element and makes it easier to port to GStreamer 1.x API.
21590           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21591           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21592
21593 2012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21594
21595         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21596           jpeg: initial port to new GstVaapiDecoder API
21597
21598 2012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21599
21600         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21601           vc1: initial port to new GstVaapiDecoder API
21602
21603 2012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21604
21605         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21606           h264: initial port to new GstVaapiDecoder API
21607
21608 2012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21609
21610         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21611           mpeg4: initial port to new GstVaapiDecoder API
21612
21613 2012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21614
21615         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21616           mpeg2: initial port to new GstVaapiDecoder API.
21617
21618 2012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21619
21620         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21621         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21622         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21623         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21624         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21625         * gst-libs/gst/vaapi/gstvaapiprofile.h:
21626           decoder: use GstVideoCodecState.
21627           Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
21628           it with a new gst_vaapi_decoder_get_codec_state() function. This makes
21629           it possible to drop picture size (width, height) information, framerate
21630           (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
21631           and interlace mode (is_interlaced field).
21632           This is a new API with backwards compatibility maintained. In particular,
21633           gst_vaapi_decoder_get_caps() is still available.
21634           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21635           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21636
21637 2012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21638
21639         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21640         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21641         * tests/test-decode.c:
21642         * tests/test-subpicture.c:
21643           decoder: update gst_vaapi_decoder_get_surface() semantics.
21644           Align gst_vaapi_decoder_get_surface() semantics with the rest of the
21645           API. That is, return a GstVaapiDecoderStatus and the decoded surface
21646           as a handle to GstVaapiSurfaceProxy in parameter.
21647           This is an API/ABI change.
21648
21649 2012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21650
21651         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21652           decoder: use standard helper functions.
21653           Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
21654           whenever necessary.
21655
21656 2012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21657
21658         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21659         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21660         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21661           decoder: expose new parse/decode API.
21662           Introduce new decoding process whereby a GstVideoCodecFrame is created
21663           first. Next, input stream buffers are accumulated into a GstAdapter,
21664           that is then passed to the _parse() function. The GstVaapiDecoder object
21665           accumulates all parsed units and when a complete frame or field is
21666           detected, that GstVideoCodecFrame is passed to the _decode() function.
21667           Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
21668           process was successful.
21669
21670 2012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21671
21672         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21673         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21674           decoder: add {start,end}_frame() hooks.
21675           The start_frame() hook is called prior to traversing all decode-units
21676           for decoding. The unit argument represents the first slice in the frame.
21677           Some codecs (e.g. H.264) need to wait for the first slice in order to
21678           determine the actual VA context parameters.
21679
21680 2012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21681
21682         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21683         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21684         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21685           decoder: add new GstVaapiDecoder API.
21686           Split decoding process into two steps: (i) parse incoming bitstreams
21687           into simple decoder-units until the frame or field is complete; and
21688           (ii) decode the whole frame or field at once.
21689           This is an ABI change.
21690
21691 2012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21692
21693         * gst-libs/gst/vaapi/Makefile.am:
21694         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21695         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21696           decoder: add new "decoder-frame" object.
21697           Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
21698           (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
21699           an extension to GstVideoCodecFrame for VA decoder purposes. It is available
21700           as the user-data member element.
21701           This is a libgstvaapi internal object.
21702
21703 2012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21704
21705         * gst-libs/gst/vaapi/Makefile.am:
21706         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21707         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21708           decoder: add new "decoder-unit" object.
21709           Introduce GstVaapiDecoderUnit which represents a fragment of the source
21710           stream to be decoded. For instance, a decode-unit will be a NAL unit for
21711           H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
21712           streams.
21713           This is a libgstvaapi internal object.
21714
21715 2012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21716
21717         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21718           Port GstVaapiFrameStore to GstVaapiMiniObject.
21719
21720 2012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21721
21722         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21723         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
21724         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21725         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21726         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21727           Port codec objects to GstVaapiMiniObject.
21728
21729 2012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21730
21731         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21732         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21733         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21734         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21735         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
21736         * gst/vaapi/gstvaapidecode.c:
21737         * gst/vaapi/gstvaapipluginbuffer.c:
21738         * tests/test-decode.c:
21739         * tests/test-subpicture.c:
21740           surfaceproxy: port to GstVaapiMiniObject.
21741           GstVaapiSurfaceProxy does not use any particular functionality from
21742           GObject. Actually, it only needs a basic object type with reference
21743           counting.
21744           This is an API and ABI change.
21745
21746 2012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21747
21748         * gst-libs/gst/vaapi/Makefile.am:
21749         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
21750         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
21751           Add GstVaapiMiniObject.
21752           Introduce a new reference counted object that is very lightweight and
21753           also provides flags and user-data functionalities. Initialization and
21754           finalization times are reduced by up to a factor 5x vs GstMiniObject
21755           from GStreamer 0.10 stack.
21756           This is a libgstvaapi internal object.
21757
21758 2012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21759
21760         * tests/Makefile.am:
21761         * tests/test-decode.c:
21762         * tests/test-mpeg4.c:
21763         * tests/test-mpeg4.h:
21764           tests: add test for MPEG-4:2 decoding.
21765
21766 2012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21767
21768         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21769           h264: initialize VA context before allocating the first slice.
21770           Fix decode_slice() to ensure a VA context exists prior to creating a
21771           new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
21772           context ID. i.e. the latter was not initialized, thus causing failures
21773           on Cedar Trail for example.
21774
21775 2012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
21776
21777         * configure.ac:
21778           configure: install plugin elements in GST_PLUGIN_PATH, if set.
21779           If GST_PLUGIN_PATH environment variable exists and points to a valid
21780           directory, then use it as the system installation path for gst-vaapi
21781           plugin elements.
21782           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21783
21784 2012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21785
21786         * configure.ac:
21787           configure: downgrade glib required version to 2.28.
21788
21789 2012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21790
21791         * gst-libs/gst/vaapi/glibcompat.h:
21792         * gst/vaapi/gstvaapi.c:
21793           libs: fix compatibility with glib 2.28.
21794           Always prefer non deprecated APIs by default and provide compatibility
21795           glue for older glib versions when necessary.
21796
21797 2012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21798
21799         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21800         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21801         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
21802         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
21803           libs: use glib >= 2.32 semantics for mutexes.
21804           Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
21805           and termination. Basically, the new mutex objects can be used as static
21806           mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
21807
21808 2012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21809
21810         * gst-libs/gst/vaapi/Makefile.am:
21811           libs: only export gst_vaapi_*() symbols.
21812           This fixes symbol clashes between the gst-vaapi built-in codecparsers/
21813           library and the system-provided one, mainly used by videoparses/. Now,
21814           only symbols with the gst_vaapi_* prefix will be exported, if they are
21815           not marked as "hidden" to libgstvaapi.
21816
21817 2012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21818
21819         * gst/vaapi/gstvaapiuploader.c:
21820           vaapiupload: reset direct-rendering to zero when changing caps.
21821           Make sure to reset direct-rendering flag to zero when caps are changed,
21822           and only derive it to one when the next checks succeed.
21823
21824 2012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21825
21826         * gst/vaapi/gstvaapiupload.c:
21827           vaapiupload: fix sink caps to report the supported set of YUV caps.
21828           Try to allocate the GstVaapiUploader helper object prior to listing the
21829           supported image formats. Otherwise, only a single generic caps is output
21830           with no particular pixel format referenced in there.
21831
21832 2012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
21833
21834         * gst/vaapi/gstvaapiupload.c:
21835         * gst/vaapi/gstvaapiupload.h:
21836           vaapiupload: use new GstVaapiUploader helper.
21837           Use GstVaapiUploader helper that automatically handles direct rendering
21838           mode, thus making the "direct-rendering" property obsolete and hence it
21839           is now removed.
21840           The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
21841           really well supported and it could actually trigger degraded performance.
21842           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21843
21844 2012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21845
21846         * gst/vaapi/gstvaapisink.c:
21847         * gst/vaapi/gstvaapiuploader.c:
21848         * gst/vaapi/gstvaapiuploader.h:
21849           vaapisink: compute and expose the supported set of YUV caps.
21850           Make vaapisink expose only the set of supported caps for raw YUV buffers.
21851           Add gst_vaapi_uploader_get_caps() helper function to determine the set
21852           of supported YUV caps as source (for images). This function actually
21853           tries to zero and upload each image to a 64x64 test surface. Of course,
21854           this relies on VA drivers to not claim success if vaPutImage() is not
21855           correctly supported.
21856
21857 2012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21858
21859         * NEWS:
21860         * gst/vaapi/Makefile.am:
21861         * gst/vaapi/gstvaapisink.c:
21862         * gst/vaapi/gstvaapisink.h:
21863         * gst/vaapi/gstvaapiuploader.c:
21864         * gst/vaapi/gstvaapiuploader.h:
21865           vaapisink: add support for raw YUV buffers.
21866           Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
21867           It is up to the caller to negotiate source caps (for images) and output
21868           caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
21869           to help decide between the creation of a GstVaapiVideoBuffer or a regular
21870           GstBuffer on sink pads.
21871           Signed-off-by: Zhao Halley <halley.zhao@intel.com>
21872           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21873
21874 2012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21875
21876         * gst-libs/gst/vaapi/gstvaapiimage.c:
21877           image: fix GstVaapiImage map and unmap.
21878           Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
21879           structure correctly filled in if the image was already mapped.
21880           Likewise, make gst_vaapi_image_unmap() return TRUE if the image
21881           was already unmapped.
21882
21883 2012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
21884
21885         * NEWS:
21886         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
21887           videobuffer: fix memory leak for surface and image.
21888           Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
21889           thus resulting on actual memory leak of GstVaapiImage when using them
21890           for downloads/uploads from VA surfaces and more specifically surfaces
21891           when the pipeline is shutdown. i.e. vaTerminate() was never called
21892           because the resources were not unreferenced, and thus not deallocated
21893           in the end.
21894           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21895
21896 2012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21897
21898         * NEWS:
21899           NEWS: updates.
21900
21901 2012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21902
21903         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21904           h264: fix picture size in macroblocks.
21905           The picture size signalled by sps->{width,height} is the actual size with
21906           cropping applied, not the original size derived from pic_width_in_mbs_minus1
21907           and pic_height_in_map_units_minus1. VA driver expects that original size,
21908           uncropped.
21909           There is another issue pending: frame cropping information needs to be
21910           taken care of.
21911
21912 2012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21913
21914         * gst-libs/gst/codecparsers/Makefile.am:
21915           codecparsers: always build parserutils first.
21916           Fix commit 18245b4 so that to link and build parserutils.[ch] first.
21917           This is needed since that's the common dependency for actual codec
21918           parsers (gstvc1parser.c for instance).
21919
21920 2012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21921
21922         * gst-libs/gst/codecparsers/Makefile.am:
21923           codecparsers: always build the VC-1 parser library.
21924           ... this is useful to make sure pixel-aspect-ratio and framerate
21925           information are correctly parsed since we have no means to detect
21926           that at configure time.
21927
21928 2012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21929
21930         * configure.ac:
21931         * gst-libs/gst/codecparsers/Makefile.am:
21932         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21933           mpeg2: fix PAR calculation from commit bd11bae.
21934           Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
21935           correct PAR values. While doing so, require a newer version of the
21936           bitstream parser library.
21937           Note: it may be necessary to also parse the Sequence_Display_Extension()
21938           header.
21939           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21940           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21941
21942 2012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21943
21944         * gst-libs/gst/vaapi/Makefile.am:
21945           Fix build with the GNU gold linker.
21946           In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
21947           and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
21948
21949 2012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
21950
21951         * configure.ac:
21952         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21953         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
21954         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
21955           wayland: port to 1.0 version of the protocol.
21956           This patch updates to relect the 1.0 version of the protocol. The main
21957           changes are the switch to wl_registry for global object notifications
21958           and the way that the event queue and file descriptor is processed.
21959           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21960
21961 2012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21962
21963         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21964           h264: fix incorrect integration of previous commit (4d31e1e).
21965           git am got confused somehow, though the end result doesn't change at
21966           all since we require both SPS and PPS to be parsed prior to decoding
21967           the first slice.
21968
21969 2012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21970
21971         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21972           h264: start decoding slices after first SPS/PPS activation.
21973           Only start decoding slices when at least one SPS and PPS got activated.
21974           This fixes cases when a source represents a substream of another stream
21975           and no SPS and PPS was inserted before the first slice of the generated
21976           substream.
21977
21978 2012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21979
21980         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21981           h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
21982           ... for interlaced streams. The short_ref[] and long_ref[] arrays may
21983           contain up to 32 fields but VA ReferenceFrames[] array expects up to
21984           16 reference frames, thus including both fields.
21985
21986 2012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21987
21988         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21989           h264: fix interlaced stream decoding with MMCO.
21990           Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
21991           is equal to 1, i.e. when memory management control operations are used. In
21992           particular, when field_pic_flag is set to 0, the new reference flags shall
21993           be applied to both fields.
21994
21995 2012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21996
21997         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21998           h264: add initial support for interlaced streams.
21999           Decoded frames are only output when they are complete, i.e. when both
22000           fields are decoded. This also means that the "interlaced" caps is not
22001           propagated to vaapipostproc or vaapisink elements. Another limitation
22002           is that interlaced bitstreams with MMCO are unlikely to work.
22003
22004 2012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22005
22006         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22007           h264: split remove_reference_at() into finer units.
22008           Split remove_reference_at() into a function that actually removes the
22009           specified entry from the short-term or long-term reference picture array,
22010           and a function that sets reference flags to the desired value, possibly
22011           zero. The latters marks the picture as "unused for reference".
22012
22013 2012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22014
22015         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22016           decoder: fix gst_vaapi_picture_new_field() object type.
22017           Fix gst_vaapi_picture_new_field() to preserve the original picture type.
22018           e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
22019           shall generate a GstVaapiPictureH264 object.
22020
22021 2012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22022
22023         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22024           h264: add picture structure for reference picture marking process.
22025           Introduce new `structure' field to the H.264 specific picture structure
22026           so that to simplify the reference picture marking process. That local
22027           picture structure is derived from the original picture structure, as
22028           defined by the syntax elements field_pic_flag and bottom_field_flag.
22029
22030 2012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22031
22032         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22033           h264: introduce new frame store structure.
22034           The frame store represents a Decoded Picture Buffer entry, which can
22035           hold up to two fields. So far, the frame store is only used to hold
22036           full frames.
22037
22038 2012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22039
22040         * ext/codecparsers:
22041           codecparsers: update to gst-vaapi-rebased commit 73d6aab.
22042           73d6aab h264: fix rbsp_more_data() implementation
22043           25d04cf h264: fix error code for invalid size parsed in SPS
22044           84798e5 fix FSF address
22045
22046 2012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22047
22048         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22049           h264: minor clean-ups.
22050           Move DPB flush up if the current picture to decode is an IDR. Besides,
22051           don't bother to check for IDR pictures in dpb_add() function since an
22052           explicit DPB flush was already performed in this case.
22053
22054 2012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22055
22056         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22057           h264: simplify reference picture marking process.
22058           ... to build the short_ref[] and long_ref[] lists from the DPB, instead
22059           of maintaining them separately. This avoids refs/unrefs while making it
22060           possible to generate the list based on the actual picture structure.
22061           This also ensures that the list of generated ReferenceFrames[] actually
22062           matches what reference frames are available in the DPB. i.e. short_ref[]
22063           and long_ref[] entries are implied from the DPB, so there is no risk of
22064           having "dangling" references.
22065
22066 2012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22067
22068         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22069           h264: introduce per-field POC in GstVaapiPictureH264.
22070           Use the POC member available in the GstVaapiPicture base class and
22071           get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
22072           and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
22073           initialized to INT_MAX, so that to simplify picture POC calculation
22074           for non frame pictures.
22075
22076 2012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22077
22078         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22079           h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
22080           Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
22081           reference bits, thus simplifying the reference picture marking process
22082           to only track a single set of reference flags. Also introduce a new
22083           long_term_frame_idx member.
22084
22085 2012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22086
22087         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22088           h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
22089
22090 2012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22091
22092         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22093           h264: fill in GstVaapiPicture structure.
22094           ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
22095
22096 2012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22097
22098         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22099           h264: add vaapi_fill_picture() helper.
22100           Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
22101           to VAPictureH264 structure. This is preparatory work to get rid of the
22102           local VAPictureH264 member in GstVaapiPictureH264.
22103
22104 2012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22105
22106         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22107           h264: fix activation order of picture and sequence parameters.
22108           Delay ensure_context() until we actually need a VA context for allocating
22109           new VA surfaces, and then GstVaapiPictures, but also when a real activation
22110           of a new picture parameter set occurs, thus also implying an activation
22111           of the related sequence parameter set.
22112           The most important thing was to drop the global pps and sps pointers since
22113           they may not have matched the currently activated picture parameter or
22114           sequence parameter sets at the specified decode point.
22115           Anoter positive side-effect is that this cleans up all occurrences of
22116           decode_current_picture() to only keep those useful in decode_picture(),
22117           before a new picture is allocated, or in decode_sequence_end() when
22118           an end-of-stream or end-of-sequence condition occurred.
22119
22120 2012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22121
22122         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22123           h264: fix scaling list generation.
22124           ... aka fix regression from efaab79. In particular, ScalingList8x8[]
22125           array was partially copied to the VAIQMatrixBufferH264. While we are
22126           at it, also improve bounds checking and avoid copying 8x8 scaling
22127           lists if transform_8x8_mode_flag is set to 0.
22128
22129 2012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22130
22131         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22132           h264: fix detection of picture boundaries.
22133           Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
22134           unit of a primary coded picture.
22135
22136 2012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22137
22138         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22139           h264: optimize handling of scaling lists.
22140           Don't copy scaling lists twice to an intermediate state. Rather, directly
22141           use the scaling lists from GstH264PPS since they would match those provided
22142           by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
22143           available in the bitstream.
22144
22145 2012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22146
22147         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22148           h264: simplify code when MMCO is 5.
22149           Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
22150           is now updated accordingly to the standard. Besides, MMCO = 5 specific
22151           operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
22152
22153 2012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22154
22155         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22156           h264: fix MMCO-based reference picture marking process.
22157           Fix adaptive memory control decoded reference picture marking process
22158           implementation for operations 2 to 6, thus also fixing support for
22159           long-term reference pictures.
22160
22161 2012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22162
22163         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22164           h264: move MMCO handlers out of the loop (cosmetics).
22165           This change only splits each individual MMCO handler into several functions
22166           dedicated for each operation. This is needed to perform further work later
22167           on.
22168
22169 2012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22170
22171         * Makefile.am:
22172           debian: fix make dist for packaging.
22173           bzip2 tarballs are now used, so update the deb.upstream dependencies
22174           to include dist-bzip2 instead of plain old dist, and use the correct
22175           tar extract options to handle that format.
22176
22177 2012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22178
22179         * configure.ac:
22180           configure: generate bzip2 tarballs in ustar format by default.
22181
22182 2012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22183
22184         * configure.ac:
22185           configure: bump glib required version to 2.31.2.
22186           Use new Thread API. In particular, g_mutex_init() and g_cond_init()
22187           rather than g_mutex_new() and g_cond_new() respectively.
22188
22189 2012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
22190
22191         * gst/vaapi/gstvaapidecode.c:
22192         * gst/vaapi/gstvaapidecode.h:
22193           vaapidecode: adopt non-deprecrated glib locking primitive pattern.
22194           The use of heap allocated GMutex/GCond is deprecated. Instead place them
22195           inside the structure they are locking.
22196           These changes switch to use g_mutex_init/g_cond_init rather than the heap
22197           allocation functions.
22198           Because we cannot test for a NULL pointer for the GMutex/GCond we must
22199           initialise inside the GObject _init function and clear inside the _finalize
22200           which is guaranteed to only be called once and after the object is no longer
22201           in use.
22202
22203 2012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22204
22205         * gst/vaapi/gstvaapidecode.c:
22206           vaapidecode: fix compiler warnings.
22207           Don't care of the return value for gst_vaapi_decoder_put_buffer()
22208           during destruction of the element. Don't print out (uninitialised)
22209           error code when allocation of video buffer failed.
22210
22211 2012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22212
22213         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22214           h264: add flag to compile with strict DPB ordering mode.
22215           Allow build with strict DPB ordering mode whereby evicted entries
22216           are replaced by the next entries, in order instead of optimizing
22217           it away with the last entry in the DPB.
22218           This is only useful for debugging purpose, against a reference SW
22219           decoder for example.
22220
22221 2012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22222
22223         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22224           h264: drop extra code covered by built-in codecparsers.
22225           GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
22226           a newer version of codecparsers/ are used if the system provided one is
22227           now recent enough to have those required extensions.
22228
22229 2012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22230
22231         * gst-libs/gst/codecparsers/Makefile.am:
22232           codecparsers: fix generation of symlinks.
22233           Try to improve dependencies while generating symlinks to externally
22234           maintained copy of codecparsers (derived from upstream git master
22235           tree).
22236
22237 2012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22238
22239         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22240           vc1: use framerate information from bitstream parser.
22241
22242 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22243
22244         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22245           vc1: use pixel-aspect-ratio from bitstream parser.
22246           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22247           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22248
22249 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22250
22251         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22252           mpeg2: use pixel-aspec-ratio information from bitstream parser.
22253           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22254           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22255
22256 2012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22257
22258         * configure.ac:
22259         * gst-libs/gst/codecparsers/Makefile.am:
22260           codecparsers: h264: use submodule sources.
22261           Use newer sources from the codecparsers/ submodule for
22262           - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
22263           - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
22264
22265 2012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22266
22267         * .gitignore:
22268         * configure.ac:
22269         * gst-libs/gst/codecparsers/Makefile.am:
22270         * gst-libs/gst/codecparsers/gstjpegparser.c:
22271         * gst-libs/gst/codecparsers/gstjpegparser.h:
22272         * gst-libs/gst/vaapi/Makefile.am:
22273           codecparsers: jpeg: use submodule sources.
22274
22275 2012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22276
22277         * .gitmodules:
22278         * Makefile.am:
22279         * autogen.sh:
22280         * configure.ac:
22281         * ext/Makefile.am:
22282         * ext/codecparsers:
22283           Add codecparsers submodule.
22284
22285 2012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22286
22287         * .gitignore:
22288           .gitignore: updates.
22289
22290 2012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22291
22292         * autogen.sh:
22293           autogen: fix check for gtkdocize and autoreconf.
22294           If gtkdocize or autoreconf programs were not found, then the autogen.sh
22295           script would fail to report that correctly because test -z was not passed
22296           any argument (empty string "" in this case).
22297
22298 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22299
22300         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22301           h264: use pixel-aspect-ratio from SPS header.
22302           Propagate pixel-aspect-ratio determined by the GStreamer codecparser
22303           from the sequence headers.
22304           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22305           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22306
22307 2012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22308
22309         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22310           h264: add decode_nalu() helper function.
22311           Split decode_buffer() into the core infrastructure that determines
22312           the NAL units contained in the adapter and the actual function that
22313           decodes the NAL unit.
22314
22315 2012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22316
22317         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22318           h264: fix end-of-stream conditions (flush).
22319           Decode pending data in the adapter prior to processing the actual
22320           code for end-of-stream.
22321
22322 2012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22323
22324         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22325           mpeg2: add decode_packet() helper function.
22326           Split decode_buffer() into the core infrastructure that determines
22327           the packets contained in the adapter and the actual function that
22328           decodes the packet data.
22329
22330 2012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22331
22332         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22333           mpeg2: fix end-of-stream conditions (flush).
22334           Decode pending data in the adapter prior to processing the actual
22335           code for end-of-stream. Initial code from Feng Yuan.
22336
22337 2012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22338
22339         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22340           mpeg2: fix memory leak of empty packets.
22341           Fix memory leakage of empty packets, i.e. packets that only contain
22342           the start code prefix. In particular, free empty user-data packets.
22343           Besides, the codec parser will already fail gracefully if the packet
22344           to parse does not have the minimum required size. So, we can also
22345           completely drop the block of code that used to handle packets of size 4
22346           (including the start code).
22347
22348 2012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22349
22350         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22351           mpeg2: fix return value for "no-data" conditions.
22352           Fix return value when the second scan for start code fails. This means
22353           there is not enough data to determine the full extents of the current
22354           packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
22355           in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
22356
22357 2012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22358
22359         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22360           decoder: refine semantics of gst_vaapi_decoder_put_buffer().
22361           Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
22362           buffer is passed on. An empty buffer is a buffer with a NULL data pointer
22363           or with a size equals to zero. In this case, that buffer is simply
22364           skipped and the function returns TRUE. A NULL buffer argument still
22365           marks the end-of-stream.
22366
22367 2012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22368
22369         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22370         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22371           decoder: drop unused functions.
22372
22373 2012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
22374
22375         * gst/vaapi/gstvaapidecode.c:
22376           vaapidecode: flush buffers when receiving EOS.
22377           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22378
22379 2012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22380
22381         * debian.upstream/Makefile.am:
22382           debian: fix make dist for packaging.
22383
22384 2012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22385
22386         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
22387         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22388           wayland: cosmetics (remove tabs).
22389
22390 2012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
22391
22392         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22393           wayland: add support for windowed mode.
22394           Rather than always making the surface fullscreen instead implement the
22395           set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
22396           fullscreen on not depending on that.
22397           Reviewed-by: Joe Konno <joe.konno@intel.com>
22398           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22399
22400 2012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22401
22402         * configure.ac:
22403           Bump version for development.
22404
22405 2012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22406
22407         * README:
22408         * configure.ac:
22409           Fix and document build dependencies better.
22410
22411 2012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22412
22413         * debian.upstream/control.in:
22414           debian: fix GStreamer build dependencies.
22415
22416 2012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22417
22418         * configure.ac:
22419         * debian.upstream/control.in:
22420           debian: fix Wayland build dependencies.
22421
22422 2012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22423
22424         * debian.upstream/control.in:
22425           debian: fix conditional build of packages.
22426           Make it still possible to build package even if one of the build dependencies
22427           for a specific video backend is not available.
22428
22429 2012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22430
22431         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22432         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22433           utils: drop unused GLX helpers.
22434           Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
22435           extensions since they are not used throughout gstreamer-vaapi.
22436
22437 2012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22438
22439         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22440           utils: fix build with <GL/glext.h> version >= 85.
22441           Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
22442           This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
22443           GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
22444           GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
22445           thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
22446           Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
22447           newer versions of the <GL/glext.h> header.
22448
22449 2012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22450
22451         * configure.ac:
22452           configure: update VA-API version requirements.
22453           VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
22454
22455 2012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22456
22457         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22458           h264: review and report errors accordingly.
22459           Use GST_ERROR() to report real errors instead of hiding them into
22460           GST_DEBUG().
22461
22462 2012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22463
22464         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22465           h264: exclusively use GstAdapter, drop sub-buffer hack.
22466           Maintaining the sub-buffer is rather suboptimal especially since we
22467           were also maintaining a GstAdapter. Now, we only use the GstAdapter
22468           thus requiring minor extra parsing when receiving avcC buffers.
22469
22470 2012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22471
22472         * README:
22473           README: updates.
22474
22475 2012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22476
22477         * NEWS:
22478           NEWS: updates.
22479
22480 2012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22481
22482         * debian.upstream/gstreamer-vaapi.install.in:
22483           debian: fix packaging on recent Ubuntu platforms.
22484           Use explicit GStreamer plugins path.
22485
22486 2012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22487
22488         * docs/reference/libs/libs-docs.xml.in:
22489         * docs/reference/libs/libs.core.types:
22490           docs: fix build for make dist.
22491
22492 2012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
22493
22494         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22495           wayland: set opaque region for YUV surface.
22496           This allows the compositor to optimize redraws and cull away changes
22497           obscured by the video surface.
22498           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22499
22500 2012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22501
22502         * configure.ac:
22503           configure: fix check for libva-glx and libva-drm.
22504
22505 2012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22506
22507         * gst-libs/gst/vaapi/glibcompat.h:
22508           glibcompat: add replacement for g_cond_wait_until().
22509
22510 2012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22511
22512         * gst/vaapi/gstvaapidecode.c:
22513         * gst/vaapi/gstvaapidownload.c:
22514         * gst/vaapi/gstvaapipostproc.c:
22515         * gst/vaapi/gstvaapisink.c:
22516         * gst/vaapi/gstvaapiupload.c:
22517           plugins: include "sysdeps.h" instead of "config.h".
22518
22519 2012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22520
22521         * gst-libs/gst/codecparsers/gstjpegparser.c:
22522           codecparsers: jpeg: add missing includes.
22523
22524 2012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22525
22526         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22527         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22528         * gst/vaapi/gstvaapidecode.c:
22529           vaapidecode: don't reset decoder if codec type is the same.
22530           Reset, i.e. destroy then create, the decoder in _setcaps() handler only
22531           if the underlying codec type actually changed. This makes it possible
22532           to be more tolerant with certain MPEG-2 streams that get parsed to
22533           form caps that are compatible with the previous state but minor changes
22534           to "codec-data".
22535
22536 2012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22537
22538         * gst/vaapi/gstvaapidecode.c:
22539           vaapidecode: simplify codec lookup from caps.
22540           Add new gst_vaapi_codec_from_caps() helper to determine codec type from
22541           the specified caps. Don't globally expose this function since this is
22542           really trivial and only used in the vaapidecode element.
22543
22544 2012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22545
22546         * gst/vaapi/gstvaapidecode.c:
22547         * gst/vaapi/gstvaapidecode.h:
22548           vaapidecode: improve "no free surface" conditions.
22549           Previously, vaapidecode would wait up to one second until a free surface
22550           is available, or it aborts decoding. Now, vaapidecode waits until the
22551           last decoded surface was to be presented, plus one second. Besides, end
22552           times are now expressed relative to the monotonic clock.
22553
22554 2012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22555
22556         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22557         * gst/vaapi/gstvaapidecode.c:
22558           decoder: propagate buffer duration downstream.
22559
22560 2012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22561
22562         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22563         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
22564           surfaceproxy: add "duration" property.
22565
22566 2012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22567
22568         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22569         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22570         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22571         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22572         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22573         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22574         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22575           decoder: cope with new GstVaapiContextInfo based API.
22576           Update decoders to report the maximum number of reference frames to use.
22577
22578 2012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22579
22580         * gst-libs/gst/vaapi/gstvaapicontext.c:
22581           context: JPEG codec does not need any reference frame.
22582
22583 2012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22584
22585         * gst-libs/gst/vaapi/gstvaapicontext.c:
22586         * gst-libs/gst/vaapi/gstvaapicontext.h:
22587           context: allow number of reference frames to be set.
22588           Make it possible to specify the maximum number of references to use within
22589           a single VA context. This helps reducing GPU memory allocations to the useful
22590           number of references to be used.
22591
22592 2012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22593
22594         * gst/vaapi/gstvaapipostproc.c:
22595           vaapipostproc: fix deinterlace-{mode,method} types definition.
22596
22597 2012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22598
22599         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22600           mpeg4: fix debug info for unsupported profile.
22601
22602 2012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22603
22604         * gst-libs/gst/vaapi/gstvaapicontext.c:
22605         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22606         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22607         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22608         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22609         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22610         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22611         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22612         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
22613         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
22614         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22615         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
22616         * gst-libs/gst/vaapi/gstvaapiimage.c:
22617         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
22618         * gst-libs/gst/vaapi/gstvaapiobject.c:
22619         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22620         * gst-libs/gst/vaapi/gstvaapisurface.c:
22621         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
22622         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22623         * gst-libs/gst/vaapi/gstvaapitexture.c:
22624         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22625         * gst-libs/gst/vaapi/gstvaapivalue.c:
22626         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
22627         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
22628         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
22629         * gst-libs/gst/vaapi/gstvaapivideopool.c:
22630         * gst-libs/gst/vaapi/gstvaapiwindow.c:
22631         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
22632         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22633         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22634         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22635           libs: fix build in strict ISO C mode.
22636
22637 2012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22638
22639         * gst/vaapi/gstvaapi.c:
22640         * gst/vaapi/gstvaapidecode.c:
22641         * gst/vaapi/gstvaapidownload.c:
22642         * gst/vaapi/gstvaapipostproc.c:
22643         * gst/vaapi/gstvaapisink.c:
22644         * gst/vaapi/gstvaapiupload.c:
22645           plugins: fix build in strict ISO C mode.
22646
22647 2012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22648
22649         * pkgconfig/gstreamer-vaapi-glx.pc.in:
22650         * pkgconfig/gstreamer-vaapi-x11.pc.in:
22651         * pkgconfig/gstreamer-vaapi.pc.in:
22652           pkgconfig: fix dependencies and slightly improve description.
22653           Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
22654           descriptions with clearer renderer names.
22655
22656 2012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
22657
22658         * gst/vaapi/gstvaapidecode.c:
22659           vaapidecode: acquire lock only if the mutex exists.
22660           When playback stops the GstVaapiDecode object is reset into a clean
22661           state. However, surfaces may still be referenced by library users and
22662           unreferencing them after the reset triggers an access to an unset mutex.
22663           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22664
22665 2012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22666
22667         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22668           decoder: drop extraneous return for void function.
22669
22670 2012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22671
22672         * gst-libs/gst/vaapi/gstvaapiimage.c:
22673           image: don't use (void *) pointer arithmetic.
22674
22675 2012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
22676
22677         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22678         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22679         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22680         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
22681         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
22682         * gst-libs/gst/vaapi/gstvaapiprofile.h:
22683         * gst-libs/gst/vaapi/gstvaapisurface.h:
22684         * gst-libs/gst/vaapi/gstvaapitypes.h:
22685         * gst/vaapi/gstvaapipostproc.h:
22686           Do not forward declare enums.
22687           Forward declaring enums is not allowed by the C standard and aborts
22688           compilation if the header file is included in a C++ project.
22689           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22690
22691 2012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22692
22693         * configure.ac:
22694           configure: fix check for VA/DRM API.
22695
22696 2012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22697
22698         * gst/vaapi/gstvaapisink.c:
22699           vaapisink: fix calculation of window size.
22700           If either dimension is out-of-bounds, then scale window to fit the
22701           display size, even if the output is to be rotated. Use the standard
22702           gst_video_sink_center_rect() function to center and scale the window
22703           wrt. the outer (display) bounds.
22704
22705 2012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
22706
22707         * gst/vaapi/gstvaapisink.c:
22708         * gst/vaapi/gstvaapisink.h:
22709           vaapisink: add video rotation support.
22710           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22711
22712 2012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22713
22714         * gst/vaapi/gstvaapipluginutil.h:
22715           pluginutils: add G_PRIMITIVE_SWAP() helper macro.
22716           This macro helps swapping variables while maintaining the correct underlying
22717           and primitive type.
22718
22719 2012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22720
22721         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22722           display: fix display aspect ratio when display is rotated.
22723
22724 2012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22725
22726         * configure.ac:
22727         * gst-libs/gst/vaapi/Makefile.am:
22728         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
22729         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
22730           display: fix physical display size when display is rotated.
22731
22732 2012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22733
22734         * gst-libs/gst/vaapi/gstvaapivalue.c:
22735           display: fix GstVaapiRotation enumeration of values.
22736
22737 2012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22738
22739         * docs/reference/libs/libs-docs.xml.in:
22740         * docs/reference/libs/libs-sections.txt:
22741         * gst-libs/gst/vaapi/Makefile.am:
22742         * gst-libs/gst/vaapi/gstvaapivideosink.c:
22743         * gst-libs/gst/vaapi/gstvaapivideosink.h:
22744         * gst/vaapi/gstvaapidecode.c:
22745         * gst/vaapi/gstvaapidownload.c:
22746         * gst/vaapi/gstvaapipostproc.c:
22747         * gst/vaapi/gstvaapisink.c:
22748         * gst/vaapi/gstvaapiupload.c:
22749           vaapisink: drop obsolete GstVaapiVideoSink interface.
22750           This interface was deprecated since 0.3.x series when the GstVideoContext
22751           interface was added to the main GStreamer APIs.
22752
22753 2012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22754
22755         * gst/vaapi/gstvaapisink.c:
22756         * gst/vaapi/gstvaapisink.h:
22757           vaapisink: automatically detect overlay rendering mode.
22758           Retain the VA surface until another surface is to be displayed only
22759           if VA display rendering mode is determined to be "overlay" mode.
22760
22761 2012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22762
22763         * gst/vaapi/gstvaapisink.c:
22764         * gst/vaapi/gstvaapisink.h:
22765           vaapisink: retain VA surface until another one is displayed.
22766           Keep VA surface proxy associated with the surface that is currently
22767           being displayed. This makes sure that surface is not released back
22768           to the pool of surfaces free to use for decoding. This is necessary
22769           with VA driver implementations that support rendering to an overlay
22770           pipe. Otherwise, there could be cases where we are decoding into a
22771           surface that is being displayed, hence some flickering.
22772
22773 2012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22774
22775         * gst/vaapi/gstvaapisink.h:
22776           vaapisink: fix build with older toolchains.
22777           Don't re-declare GstVaapiTexture if USE_GLX mode is set.
22778
22779 2012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22780
22781         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22782           display: partially revert 8ebe4d6.
22783           Don't try to fix up the initial values, this could make things worse.
22784           Simply assume the driver does not support the capability in this case.
22785
22786 2012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22787
22788         * tests/test-display.c:
22789           tests: dump VA display properties.
22790
22791 2012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22792
22793         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22794           display: fix validation process of properties during discovery.
22795           Some VA drivers (e.g. EMGD) can have completely random values for initial
22796           display attributes. So, try to improve the discovery process to check the
22797           initial display attribute values actually fall within valid bounds. If not,
22798           try to reset those to some sensible values like the default value reported
22799           through vaQueryDisplayAttributes().
22800
22801 2012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22802
22803         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22804         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22805           display: add color balance properties.
22806           Add support for hue, saturation, brightness and contrast attributes.
22807
22808 2012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22809
22810         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22811           display: initialize default attribute values.
22812           Ensure the display attribute is actually supported by trying to retrieve
22813           its current value during GstVaapiDisplay creation.
22814
22815 2012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22816
22817         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22818           display: raise "notify" for property changes.
22819
22820 2012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22821
22822         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22823         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22824           display: expose display attributes as GObject properties.
22825           Expose VA display "render-mode" and "rotation" attributes as standard
22826           GObject properties.
22827
22828 2012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22829
22830         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22831           display: install properties in batch.
22832           Use g_object_class_install_properties() to install GstVaapiDisplay properties.
22833           It is useful to maintain properties as GParamSpec so that to be able to raise
22834           "notify" signals by id instead of by name in the future.
22835
22836 2012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22837
22838         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22839           display: fix gst_vaapi_display_has_property().
22840           Append the "render-mode" and "rotation" properties, should they be supported
22841           by the underlying VA driver.
22842
22843 2012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
22844
22845         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22846         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22847         * gst-libs/gst/vaapi/gstvaapitypes.h:
22848         * gst-libs/gst/vaapi/gstvaapiutils.c:
22849         * gst-libs/gst/vaapi/gstvaapiutils.h:
22850         * gst-libs/gst/vaapi/gstvaapivalue.c:
22851         * gst-libs/gst/vaapi/gstvaapivalue.h:
22852           display: add support for rotation modes.
22853           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22854
22855 2012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22856
22857         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22858         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22859         * gst-libs/gst/vaapi/gstvaapitypes.h:
22860         * gst-libs/gst/vaapi/gstvaapivalue.c:
22861         * gst-libs/gst/vaapi/gstvaapivalue.h:
22862           display: add support for rendering modes.
22863           A rendering mode can be "overlay" or "texture"'ed blit.
22864           The former mode implies that a VA surface used for rendering can't be
22865           re-used right away for decoding, so the sink shall make provisions to
22866           retain the associated surface proxy until the next surface is to be
22867           displayed.
22868           The latter mode implies that the VA surface is implicitly copied to an
22869           intermediate backing store, or back buffer of a frame buffer, so the
22870           associated surface proxy can be disposed right away.
22871
22872 2012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22873
22874         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22875         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22876         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22877           display: add initial support for display attributes.
22878           The VA display attributes are mapped to properties so that to maintain the
22879           GStreamer terminology. Properties are to be identified by name, but internal
22880           functions are available to lookup the property by the actual VA display
22881           attribute type.
22882
22883 2012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22884
22885         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22886           jpeg: fix end-of-image (EOI) handler.
22887           decode_current_picture() was converted to return a gboolean instead
22888           of a GstVaapiDecoderStatus, so we were not getting out of the decode
22889           loop as expected, or could cause an error instead.
22890           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22891
22892 2012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22893
22894         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22895           mpeg2: include start code into VA slice data buffer.
22896           Integrate the start code prefix in the slice data buffer that is submitted
22897           to the hardware. VA-API specifies that slice_data_offset is the offset to
22898           the first byte of slice data. And, for MPEG-2, slice() data begins with
22899           the slice_start_code. Some VA driver implementations (EMGD) expect this.
22900
22901 2012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
22902
22903         * autogen.sh:
22904           autogen: fix configure script generation when srcdir != builddir.
22905           This patch allows for regenerating the configure script from a build
22906           directory that is not the actual source directory.
22907           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22908
22909 2012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
22910
22911         * configure.ac:
22912           configure: use new libtool syntax.
22913           This now requires libtool >= 2.2 to regenerate the configure script.
22914           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22915
22916 2012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
22917
22918         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22919           decoder: use g_object_notify_by_pspec().
22920           Use g_object_notify_by_pspec() instead of g_object_notify() so that to
22921           avoid a property name lookup. i.e. this makes notifications faster to
22922           the `vaapidecode' element.
22923           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22924
22925 2012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22926
22927         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22928           wayland: handle de-interlacing flags.
22929           VA/Wayland API was updated to allow flags for bob deinterlacing.
22930           More elaborated filters will require a complete VA/VPP pipeline.
22931
22932 2012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22933
22934         * gst-libs/gst/codecparsers/gstjpegparser.c:
22935           jpeg: fix default quantization tables.
22936           Two elements in the luminance quantization table were wrong. So,
22937           gst_jpeg_get_default_quantization_tables() now reconstructs tables
22938           in zig-zag order from the standard ones (Tables K.1 and K.2).
22939
22940 2012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22941
22942         * gst-libs/gst/codecparsers/gstjpegparser.c:
22943           jpeg: compute default Huffman tables.
22944           ... instead of having them pre-calculated. This saves around 1.5 KB
22945           of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
22946           to do more work. Though, the client application may have to call that
22947           function at most once, only.
22948
22949 2012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22950
22951         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22952           display: drop VAProfileNone entries from debug messages.
22953
22954 2012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
22955
22956         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22957           display: query for supported display attributes.
22958           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22959
22960 2012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
22961
22962         * gst-libs/gst/vaapi/gstvaapiutils.c:
22963         * gst-libs/gst/vaapi/gstvaapiutils.h:
22964           utils: add string_of_VADisplayAttributeType() helper.
22965           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22966
22967 2012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22968
22969         * gst/vaapi/gstvaapisink.c:
22970           vaapisink: handle VA/DRM API.
22971           This is not useful in practice but for raw performance evaluation when
22972           the sink is invoked with display=drm sync=false. fakesink could also be
22973           used though.
22974
22975 2012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22976
22977         * gst/vaapi/Makefile.am:
22978         * gst/vaapi/gstvaapipluginutil.c:
22979           plugins: add support for headless pipelines.
22980
22981 2012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22982
22983         * tests/Makefile.am:
22984         * tests/output.c:
22985         * tests/test-display.c:
22986         * tests/test-windows.c:
22987           tests: add support for headless decoding.
22988
22989 2012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22990
22991         * NEWS:
22992         * configure.ac:
22993         * debian.upstream/Makefile.am:
22994         * debian.upstream/control.in:
22995         * debian.upstream/libgstvaapi-drm.install.in:
22996         * gst-libs/gst/vaapi/Makefile.am:
22997         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22998         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22999         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
23000         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
23001         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
23002         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
23003         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
23004         * pkgconfig/Makefile.am:
23005         * pkgconfig/gstreamer-vaapi-drm.pc.in:
23006           Add initial support for VA/DRM.
23007
23008 2012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23009
23010         * configure.ac:
23011         * gst-libs/gst/vaapi/Makefile.am:
23012           Fix build without X11 (again).
23013           Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
23014           files list wrt. x11, glx and wayland backends.
23015
23016 2012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23017
23018         * configure.ac:
23019         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23020         * gst-libs/gst/vaapi/gstvaapicompat.h:
23021         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23022           jpeg: update to the latest VA-API changes (0.32.1+).
23023
23024 2012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23025
23026         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23027         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23028         * gst/vaapi/gstvaapisink.c:
23029           wayland: implement display ::get_size*() hooks.
23030
23031 2012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23032
23033         * gst/vaapi/gstvaapipluginutil.c:
23034           plugins: prefer X11 rendering over GLX.
23035           Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
23036           for rendering instead of texturing.
23037
23038 2012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
23039
23040         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23041           wayland: use scale fullscreen method.
23042           This makes the compositor scale the surface to fit and preserves aspect
23043           ratio.
23044           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23045
23046 2012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
23047
23048         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23049           wayland: respond to ping/pong protocol so we're not deemed unresponsive.
23050           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23051
23052 2012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23053
23054         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23055           wayland: fix double disconnect of display.
23056
23057 2012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23058
23059         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23060           wayland: mangle display name for cache lookups.
23061
23062 2012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23063
23064         * configure.ac:
23065         * debian.upstream/Makefile.am:
23066         * debian.upstream/control.in:
23067         * debian.upstream/libgstvaapi-wayland.install.in:
23068         * pkgconfig/Makefile.am:
23069         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
23070           wayland: add packaging files.
23071
23072 2012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23073
23074         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23075         * gst/vaapi/gstvaapipluginutil.c:
23076         * gst/vaapi/gstvaapisink.c:
23077         * pkgconfig/Makefile.am:
23078           Fix build without X11.
23079
23080 2012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23081
23082         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23083         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23084         * gst/vaapi/Makefile.am:
23085         * gst/vaapi/gstvaapipluginutil.c:
23086         * gst/vaapi/gstvaapisink.c:
23087           plugins: add support for Wayland.
23088
23089 2012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23090
23091         * tests/Makefile.am:
23092         * tests/output.c:
23093         * tests/test-display.c:
23094         * tests/test-windows.c:
23095           tests: add support for Wayland.
23096
23097 2012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23098
23099         * NEWS:
23100         * configure.ac:
23101         * gst-libs/gst/vaapi/Makefile.am:
23102         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23103         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
23104         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23105         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
23106         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23107         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
23108           Add initial support for VA/Wayland.
23109           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23110
23111 2012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23112
23113         * gst/vaapi/gstvaapipluginbuffer.c:
23114           plugins: fix creation of video buffer from surface proxy.
23115           Fix a regression introduced with commit 8ef490a.
23116
23117 2012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23118
23119         * gst/vaapi/gstvaapipluginbuffer.c:
23120         * gst/vaapi/gstvaapipluginutil.c:
23121           plugins: use new display types more.
23122           In particular, simplify gst_vaapi_reply_to_query() with display types.
23123           Likewise for creating new video buffers.
23124
23125 2012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23126
23127         * gst/vaapi/gstvaapidecode.c:
23128         * gst/vaapi/gstvaapidownload.c:
23129         * gst/vaapi/gstvaapipluginutil.c:
23130         * gst/vaapi/gstvaapipluginutil.h:
23131         * gst/vaapi/gstvaapipostproc.c:
23132         * gst/vaapi/gstvaapisink.c:
23133         * gst/vaapi/gstvaapiupload.c:
23134           plugins: fix display type selection and propagation.
23135           If vaapisink is in the GStreamer pipeline, then we shall allocate a
23136           unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
23137           queries from vaapidecode shall get a valid answer from vaapisink.
23138
23139 2012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23140
23141         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23142           display: fix destruction of mutex.
23143
23144 2012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23145
23146         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23147         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23148         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
23149         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23150         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23151         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
23152         * gst/vaapi/gstvaapipluginutil.c:
23153         * gst/vaapi/gstvaapipluginutil.h:
23154         * gst/vaapi/gstvaapisink.c:
23155           display: add display types.
23156           Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
23157           we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
23158           type to "any", and add a "display-type" attribute.
23159
23160 2012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23161
23162         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23163           display: use prefixed display names for cache lookups.
23164           This improves display name comparisons by always allocating a valid display
23165           name. This also helps to disambiguate lookups by name in the global display
23166           cache, should a new backend be implemented.
23167
23168 2012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23169
23170         * gst/vaapi/gstvaapipluginutil.h:
23171           plugins: declare helper functions as internal.
23172
23173 2012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23174
23175         * docs/reference/libs/libs-sections.txt:
23176         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23177         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23178         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
23179         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23180         * gst/vaapi/Makefile.am:
23181         * gst/vaapi/gstvaapidecode.c:
23182         * gst/vaapi/gstvaapidownload.c:
23183         * gst/vaapi/gstvaapipluginbuffer.c:
23184         * gst/vaapi/gstvaapipluginbuffer.h:
23185         * gst/vaapi/gstvaapipostproc.c:
23186         * gst/vaapi/gstvaapiupload.c:
23187           videobuffer: drop deprecated functions.
23188           Move video buffer creation routines to plugin elements. That exclusively
23189           uses *_typed_new*() variants.
23190
23191 2012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23192
23193         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23194         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23195           videobuffer: mark video buffer creation routines as deprecated.
23196           The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
23197           plugin elements. So deprecate any explicit creation routines that are not the
23198           new *_typed_new*() variants.
23199
23200 2012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23201
23202         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23203         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
23204         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
23205           videobuffer: factor out base and GLX implementations.
23206           Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
23207           This avoids duplication of code, and makes it possible to further implement
23208           generic video buffer creation routines that automatically map to base or GLX
23209           variants.
23210
23211 2012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23212
23213         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
23214           utils: fix gl_create_context() with parent context set.
23215           If GLX window was created from a foreign Display, then that same Display shall
23216           be used for subsequent glXMakeCurrent(). This means that gl_create_context()
23217           will now use the same Display that the parent, if available.
23218           This fixes cluttersink with the Intel GenX VA driver.
23219
23220 2012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23221
23222         * gst/vaapi/gstvaapidecode.c:
23223         * gst/vaapi/gstvaapidownload.c:
23224         * gst/vaapi/gstvaapipluginutil.c:
23225         * gst/vaapi/gstvaapipluginutil.h:
23226         * gst/vaapi/gstvaapipostproc.c:
23227         * gst/vaapi/gstvaapisink.c:
23228         * gst/vaapi/gstvaapiupload.c:
23229           pluginutils: improve automatic display type selection.
23230
23231 2012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23232
23233         * gst/vaapi/gstvaapipluginutil.c:
23234         * gst/vaapi/gstvaapipluginutil.h:
23235           pluginutils: cosmetics (indentation fixes).
23236
23237 2012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23238
23239         * configure.ac:
23240           configure: simplify video outputs summary.
23241
23242 2012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23243
23244         * configure.ac:
23245         * gst/vaapi/gstvaapipluginutil.c:
23246         * gst/vaapi/gstvaapipluginutil.h:
23247         * gst/vaapi/gstvaapisink.c:
23248         * gst/vaapi/gstvaapisink.h:
23249           configure: drop check for --enable-vaapisink-glx.
23250           vaapisink is now built with support for multiple display types, whenever
23251           they are enabled. The new "display" attribute is used to select a particular
23252           renderer.
23253
23254 2012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23255
23256         * configure.ac:
23257         * gst-libs/gst/vaapi/gstvaapicompat.h:
23258         * gst/vaapi/Makefile.am:
23259         * gst/vaapi/gstvaapidecode.c:
23260         * gst/vaapi/gstvaapidownload.c:
23261         * gst/vaapi/gstvaapipluginutil.c:
23262         * gst/vaapi/gstvaapipostproc.c:
23263         * gst/vaapi/gstvaapiupload.c:
23264         * tests/test-display.c:
23265           configure: drop check for --enable-vaapi-glx.
23266           This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
23267           support, or fallback to TFP+FBO if this API is not found. Now, we check for
23268           the VA/GLX API by default if --enable-glx is set. If this API is not found,
23269           we now default to use TFP+FBO.
23270           Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
23271           will be removed in the future. If GLX rendering is requested, then the VA/GLX
23272           API shall be used as it covers most usages. e.g. AMD driver can't render to
23273           an X pixmap yet.
23274
23275 2012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23276
23277         * tests/output.c:
23278           tests: allow GLX output, if available and selected.
23279
23280 2012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23281
23282         * tests/Makefile.am:
23283         * tests/output.c:
23284         * tests/output.h:
23285         * tests/test-decode.c:
23286         * tests/test-subpicture.c:
23287         * tests/test-surfaces.c:
23288           tests: use common display and window creation routines.
23289           Add new --output option to select the renderer. Use --list-outputs to
23290           print a list of supported renderers.
23291
23292 2012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23293
23294         * tests/Makefile.am:
23295           tests: move encoded bitstreams to libutils.la.
23296
23297 2012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23298
23299         * tests/Makefile.am:
23300           tests: build convenience library for common utilities.
23301
23302 2012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23303
23304         * tests/Makefile.am:
23305         * tests/test-display.c:
23306           tests: simplify build with various display options.
23307
23308 2012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23309
23310         * configure.ac:
23311           configure: improve checks for X11.
23312
23313 2012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23314
23315         * tests/Makefile.am:
23316           configure: fix previous commit for GLX deps.
23317
23318 2012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23319
23320         * configure.ac:
23321         * gst-libs/gst/vaapi/Makefile.am:
23322           configure: improve checks for GLX.
23323
23324 2012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23325
23326         * configure.ac:
23327         * gst-libs/gst/vaapi/gstvaapicompat.h:
23328         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23329         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
23330         * gst-libs/gst/vaapi/gstvaapiutils.h:
23331           Drop support for obsolete VA-API versions < 0.30.4.
23332
23333 2012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23334
23335         * configure.ac:
23336         * gst-libs/gst/Makefile.am:
23337         * gst-libs/gst/gstutils_version.h.in:
23338         * gst/vaapi/gstvaapisink.c:
23339           vaapisink: drop checks for new APIs used by default.
23340           GStreamer -base plugins >= 0.10.31 are now required, so the checks for
23341           new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
23342           are no longer necessary.
23343
23344 2012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23345
23346         * configure.ac:
23347           configure: cosmetics and some minor changes.
23348           - Better grouping of feature checks
23349           - Sort list of config files to generate
23350
23351 2012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23352
23353         * configure.ac:
23354         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23355         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
23356         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23357         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23358         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
23359         * gst-libs/gst/vaapi/gstvaapiutils.h:
23360         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
23361         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
23362           Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
23363
23364 2012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23365
23366         * gst-libs/gst/vaapi/Makefile.am:
23367         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
23368         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
23369           Drop obsolete GstVaapiTSB.
23370           It has been replaced with a GstAdapter and gst_adapter_prev_pts().
23371
23372 2012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23373
23374         * docs/reference/libs/libs-sections.txt:
23375           docs: add missing entries for the JPEG decoder.
23376
23377 2012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23378
23379         * configure.ac:
23380         * gst-libs/gst/vaapi/Makefile.am:
23381         * gst/vaapi/gstvaapidecode.c:
23382         * tests/test-decode.c:
23383         * tests/test-subpicture.c:
23384           Drop all references to USE_CODEC_PARSERS.
23385
23386 2012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23387
23388         * NEWS:
23389         * configure.ac:
23390         * docs/reference/libs/libs-sections.txt:
23391         * docs/reference/libs/libs.core.types:
23392         * gst-libs/gst/vaapi/Makefile.am:
23393         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
23394         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
23395         * gst/vaapi/gstvaapidecode.c:
23396         * gst/vaapi/gstvaapidecode.h:
23397         * tests/test-decode.c:
23398         * tests/test-subpicture.c:
23399           Drop FFmpeg-based decoders.
23400           GStreamer codecparsers-based decoders are the only supported decoders now.
23401           Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
23402
23403 2012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
23404
23405         * configure.ac:
23406         * debian.upstream/control.in:
23407           configure: bump glib required version to 2.28.
23408           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23409
23410 2012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
23411
23412         * gst/vaapi/gstvaapidecode.h:
23413         * gst/vaapi/gstvaapidownload.h:
23414         * gst/vaapi/gstvaapipostproc.h:
23415         * gst/vaapi/gstvaapisink.h:
23416         * gst/vaapi/gstvaapiupload.h:
23417           plugins: declare _get_type() functions as const.
23418           Declaring a function as const enables better optimization of calls to
23419           the function.
23420           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23421
23422 2012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
23423
23424         * gst/vaapi/gstvaapidecode.c:
23425         * gst/vaapi/gstvaapidownload.c:
23426         * gst/vaapi/gstvaapipostproc.c:
23427         * gst/vaapi/gstvaapisink.c:
23428         * gst/vaapi/gstvaapiupload.c:
23429           plugins: use g_clear_object() wherever applicable.
23430           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23431
23432 2012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
23433
23434         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23435         * gst-libs/gst/vaapi/gstvaapicontext.h:
23436         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23437         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
23438         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
23439         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
23440         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
23441         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
23442         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
23443         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23444         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
23445         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23446         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
23447         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
23448         * gst-libs/gst/vaapi/gstvaapiimage.h:
23449         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
23450         * gst-libs/gst/vaapi/gstvaapiobject.h:
23451         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
23452         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
23453         * gst-libs/gst/vaapi/gstvaapisurface.h:
23454         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
23455         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23456         * gst-libs/gst/vaapi/gstvaapitexture.h:
23457         * gst-libs/gst/vaapi/gstvaapivalue.h:
23458         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23459         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23460         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
23461         * gst-libs/gst/vaapi/gstvaapivideopool.h:
23462         * gst-libs/gst/vaapi/gstvaapivideosink.h:
23463         * gst-libs/gst/vaapi/gstvaapiwindow.h:
23464         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
23465         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
23466           libs: declare _get_type() functions as const.
23467           Declaring a function as const enables better optimization of calls
23468           to the function.
23469           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23470
23471 2012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
23472
23473         * gst-libs/gst/vaapi/glibcompat.h:
23474         * gst-libs/gst/vaapi/gstvaapicontext.c:
23475         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23476         * gst-libs/gst/vaapi/gstvaapiobject.c:
23477         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
23478         * gst-libs/gst/vaapi/gstvaapisurface.c:
23479         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23480         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23481         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
23482         * gst-libs/gst/vaapi/gstvaapivideopool.c:
23483           libs: use g_clear_object() wherever applicable.
23484           This is a preferred thread-safe version. Also add an inline version of
23485           g_clear_object() if compiling with glib < 2.28.
23486           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23487
23488 2012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
23489
23490         * .gitignore:
23491         * configure.ac:
23492         * docs/reference/libs/Makefile.am:
23493         * gst-libs/gst/vaapi/Makefile.am:
23494         * gst-libs/gst/vaapi/gstvaapimarshal.list:
23495         * gst-libs/gst/vaapi/gstvaapiobject.c:
23496           libs: use generic g_cclosure_marshal_VOID__VOID().
23497           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23498
23499 2012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23500
23501         * configure.ac:
23502         * gst-libs/gst/vaapi/glibcompat.h:
23503           glibcompat: drop explicit check for g_list_free_full().
23504
23505 2012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23506
23507         * configure.ac:
23508           Bump version for development.
23509
23510 2012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23511
23512         * gst-libs/gst/codecparsers/Makefile.am:
23513           jpeg: fix make dist.
23514
23515 2012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
23516
23517         * autogen.sh:
23518         * configure.ac:
23519         * docs/Makefile.am:
23520           configure: fix build without gtk-doc support.
23521           Also do not generate tamplate files as all the documentation is inline.
23522           Drop un-needed code in autogen.sh as well.
23523           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23524
23525 2012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
23526
23527         * Makefile.am:
23528         * autogen.sh:
23529         * configure.ac:
23530           configure: put m4 macros and autogenerated files into m4/ directory.
23531           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23532
23533 2012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
23534
23535         * configure.ac:
23536           configure: drop deprecated autoconf macros.
23537           Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
23538           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23539
23540 2012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
23541
23542         * configure.ac:
23543           configure: don't use AC_SUBST for some variables.
23544           PKG_CHECK_MODULES already does this for us.
23545           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23546
23547 2012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23548
23549         * gst/vaapi/gstvaapidecode.c:
23550         * gst/vaapi/gstvaapidownload.c:
23551         * gst/vaapi/gstvaapipostproc.c:
23552         * gst/vaapi/gstvaapiupload.c:
23553           plugins: add support for GstImplementsInterface.
23554
23555 2012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
23556
23557         * configure.ac:
23558         * gst/vaapi/gstvaapidecode.c:
23559         * gst/vaapi/gstvaapidownload.c:
23560         * gst/vaapi/gstvaapipostproc.c:
23561         * gst/vaapi/gstvaapisink.c:
23562         * gst/vaapi/gstvaapiupload.c:
23563           plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
23564           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23565
23566 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
23567
23568         * configure.ac:
23569         * gst/vaapi/gstvaapisink.c:
23570           plugins: do not use deprecated GStreamer -base symbols.
23571           Bump GStreamer plugins -base required version to 0.10.31, needed for
23572           gst_x_overlay_got_window_handle().
23573           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23574
23575 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
23576
23577         * configure.ac:
23578         * gst/vaapi/gstvaapidecode.c:
23579         * gst/vaapi/gstvaapidownload.c:
23580         * gst/vaapi/gstvaapipostproc.c:
23581         * gst/vaapi/gstvaapisink.c:
23582         * gst/vaapi/gstvaapiupload.c:
23583           plugins: do not use deprecated core GStreamer symbols.
23584           Bump GStreamer required version to 0.10.14, needed for
23585           gst_element_class_set_details_simple().
23586           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23587
23588 2012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23589
23590         * tests/test-decode.c:
23591           tests: fix build without JPEG decoder support.
23592
23593 2012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23594
23595         * tests/Makefile.am:
23596         * tests/test-decode.c:
23597         * tests/test-jpeg.c:
23598         * tests/test-jpeg.h:
23599           tests: add test for JPEG decoding.
23600
23601 2012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23602
23603         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23604           jpeg: update to match latest parser API.
23605
23606 2012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23607
23608         * gst-libs/gst/codecparsers/gstjpegparser.c:
23609         * gst-libs/gst/codecparsers/gstjpegparser.h:
23610           codecparsers: jpeg: tweak parser API.
23611           ... to allow for more consistent parsing API among various codec parsers.
23612           In particular, drop use of GList.
23613
23614 2012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23615
23616         * configure.ac:
23617           jpeg: fix configure check for VA/JPEG decoding API.
23618
23619 2012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23620
23621         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23622           jpeg: fix build with VA-API < 0.32.0.
23623
23624 2012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23625
23626         * NEWS:
23627           NEWS: updates.
23628
23629 2012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23630
23631         * configure.ac:
23632           Bump version for development.
23633
23634 2012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23635
23636         * NEWS:
23637         * configure.ac:
23638           0.3.7.
23639
23640 2012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23641
23642         * NEWS:
23643           NEWS: updates.
23644
23645 2012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
23646
23647         * gst/vaapi/gstvaapipluginutil.c:
23648           vaapiplugin: fix build when compiling without GLX.
23649           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23650
23651 2012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23652
23653         * configure.ac:
23654           configure: disable FFmpeg-based decoders.
23655           FFmpeg decoders are still available through the --enable-ffmpeg option
23656           but are no longer maintained.
23657
23658 2012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23659
23660         * gst-libs/gst/vaapi/Makefile.am:
23661           Fix build with recent GStreamer stack.
23662
23663 2012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23664
23665         * configure.ac:
23666         * gst-libs/gst/vaapi/gstvaapicompat.h:
23667         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23668           jpeg: update to current VA/JPEG decoding API.
23669
23670 2012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23671
23672         * gst-libs/gst/codecparsers/gstjpegparser.c:
23673         * gst-libs/gst/codecparsers/gstjpegparser.h:
23674         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23675           codecparsers: jpeg: track valid quantization and Huffman tables.
23676           Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
23677           to determine whether a table actually changed since the last user
23678           synchronization point. That way, this makes it possible for some
23679           hardware accelerated decoding solution to upload only those tables
23680           that changed.
23681
23682 2012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
23683
23684         * gst-libs/gst/codecparsers/gstjpegparser.c:
23685           codecparsers: jpeg: use U_READ_UINT*() wherever possible.
23686           Use GstByteReader *_unchecked() variants as much as possible.
23687           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23688
23689 2012-06-04 16:20:13 +0800  Wind Yuan <feng.yuan@intel.com>
23690
23691         * gst-libs/gst/codecparsers/gstjpegparser.c:
23692         * gst-libs/gst/codecparsers/gstjpegparser.h:
23693         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23694           jpeg: add new GstJpegHuffmanTables structure.
23695           Add new GstJpegHuffmanTables helper structure to hold all possible
23696           AC/DC Huffman tables available to all components.
23697           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23698
23699 2012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
23700
23701         * gst-libs/gst/codecparsers/gstjpegparser.c:
23702         * gst-libs/gst/codecparsers/gstjpegparser.h:
23703         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23704           jpeg: make gst_jpeg_parse() support multiple scans.
23705           gst_jpeg_parse() now gathers all scans available in the supplied
23706           buffer. A scan comprises of the scan header and any entropy-coded
23707           segments or restart marker following it. The size and offset to
23708           the associated data (ECS + RST segments) are append to a new
23709           GstJpegScanOffsetSize structure.
23710           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23711
23712 2012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
23713
23714         * gst-libs/gst/codecparsers/gstjpegparser.c:
23715         * gst-libs/gst/codecparsers/gstjpegparser.h:
23716         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23717           jpeg: update to match latest parser API.
23718           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23719
23720 2012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23721
23722         * gst-libs/gst/codecparsers/gstjpegparser.h:
23723           jpeg: simplify and optimize parser API.
23724
23725 2012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
23726
23727         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23728           mpeg: fix picture used to determine backward_reference_vop_coding_type.
23729           Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
23730           but Gwenole did not apply all the bits.
23731           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23732
23733 2012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
23734
23735         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23736           mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
23737           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23738
23739 2012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
23740
23741         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23742           mpeg4: handle skipped frames (vop_hdr->coded = 0).
23743           Gracefully skip non VOP coded frames.
23744           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23745
23746 2012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
23747
23748         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23749           mpeg4: fix timestamp issues on too fast playback.
23750           Improve generation of presentation timestamps to be less sensitive
23751           to input stream errors. In practise, GOP is also a synchronization
23752           point for PTS calculation.
23753           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23754
23755 2012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23756
23757         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23758           Fix build without JPEG decoder.
23759
23760 2012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
23761
23762         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23763           mpeg4: fix VOP coding type of backward reference pictures.
23764           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23765
23766 2012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
23767
23768         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23769           mpeg4: fix handling of temporal reference distances.
23770           TRD and TRB fields are not large enough to hold the difference of PTS
23771           expressed with nanosecond resolution. So, compute them from the original
23772           VOP info.
23773           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23774
23775 2012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23776
23777         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
23778           dpb: mpeg2: cosmetics.
23779           Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
23780
23781 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
23782
23783         * configure.ac:
23784         * gst-libs/gst/vaapi/Makefile.am:
23785         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23786         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23787         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23788         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
23789         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23790         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23791         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23792         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23793         * gst/vaapi/gstvaapidecode.c:
23794           Add initial JPEG decoder.
23795           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23796
23797 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
23798
23799         * configure.ac:
23800         * gst-libs/gst/Makefile.am:
23801         * gst-libs/gst/codecparsers/Makefile.am:
23802         * gst-libs/gst/codecparsers/gstjpegparser.c:
23803         * gst-libs/gst/codecparsers/gstjpegparser.h:
23804         * gst-libs/gst/vaapi/Makefile.am:
23805           codecparsers: add JPEG parser.
23806           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23807
23808 2012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
23809
23810         * gst/vaapi/gstvaapidecode.c:
23811           vaapidecode: fix VA display type.
23812           Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
23813           wrapper.
23814           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23815
23816 2012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23817
23818         * gst/vaapi/gstvaapidecode.c:
23819           vaapidecode: fix includes when compiling for a single API.
23820
23821 2012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23822
23823         * NEWS:
23824         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23825           mpeg2: fix calculation of macroblock_offset.
23826           Fix decoding of streams with extra slice() information before the first
23827           macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
23828
23829 2012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23830
23831         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23832           mpeg2: fix interpolation of GOP TSN from new PTS.
23833           New GOP TSN base could be mis-calculated. In particular, this fixes
23834           decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
23835
23836 2012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23837
23838         * NEWS:
23839         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23840         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23841           mpeg2: fix decoding of high profile streams.
23842           Allow MPEG-2 High profile streams only if the HW supports that profile
23843           or no High profile specific bits are used, and thus Main profile could
23844           be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
23845           set to 11 and no sequence_scalable_extension() was parsed.
23846
23847 2012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23848
23849         * NEWS:
23850         * gst/vaapi/gstvaapidecode.c:
23851           vaapidecode: report unsupported codec profiles.
23852           Try to gracefully abort when the HW does not support the requested
23853           profile. There is no fallback unless profiles are correctly parsed
23854           and matched through caps beforehand.
23855
23856 2012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
23857
23858         * NEWS:
23859         * gst/vaapi/gstvaapisink.c:
23860           vaapisink: don't resize a 'foreign' X-window.
23861           Don't forcibly resize foreign X windows. The user is responsible for
23862           their size and vaapisink shall not change this.
23863           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23864
23865 2012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
23866
23867         * NEWS:
23868         * gst/vaapi/gstvaapisink.c:
23869         * gst/vaapi/gstvaapisink.h:
23870           vaapisink: recalculate render rect only if caps are negotiated.
23871           Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
23872           caps got negotiated. Besides, when a foreign window is provided by the
23873           user, so should the render rect.
23874           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23875
23876 2012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23877
23878         * configure.ac:
23879           Bump version for development.
23880
23881 === release 0.3.6 ===
23882
23883 2012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23884
23885         * configure.ac:
23886           0.3.6.
23887
23888 2012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23889
23890         * docs/reference/libs/libs-docs.xml.in:
23891         * docs/reference/libs/libs-sections.txt:
23892         * docs/reference/plugins/plugins-docs.xml.in:
23893         * docs/reference/plugins/plugins-sections.txt:
23894         * docs/reference/plugins/plugins.types:
23895         * gst-libs/gst/vaapi/gstvaapiimage.c:
23896         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
23897         * gst/vaapi/gstvaapipostproc.c:
23898           Fix a few documentation issues.
23899
23900 2012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23901
23902         * NEWS:
23903         * README:
23904           Update introduction and changelog.
23905
23906 2012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23907
23908         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
23909         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
23910         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23911           mpeg2: allocate dummy picture for first field based I-frame.
23912           In P-pictures, prediction shall be made from the two most recently
23913           decoded reference fields. However, when the first I-frame is a field,
23914           the next field of the current picture could be a P-picture but only a
23915           single field was decoded so far. In this case, create a dummy picture
23916           with POC = -1 that will be used as reference.
23917           Some VA drivers would error out if P-pictures don't have a forward
23918           reference picture. This is true in general but not in this very specific
23919           initial case.
23920
23921 2012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23922
23923         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23924           mpeg2: fix simple to main profile fallback.
23925           Allow fallback from simple to main profile when the HW decoder does
23926           not support the former profile and that no sequence_header_extension()
23927           is available to point out this.
23928
23929 2012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
23930
23931         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23932           mpeg4: improve error checking while decoding packets.
23933           decode_picture() could return an error when an MPEG-4 profile is not
23934           supported for example. In this case, the underlying VA context is not
23935           allocated and no other proper action can be taken. Likewise on exit
23936           from decode_slice().
23937           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23938
23939 2012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23940
23941         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
23942         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23943         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23944         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23945           decoder: use POC to maintain the DPB.
23946           Introduce a POC field in GstVaapiPicture so that to store simpler sequential
23947           numbers. A signed 32-bit integer should be enough for 1 year of continuous
23948           video streaming at 60 Hz.
23949           Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
23950           This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
23951
23952 2012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23953
23954         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23955           mpeg2: rework generation of presentation timestamps.
23956           Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
23957           i.e. demuxer could not determine the PTS or the generated PTS is lower than
23958           max PTS from past pictures, then try to fix it up based on the duration of
23959           a frame.
23960           For picture PTS, simply use the GOP PTS formerly computed then use TSN to
23961           reconstruct a current time. Also now handle wrapped TSN correctly.
23962
23963 2012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23964
23965         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23966           mpeg2: ignore empty user-data packets.
23967           Fix tcela-8.bits conformance test.
23968
23969 2012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23970
23971         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23972           mpeg2: review and report errors accordingly.
23973           Use GST_ERROR() to report real errors instead of hiding them into
23974           GST_DEBUG().
23975
23976 2012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23977
23978         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23979           mpeg2: fix invalid interlaced frame in progressive sequence.
23980           Some streams, badly constructed, could have signaled an interlaced
23981           frame while the sequence was meant to be progressive. Warn and force
23982           frame to be progressive in this case.
23983
23984 2012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23985
23986         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23987         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23988           mpeg2: add support for interlaced streams.
23989           Pictures are submitted to the HW for rendering only when both fields
23990           are decoded or current picture is a full frame.
23991
23992 2012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23993
23994         * gst-libs/gst/vaapi/Makefile.am:
23995         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
23996         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
23997         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23998           mpeg2: add new decoded picture buffer infrastructure.
23999           Decoded pictures are now maintained into DPB, similarly to H.264.
24000           The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
24001
24002 2012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24003
24004         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24005         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24006         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24007           decoder: add first-field flag to picture.
24008           Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
24009           member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
24010           as the first field. Any subsequent allocated field will become the second field.
24011
24012 2012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24013
24014         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24015         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24016         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24017         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24018           decoder: allow pictures to be cloned for field decoding.
24019           Add gst_vaapi_picture_new_field() function that clones a picture, while
24020           preserving the parent picture surface. i.e. the surface proxy reference
24021           count is increased and other fields copied as is. Besides, the picture
24022           is reset into a "non-output" mode.
24023
24024 2012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24025
24026         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24027         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24028         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24029           decoder: rework picture field flags.
24030           Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
24031           could be propagated to the surface proxy when it is pushed for rendering.
24032           Besides, top and bottom fields are now expressed with picture structure flags
24033           from GstVaapiSurfaceRenderFlags.
24034
24035 2012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24036
24037         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24038         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24039           decoder: add OUTPUT flag to pictures.
24040           Allow pictures to be marked as output gst_vaapi_picture_output().
24041
24042 2012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24043
24044         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24045         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24046         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24047           decoder: fix semantics of SKIPPED pictures.
24048           If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
24049           will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
24050           has nothing to do with rendering. This only means that the currently decoded
24051           picture is just a copy of its reference picture.
24052
24053 2012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24054
24055         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24056         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24057         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24058         * gst/vaapi/gstvaapipostproc.c:
24059           vaapipostproc: get "interlaced" attribute from surface proxy.
24060           Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
24061           vaapipostproc so that to handles cases where bitstream is interlaced
24062           but almost only frame pictures are generated. In this case, we should
24063           not be alternating between top/bottom fields.
24064
24065 2012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24066
24067         * README:
24068         * debian.upstream/control.in:
24069         * gst/vaapi/Makefile.am:
24070         * gst/vaapi/gstvaapi.c:
24071         * gst/vaapi/gstvaapipostproc.c:
24072         * gst/vaapi/gstvaapipostproc.h:
24073           vaapipostproc: add new element for video postprocessing.
24074           Add vaapipostproc element for video postprocessing. So far, only basic
24075           bob deinterlacing is implemented. Interlaced mode is automatically
24076           detected based on sink caps ("interlaced" field).
24077
24078 2012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24079
24080         * docs/reference/libs/libs-sections.txt:
24081         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24082         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
24083         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
24084         * gst/vaapi/gstvaapisink.c:
24085           videobuffer: add surface render flags.
24086           Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
24087           to be set to the video buffer. In particular, this is mostly useful for
24088           basic deinterlacing.
24089
24090 2012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24091
24092         * gst-libs/gst/vaapi/gstvaapicompat.h:
24093           compat: add compatibility glue with VA-API 0.34+ (WIP).
24094
24095 2012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24096
24097         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24098           h264: skip all Filler Data NALs.
24099
24100 2012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
24101
24102         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24103           mpeg4: check for decoder status prior to decoding packet.
24104           Make sure there is a VA surface free prior to decoding the current frame.
24105           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24106
24107 2012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
24108
24109         * gst/vaapi/gstvaapidecode.c:
24110         * gst/vaapi/gstvaapidecode.h:
24111           decode: delay NEWSEGMENT event if vaapidecode element was not linked.
24112           Rationale: playbin2 links all elements at run-time. Once vaapidecode
24113           is created and a NEWSEGMENT event arrives, downstream element may not
24114           be ready yet. So, delay this event until next element is chained in,
24115           otherwise basesink could output "Received buffer without a new-segment.
24116           Assuming timestamps start from 0".
24117           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24118
24119 2012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
24120
24121         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24122           mpeg2: fix GOP timestamps when incorrect data is received.
24123           Some streams have incorrect GOP timestamps, or nothing set at all.
24124           i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
24125           from demuxer timestamps, which are monotonic.
24126           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24127
24128 2012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
24129
24130         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24131           mpeg2: don't decode anything before the first sequence_header().
24132           Skip all pictures prior to the first sequence_header(). Besides,
24133           skip all picture_data() if there was no prior picture_header().
24134           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24135
24136 2012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
24137
24138         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24139           ffmpeg: add support for interlaced streams.
24140           Evaluate interlaced stream properties.
24141           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24142
24143 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
24144
24145         * gst/vaapi/gstvaapidecode.c:
24146           vaapidecode: propagate interlaced and TFF properties downstream.
24147           Propagate "interlaced" caps downstream and set "tff" buffer flag
24148           appropriately to output buffers for interlaced pictures.
24149           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24150
24151 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
24152
24153         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24154         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24155           decoder: maintain caps for interlaced streams.
24156           Extend GstVaapiDecoder base object to maintain caps with "interlaced"
24157           property.
24158           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24159
24160 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
24161
24162         * docs/reference/libs/libs-sections.txt:
24163         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24164         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24165           surfaceproxy: add TFF property.
24166           Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
24167           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24168
24169 2012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24170
24171         * AUTHORS:
24172           AUTHORS: update to match current authors.
24173
24174 2012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24175
24176         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24177           mpeg2: fix is_first_field calculation.
24178           Reset is_first_field for frame pictures. Factor out locations where
24179           the flag is updated.
24180
24181 2012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24182
24183         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24184           mpeg2: catch incorrect picture_structure from bitstreams.
24185           Assume "frame" picture structure if the syntax element was zero or if
24186           progressive_frame is set.
24187
24188 2012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24189
24190         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24191           mpeg2: fix slice_vertical_position calculation (again).
24192           VA-API expects slice_vertical_position as the initial position from the
24193           bitstream. i.e. the direct slice() information. VA drivers will be fixed
24194           accordingly.
24195
24196 === release 0.3.5 ===
24197
24198 2012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24199
24200         * gst/vaapi/gstvaapidecode.c:
24201           Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
24202           This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
24203           For gst_element_class_get_pad_template(), no unreferencing is necessary
24204           according to the GStreamer documentation.
24205
24206 2012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24207
24208         * configure.ac:
24209         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24210           h264: fix slice_data_bit_offset calculation.
24211           Unlike what VA-API documentation defines, the slice_data_bit_offset
24212           represents the offset to the first macroblock in the slice data, minus
24213           any emulation prevention bytes in the slice_header().
24214           This fix copes with binary-only VA drivers that won't be fixed any
24215           time soon. Besides, this aligns with the current FFmpeg behaviour
24216           that was based on those proprietary drivers implementing the API
24217           incorrectly.
24218
24219 2012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
24220
24221         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24222           h264: skip all Access Unit (AU) NALs.
24223           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24224
24225 2012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
24226
24227         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24228           h264: fix modification process of reference picture lists.
24229           Construction of RefPicList0/1 could be off by one element.
24230           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24231
24232 2012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24233
24234         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24235           mpeg2: fix size calculation from sequence_extension().
24236           Original values from sequence_header() are 12-bit and the remaining
24237           2 most significant bits are coming from sequence_extension().
24238           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24239
24240 2012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24241
24242         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24243           mpeg2: fix slice_vertical_position calculation.
24244           Make sure to adjust slice_vertical_position if picture structure
24245           is a top or bottom field.
24246
24247 2012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24248
24249         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24250           decoder: add picture structure flags.
24251
24252 2012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24253
24254         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24255           mpeg2: fix decoding at end-of-sequence.
24256
24257 2012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24258
24259         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24260           mpeg2: fix slice_horizontal_position calculation.
24261
24262 2012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24263
24264         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24265           mpeg2: drop useless mb_y and mb_height members.
24266
24267 2012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24268
24269         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24270           mpeg2: fix decoding of multiple slices with same slice_vertical_position.
24271           6.3.15 says that "some slices may have the same slice_vertical_position,
24272           since slices may start and finish anywhere". So, we can't submit the current
24273           picture to the HW right away since subsequent slices would be missing.
24274
24275 2012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24276
24277         * gst-libs/gst/vaapi/gstvaapiimage.c:
24278           image: fix source stride in picture copy.
24279
24280 2012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24281
24282         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24283           decoder: fix double buffer free with some VA drivers.
24284           vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
24285           push the VA buffer object into a list of free buffers to be re-used. However,
24286           reference pictures (and data) that was kept would explicitly release the VA
24287           buffer object later on, thus possibly destroying a valid (re-used) object.
24288           Besides, some other VA drivers don't support correctly the vaRenderPicture()
24289           semantics for VA buffers disposal and would leak memory if there is no explicit
24290           vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
24291           right after vaRenderPicture(). All VA drivers need to be aligned.
24292
24293 2012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24294
24295         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24296           h264: complete any current picture decoder before SPS / PPS change.
24297           This ensures the VA context is clear when the encoded resolution
24298           changes. i.e. make sure older picture is decoded with the older
24299           VA context before it changes.
24300
24301 2012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24302
24303         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24304           h264: create VA context earlier when SPS is parsed.
24305
24306 2012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24307
24308         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24309           h264: don't allocate too big data structures on stack.
24310
24311 2012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24312
24313         * gst-libs/gst/vaapi/glibcompat.h:
24314         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24315         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24316           glib: map deprecated API to glib >= 2.32 equivalents.
24317           GStaticMutex and GStaticRecMutex are now replaced with GMutex and
24318           GRecMutex, which no longer require any prior call to g_thread_init().
24319
24320 2012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24321
24322         * gst-libs/gst/vaapi/gstvaapiutils.h:
24323         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24324         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24325           glib: fix includes.
24326
24327 2012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24328
24329         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24330         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24331         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24332         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24333           cosmetics: fix warnings (drop unused variables).
24334
24335 2012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24336
24337         * gst/vaapi/gstvaapidecode.c:
24338           vaapidecode: fix another pad template ref leak.
24339
24340 2012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24341
24342         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24343         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24344         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24345           mpeg2: fix crash when there is no free surface to decode into.
24346
24347 2012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
24348
24349         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24350           display: skip profiles which have no entrypoints.
24351           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24352
24353 2012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24354
24355         * gst/vaapi/gstvaapiupload.c:
24356           vaapiupload: use g_object_unref() for GstVaapiImage.
24357
24358 2012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24359
24360         * gst/vaapi/gstvaapidecode.c:
24361         * gst/vaapi/gstvaapidownload.c:
24362         * gst/vaapi/gstvaapisink.c:
24363         * gst/vaapi/gstvaapiupload.c:
24364           plugins: fix pad template ref leaks.
24365
24366 2012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24367
24368         * configure.ac:
24369           Bump version for development.
24370
24371 === release 0.3.4 ===
24372
24373 2012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24374
24375         * NEWS:
24376         * configure.ac:
24377           0.3.4.
24378
24379 2012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24380
24381         * README:
24382           README: updates.
24383           Mention codecparsers-based decoders, FFmpeg is now optional. Update
24384           list of support HW.
24385
24386 2012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24387
24388         * NEWS:
24389           NEWS: updates.
24390
24391 2012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24392
24393         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24394           decoder: allocate proxy surface earlier.
24395           This simplifies gst_vaapi_picture_output() to only update the presentation
24396           timestamp and submit the proxy to the decoder for output.
24397
24398 2012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24399
24400         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24401           decoder: fix memory leak of VA objects on exit.
24402           On sequence end, if the last decoded picture is not output for rendering,
24403           then the proxy surface is not created. In this case, the original surface
24404           must be released explicitly to the context.
24405
24406 2012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24407
24408         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24409           mpeg2: use GstAdapter to track input sequence.
24410           This fixes possible memory leaks and improves performance by removing
24411           some extra copies.
24412
24413 2012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24414
24415         * configure.ac:
24416         * gst-libs/gst/vaapi/Makefile.am:
24417         * gst-libs/gst/vaapi/glibcompat.h:
24418         * gst-libs/gst/vaapi/sysdeps.h:
24419           Add glib compatibility glue for older versions.
24420
24421 2012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24422
24423         * gst-libs/gst/vaapi/Makefile.am:
24424         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24425         * gst-libs/gst/vaapi/gstvaapicontext.c:
24426         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24427         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24428         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24429         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24430         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24431         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24432         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24433         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24434         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24435         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24436         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24437         * gst-libs/gst/vaapi/gstvaapiimage.c:
24438         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24439         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24440         * gst-libs/gst/vaapi/gstvaapiobject.c:
24441         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
24442         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24443         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24444         * gst-libs/gst/vaapi/gstvaapisurface.c:
24445         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24446         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24447         * gst-libs/gst/vaapi/gstvaapitexture.c:
24448         * gst-libs/gst/vaapi/gstvaapiutils.c:
24449         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24450         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24451         * gst-libs/gst/vaapi/gstvaapivalue.c:
24452         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24453         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
24454         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
24455         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24456         * gst-libs/gst/vaapi/gstvaapivideosink.c:
24457         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24458         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24459         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24460         * gst-libs/gst/vaapi/sysdeps.h:
24461           Add header for system-dependent definitions.
24462
24463 2012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24464
24465         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24466         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24467         * gst-libs/gst/vaapi/gstvaapiutils.c:
24468         * gst-libs/gst/vaapi/gstvaapiutils.h:
24469           decoder: optimize slice data buffers initialization.
24470           VA drivers may have a faster means to transfer user buffers to GPU
24471           buffers than using memcpy(). In particular, on Intel Gen graphics, we
24472           can use pwrite(). This provides for faster upload of bitstream and can
24473           help higher bitrates.
24474           vaapi_create_buffer() helper function was also updated to allow for
24475           un-mapped buffers and pre-initialized data for buffers.
24476
24477 2012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24478
24479         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24480           h264: simplify RefPicList reconstruction.
24481
24482 2012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24483
24484         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24485           h264: flush DPB when the end of the sequence is reached.
24486
24487 2012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24488
24489         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24490           h264: handle Decoded Picture Buffer (DPB).
24491
24492 2012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24493
24494         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24495           h264: fix pred_weight_table() reconstruction.
24496           Only the explicit pred_weight_table(), possibly with the inferred default
24497           values, shall be required. e.g. don't fill in the table if weighted_pred_flag
24498           is not set for P/SP slices.
24499
24500 2012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24501
24502         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24503           h264: execute reference picture marking process (MMCO).
24504
24505 2012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24506
24507         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24508           h264: fix presentation timestamps.
24509
24510 2012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24511
24512         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24513           h264: execute reference picture marking process (sliding window).
24514
24515 2012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24516
24517         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24518           h264: handle avcC format for decoding buffers.
24519
24520 2011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24521
24522         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24523           h264: handle codec-data.
24524           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24525
24526 2011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24527
24528         * gst-libs/gst/vaapi/Makefile.am:
24529         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24530         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24531         * gst/vaapi/gstvaapidecode.c:
24532         * tests/test-decode.c:
24533           Add initial H.264 decoder.
24534
24535 2012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24536
24537         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24538         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24539           decoder: retain proxy surface until the GstVaapiPicture is destroyed.
24540           Keep a valid reference to the proxy in GstVaapiPicture so that frames
24541           marked as "used for reference" could be kept during the lifetime of the
24542           picture. i.e. don't release them too soon as they could be re-used right
24543           away.
24544
24545 2012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24546
24547         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24548         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24549         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24550           decoder: properly reference count pictures.
24551           This fixes cases where a GstVaapiPicture would be destroyed whereas
24552           there is still a valid instance of it in either prev, current or
24553           next picture.
24554
24555 2012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24556
24557         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24558         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24559         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24560         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24561           decoder: simplify output of decoded frames.
24562           Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
24563           Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
24564           is already set correctly and reference count increased, if necessary.
24565
24566 2012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24567
24568         * gst-libs/gst/vaapi/Makefile.am:
24569         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24570         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24571         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24572         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24573         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24574         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24575         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24576         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24577         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24578           decoder: rework the internal VA objects API.
24579           The new API simplifies a lot reference counting and makes it more
24580           flexible for future additions/changes. The GstVaapiCodecInfo is
24581           also gone. Rather, new helper macros are provided to allocate
24582           picture, slice and quantization matrix parameter buffers.
24583
24584 2012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24585
24586         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24587         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24588           decoder: allow slices to be attached to pictures later.
24589
24590 2011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24591
24592         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24593         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24594           decoder: add ref_count to GstVaapiPicture.
24595
24596 2012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24597
24598         * gst/vaapi/gstvaapisink.c:
24599           vaapisink: cap window size to the maximum display size.
24600
24601 2012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
24602
24603         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24604         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24605           profile: match video/x-h263 as H.263 Baseline profile.
24606           HACK: qtdemux does not report profiles for H.263. So, assume plain
24607           "video/x-h263" is H.263 Baseline profile.
24608           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24609
24610 2012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24611
24612         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24613         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24614           display: report H.263 Baseline profile.
24615           HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
24616           profile (VAProfileMPEG4Simple) is supported.
24617
24618 2012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24619
24620         * gst-libs/gst/vaapi/Makefile.am:
24621         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24622           Add template for workarounds.
24623
24624 2012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24625
24626         * tests/test-decode.c:
24627           tests: error out if FFmpeg|codecparsers are not supported.
24628
24629 2012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24630
24631         * docs/reference/libs/libs-sections.txt:
24632         * gst-libs/gst/vaapi/gstvaapisurface.h:
24633         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24634           surface: don't expose gst_vaapi_surface_get_parent_context().
24635           gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
24636           It's just an internal helper function. However, it's still possible to get
24637           the parent context through the "parent-context" property.
24638
24639 2012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24640
24641         * tests/Makefile.am:
24642         * tests/test-subpicture.c:
24643           tests: fix build without FFmpeg.
24644
24645 2012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24646
24647         * configure.ac:
24648           Bump version for development.
24649
24650 === release 0.3.3 ===
24651
24652 2012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24653
24654         * NEWS:
24655         * configure.ac:
24656           0.3.3.
24657
24658 2012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24659
24660         * README:
24661         * debian.upstream/copyright:
24662         * gst-libs/gst/vaapi/gstvaapicontext.c:
24663         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24664         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24665         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24666         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24667         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24668         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24669         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24670         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24671         * gst-libs/gst/vaapi/gstvaapiimage.c:
24672         * gst-libs/gst/vaapi/gstvaapiimage.h:
24673         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24674         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24675         * gst-libs/gst/vaapi/gstvaapiutils.c:
24676         * gst-libs/gst/vaapi/gstvaapiutils.h:
24677         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24678         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24679         * gst/vaapi/gstvaapi.c:
24680         * gst/vaapi/gstvaapidecode.c:
24681         * gst/vaapi/gstvaapidownload.c:
24682         * gst/vaapi/gstvaapidownload.h:
24683         * gst/vaapi/gstvaapipluginutil.c:
24684         * gst/vaapi/gstvaapipluginutil.h:
24685         * gst/vaapi/gstvaapisink.c:
24686         * gst/vaapi/gstvaapiupload.c:
24687         * gst/vaapi/gstvaapiupload.h:
24688         * tests/test-decode.c:
24689           legal: fix year for some copyright notices.
24690
24691 2012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24692
24693         * gst-libs/gst/vaapi/gstvaapicontext.c:
24694         * gst-libs/gst/vaapi/gstvaapicontext.h:
24695         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24696         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24697         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24698         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24699         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24700         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24701         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24702         * gst-libs/gst/vaapi/gstvaapiimage.c:
24703         * gst-libs/gst/vaapi/gstvaapiimage.h:
24704         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24705         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
24706         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24707         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24708         * gst-libs/gst/vaapi/gstvaapisurface.c:
24709         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24710         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24711         * gst-libs/gst/vaapi/gstvaapiutils.c:
24712         * gst-libs/gst/vaapi/gstvaapiutils.h:
24713         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24714         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24715         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24716         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
24717         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24718         * gst/vaapi/gstvaapidownload.h:
24719         * gst/vaapi/gstvaapisink.h:
24720         * gst/vaapi/gstvaapiupload.h:
24721         * tests/test-decode.c:
24722           legal: add Intel copyright on modified files.
24723
24724 2012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24725
24726         * gst-libs/gst/vaapi/gstvaapi_priv.h:
24727         * gst-libs/gst/vaapi/gstvaapicompat.h:
24728         * gst-libs/gst/vaapi/gstvaapicontext.c:
24729         * gst-libs/gst/vaapi/gstvaapicontext.h:
24730         * gst-libs/gst/vaapi/gstvaapidebug.h:
24731         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24732         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24733         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24734         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
24735         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24736         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24737         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24738         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24739         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24740         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
24741         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24742         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24743         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24744         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24745         * gst-libs/gst/vaapi/gstvaapiimage.c:
24746         * gst-libs/gst/vaapi/gstvaapiimage.h:
24747         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24748         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
24749         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24750         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24751         * gst-libs/gst/vaapi/gstvaapiobject.c:
24752         * gst-libs/gst/vaapi/gstvaapiobject.h:
24753         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24754         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
24755         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
24756         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24757         * gst-libs/gst/vaapi/gstvaapiprofile.h:
24758         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24759         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24760         * gst-libs/gst/vaapi/gstvaapisurface.c:
24761         * gst-libs/gst/vaapi/gstvaapisurface.h:
24762         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24763         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24764         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24765         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24766         * gst-libs/gst/vaapi/gstvaapitexture.c:
24767         * gst-libs/gst/vaapi/gstvaapitexture.h:
24768         * gst-libs/gst/vaapi/gstvaapitypes.h:
24769         * gst-libs/gst/vaapi/gstvaapiutils.c:
24770         * gst-libs/gst/vaapi/gstvaapiutils.h:
24771         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24772         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24773         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24774         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24775         * gst-libs/gst/vaapi/gstvaapivalue.c:
24776         * gst-libs/gst/vaapi/gstvaapivalue.h:
24777         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24778         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
24779         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24780         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24781         * gst-libs/gst/vaapi/gstvaapivideosink.c:
24782         * gst-libs/gst/vaapi/gstvaapivideosink.h:
24783         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24784         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24785         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24786         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24787         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24788         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24789         * gst/vaapi/gstvaapidecode.c:
24790         * gst/vaapi/gstvaapidecode.h:
24791         * gst/vaapi/gstvaapidownload.c:
24792         * gst/vaapi/gstvaapidownload.h:
24793         * gst/vaapi/gstvaapisink.c:
24794         * gst/vaapi/gstvaapisink.h:
24795         * gst/vaapi/gstvaapiupload.c:
24796         * gst/vaapi/gstvaapiupload.h:
24797         * tests/image.c:
24798         * tests/image.h:
24799         * tests/test-decode.c:
24800         * tests/test-decode.h:
24801         * tests/test-display.c:
24802         * tests/test-h264.c:
24803         * tests/test-h264.h:
24804         * tests/test-mpeg2.c:
24805         * tests/test-mpeg2.h:
24806         * tests/test-surfaces.c:
24807         * tests/test-textures.c:
24808         * tests/test-vc1.c:
24809         * tests/test-vc1.h:
24810         * tests/test-windows.c:
24811           legal: fix copyright notices to include "Copyright" term.
24812
24813 2011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
24814
24815         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24816         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24817           mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
24818           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24819
24820 2011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
24821
24822         * gst-libs/gst/vaapi/Makefile.am:
24823         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24824         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24825         * gst/vaapi/gstvaapidecode.c:
24826           Add initial MPEG-4 decoder.
24827           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24828
24829 2011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24830
24831         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24832         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24833           vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
24834           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24835
24836 2011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24837
24838         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24839           vc1: fix codec-data decoding for WMV3 format.
24840
24841 2011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24842
24843         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24844           vc1: fix presentation timestamps.
24845
24846 2011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24847
24848         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24849           vc1: fix MV mode packing.
24850
24851 2011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24852
24853         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24854           vc1: handle codec-data.
24855
24856 2011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24857
24858         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24859           vc1: handle encapsulated bitstreams.
24860
24861 2011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24862
24863         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24864         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24865         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24866           vc1: fix bitplanes decoding.
24867
24868 2011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24869
24870         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24871           vc1: fix BFRACTION reconstruction.
24872
24873 2011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24874
24875         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24876           vc1: fix framerate calculation.
24877
24878 2011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24879
24880         * gst-libs/gst/vaapi/Makefile.am:
24881         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24882         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24883         * gst/vaapi/gstvaapidecode.c:
24884         * tests/test-decode.c:
24885           Add initial VC-1 decoder.
24886
24887 2012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
24888
24889         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24890           mpeg2: fix first field detection.
24891           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24892
24893 2012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24894
24895         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24896           mpeg2: fix quantisation matrix construction.
24897
24898 2011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24899
24900         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24901         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24902           mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
24903           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24904
24905 2011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24906
24907         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24908           mpeg2: fix packets spanning over two buffers.
24909
24910 2011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24911
24912         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24913           mpeg2: ignore system start codes (PES headers).
24914
24915 2011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24916
24917         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24918           mpeg2: handle closed_gop.
24919
24920 2011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24921
24922         * gst-libs/gst/vaapi/Makefile.am:
24923         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24924         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24925         * gst/vaapi/gstvaapidecode.c:
24926         * tests/test-decode.c:
24927           Add initial MPEG-2 decoder.
24928
24929 2011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24930
24931         * configure.ac:
24932         * gst-libs/gst/vaapi/Makefile.am:
24933         * gst/vaapi/gstvaapidecode.c:
24934         * tests/test-decode.c:
24935           Allow conditional build of GStreamer/FFmpeg bitstream parsers.
24936
24937 2011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24938
24939         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24940         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24941           Add VA decoder helpers.
24942
24943 2011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24944
24945         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24946           decoder: add new error codes.
24947           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
24948           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
24949
24950 2011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24951
24952         * gst-libs/gst/vaapi/Makefile.am:
24953         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
24954         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
24955           Add timestamp buffer store helper utils.
24956
24957 2011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24958
24959         * gst-libs/gst/vaapi/gstvaapiutils.c:
24960         * gst-libs/gst/vaapi/gstvaapiutils.h:
24961           Add VA buffer helpers.
24962
24963 2012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24964
24965         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24966           utils: slight improvements to gl_bind_texture().
24967
24968 2012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24969
24970         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24971           utils: pretty-print output of gl_get_error_string().
24972
24973 2012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24974
24975         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24976           utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
24977
24978 2012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24979
24980         * gst-libs/gst/vaapi/gstvaapiutils.c:
24981           utils: simplify string of VAProfile/VAEntrypoint.
24982
24983 2012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24984
24985         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24986         * gst-libs/gst/vaapi/gstvaapiutils.c:
24987         * gst-libs/gst/vaapi/gstvaapiutils.h:
24988           utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
24989
24990 2012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24991
24992         * NEWS:
24993           NEWS: updates.
24994
24995 2012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24996
24997         * tests/test-decode.c:
24998           tests: check for shared VA displays (display cache).
24999
25000 2012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25001
25002         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25003           display: always free VA display cache if it is empty.
25004
25005 2012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25006
25007         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25008         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25009         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
25010         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25011         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25012           display: use VA display cache for X11 and GLX winsys.
25013
25014 2012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25015
25016         * gst-libs/gst/vaapi/Makefile.am:
25017         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25018         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
25019         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
25020           display: implement a VA display cache.
25021
25022 2012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25023
25024         * gst/vaapi/gstvaapipluginutil.c:
25025           vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
25026           This ensures the display name provided to gst_vaapi_display_*_new()
25027           maps to the system defaults, instead of forcing "" that could be different
25028           from the current DISPLAY name.
25029
25030 2011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25031
25032         * gst/vaapi/gstvaapiupload.c:
25033           vaapiupload: only set caps on newly created buffers.
25034           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25035
25036 2012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25037
25038         * gst/vaapi/gstvaapisink.c:
25039           vaapisink: ensure VA display in GstBaseSink::start() hook.
25040           This ensures a VA display is ready by the time upstream elements request
25041           for it.
25042
25043 2011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25044
25045         * gst/vaapi/gstvaapisink.c:
25046           vaapisink: don't leak GL texture.
25047           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25048
25049 2012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25050
25051         * gst/vaapi/gstvaapisink.c:
25052           vaapisink: fix calculation of render region.
25053
25054 2012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25055
25056         * gst/vaapi/gstvaapisink.c:
25057           vaapisink: automatically fit video to window.
25058
25059 2012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25060
25061         * gst/vaapi/gstvaapisink.c:
25062           vaapisink: implement GstXOverlay::set_render_rectangle().
25063
25064 2012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25065
25066         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25067           window: always check geometry when the window is mapped.
25068
25069 2012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
25070
25071         * gst-libs/gst/vaapi/gstvaapiutils.c:
25072           Add missing profiles from VA-API 0.32.0.
25073           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25074
25075 2012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25076
25077         * .gitignore:
25078           .gitignore: add test-subpicture.
25079
25080 2012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25081
25082         * configure.ac:
25083           Bump version for development.
25084
25085 === release 0.3.2 ===
25086
25087 2012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25088
25089         * NEWS:
25090         * configure.ac:
25091           0.3.2.
25092
25093 2012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25094
25095         * tests/Makefile.am:
25096           tests: fix make dist (ship with test-subpicture-data.h).
25097
25098 2012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25099
25100         * NEWS:
25101           NEWS: updates.
25102
25103 2012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25104
25105         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25106         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25107         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25108           decoder: fix possible leak of VA surfaces.
25109           Under some circumstances, we could have leaked a surface, thus not
25110           releasing it to the pool of available surfaces in the VA context.
25111           The strategy is now to use a proxy earlier and automatically ref/unref
25112           whenever necessary. In particular, during the lifetime needed for FFmpeg.
25113
25114 2012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25115
25116         * docs/reference/libs/libs-sections.txt:
25117         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25118         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25119           surfaceproxy: add helper to retrieve the VA surface ID.
25120
25121 2012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25122
25123         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25124           surfaceproxy: simplify destruction.
25125           Also make sure to always make sure to release the surface back to the
25126           pool of surfaces in the associated VA context, if any.
25127
25128 2012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25129
25130         * gst/vaapi/gstvaapidecode.c:
25131           vaapidecode: fix deinitialization order.
25132
25133 2012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25134
25135         * gst-libs/gst/vaapi/gstvaapicontext.c:
25136           context: avoid self reference loops with surfaces.
25137
25138 2012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25139
25140         * debian.upstream/control.in:
25141           debian: update control.in description for new plugins.
25142
25143 2012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25144
25145         * gst/vaapi/gstvaapiupload.c:
25146           vaapiupload: use new gst_vaapi_append_surface_caps() helper.
25147           This also fixes extra structures, beyond the one at index 0, to hold
25148           the right additional values.
25149
25150 2012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25151
25152         * gst/vaapi/gstvaapiupload.c:
25153           vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
25154
25155 2012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25156
25157         * README:
25158         * docs/reference/plugins/plugins-docs.xml.in:
25159         * docs/reference/plugins/plugins-sections.txt:
25160         * docs/reference/plugins/plugins.types:
25161         * gst/vaapi/Makefile.am:
25162         * gst/vaapi/gstvaapi.c:
25163         * gst/vaapi/gstvaapidownload.c:
25164         * gst/vaapi/gstvaapidownload.h:
25165           vaapidownload: add new plugin to download pixels from VA surfaces.
25166
25167 2012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25168
25169         * gst/vaapi/gstvaapipluginutil.c:
25170         * gst/vaapi/gstvaapipluginutil.h:
25171           vaapipluingutils: add helper to append surface caps to YUV caps.
25172
25173 2012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25174
25175         * docs/reference/libs/libs-sections.txt:
25176         * gst-libs/gst/vaapi/gstvaapiimage.c:
25177         * gst-libs/gst/vaapi/gstvaapiimage.h:
25178           image: add helpers to extract pixels to user buffers.
25179
25180 2012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25181
25182         * gst-libs/gst/vaapi/gstvaapiimage.c:
25183           image: simplify initialization of raw images from video buffers.
25184
25185 2012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25186
25187         * gst-libs/gst/vaapi/gstvaapiimage.c:
25188           image: fix update from NV12 buffers.
25189
25190 2012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25191
25192         * gst/vaapi/gstvaapiupload.c:
25193           vaapiupload: fix memory leak in _init() function.
25194
25195 2012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25196
25197         * NEWS:
25198         * README:
25199         * debian.upstream/control.in:
25200         * docs/reference/plugins/plugins-docs.xml.in:
25201         * docs/reference/plugins/plugins-sections.txt:
25202         * docs/reference/plugins/plugins.types:
25203         * gst/vaapi/Makefile.am:
25204         * gst/vaapi/gstvaapi.c:
25205         * gst/vaapi/gstvaapiupload.c:
25206         * gst/vaapi/gstvaapiupload.h:
25207           Rename vaapiconvert element to vaapiupload.
25208
25209 2012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25210
25211         * configure.ac:
25212           Bump version for development.
25213
25214 === release 0.3.1 ===
25215
25216 2012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25217
25218         * NEWS:
25219         * configure.ac:
25220           0.3.1.
25221
25222 2011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25223
25224         * NEWS:
25225           NEWS: updates.
25226
25227 2011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25228
25229         * gst-libs/gst/vaapi/gstvaapisurface.c:
25230         * gst-libs/gst/vaapi/gstvaapisurface.h:
25231         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25232         * gst/vaapi/gstvaapisink.c:
25233           surface: apply composition to the parent context, if requested.
25234
25235 2011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25236
25237         * docs/reference/libs/libs-sections.txt:
25238         * gst-libs/gst/vaapi/gstvaapicontext.c:
25239         * gst-libs/gst/vaapi/gstvaapicontext.h:
25240           context: make it possible to apply composition globally.
25241
25242 2011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25243
25244         * gst-libs/gst/vaapi/gstvaapisurface.c:
25245           surface: fix associate subpicture to not report deassociation errors.
25246
25247 2011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25248
25249         * gst-libs/gst/vaapi/gstvaapisurface.c:
25250           surface: fix typo in debug message.
25251
25252 2011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25253
25254         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25255         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
25256         * gst-libs/gst/vaapi/gstvaapisurface.c:
25257           subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
25258
25259 2011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25260
25261         * docs/reference/libs/libs-sections.txt:
25262         * gst-libs/gst/vaapi/Makefile.am:
25263         * gst-libs/gst/vaapi/gstvaapicontext.c:
25264         * gst-libs/gst/vaapi/gstvaapisurface.c:
25265         * gst-libs/gst/vaapi/gstvaapisurface.h:
25266         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
25267           surface: record parent context.
25268
25269 2011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25270
25271         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25272         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25273         * gst/vaapi/gstvaapidecode.c:
25274         * gst/vaapi/gstvaapisink.c:
25275           Fix warnings.
25276
25277 2011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25278
25279         * gst-libs/gst/vaapi/gstvaapisurface.c:
25280         * gst-libs/gst/vaapi/gstvaapisurface.h:
25281         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25282         * gst/vaapi/gstvaapisink.c:
25283           Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
25284
25285 2011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25286
25287         * configure.ac:
25288           configure: check for GstVideoOverlayComposition.
25289
25290 2011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25291
25292         * NEWS:
25293           NEWS: updates.
25294
25295 2011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25296
25297         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25298           converter: add support for GstVideoOverlayComposition planes.
25299           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25300
25301 2011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
25302
25303         * gst/vaapi/gstvaapisink.c:
25304           vaapisink: handle GstVideoOverlayComposition planes.
25305           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25306
25307 2011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25308
25309         * gst-libs/gst/vaapi/gstvaapisurface.c:
25310           surface: use unscaled overlay rectangle for blending.
25311
25312 2011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25313
25314         * gst-libs/gst/vaapi/gstvaapisurface.c:
25315           surface: fix VA image leak when an error occurred.
25316
25317 2011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25318
25319         * gst-libs/gst/vaapi/gstvaapisurface.c:
25320         * gst-libs/gst/vaapi/gstvaapisurface.h:
25321           surface: add helper to handle GstVideoOverlayComposition.
25322           This helper resets the subpictures to reflect the current composition
25323           layers provided with the buffers.
25324           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25325
25326 2011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25327
25328         * docs/reference/libs/libs-sections.txt:
25329         * gst-libs/gst/vaapi/Makefile.am:
25330         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25331         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
25332         * gst/vaapi/gstvaapiconvert.c:
25333           image: add gst_vaapi_image_format_from_video() helper.
25334
25335 2011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25336
25337         * gst-libs/gst/vaapi/gstvaapiimage.c:
25338         * gst-libs/gst/vaapi/gstvaapiimage.h:
25339           image: allow updates from GstVaapiImageRaw.
25340
25341 2011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25342
25343         * gst-libs/gst/vaapi/gstvaapiimage.c:
25344         * gst-libs/gst/vaapi/gstvaapiimage.h:
25345         * gst/vaapi/gstvaapiconvert.c:
25346         * tests/test-subpicture.c:
25347           image: allow partial updates.
25348
25349 2011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25350
25351         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25352           subpicture: fix doc for gst_vaapi_subpicture_set_image().
25353
25354 2011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25355
25356         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25357           display: fix has_image_format() to check against subpicture formats.
25358
25359 2011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25360
25361         * tests/test-subpicture.c:
25362           tests: fix subpicture test.
25363
25364 2011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
25365
25366         * tests/Makefile.am:
25367         * tests/test-subpicture-data.c:
25368         * tests/test-subpicture-data.h:
25369         * tests/test-subpicture.c:
25370           tests: add test for subpictures.
25371           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25372
25373 2011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25374
25375         * gst/vaapi/gstvaapiconvert.c:
25376         * gst/vaapi/gstvaapidecode.c:
25377           Add missing video context queries.
25378           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25379
25380 2011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25381
25382         * configure.ac:
25383           Bump version for development.
25384
25385 2011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25386
25387         * gst-libs/gst/video/Makefile.am:
25388         * gst-libs/gst/video/gstbasevideocodec.c:
25389         * gst-libs/gst/video/gstbasevideocodec.h:
25390         * gst-libs/gst/video/gstbasevideodecoder.c:
25391         * gst-libs/gst/video/gstbasevideodecoder.h:
25392         * gst-libs/gst/video/gstbasevideoutils.c:
25393         * gst-libs/gst/video/gstbasevideoutils.h:
25394           Drop unused copy of GstBaseVideoDecoder.
25395
25396 === release 0.3.0 ===
25397
25398 2011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25399
25400         * NEWS:
25401         * configure.ac:
25402           0.3.0.
25403
25404 2011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25405
25406         * README:
25407           README: update dependencies.
25408
25409 2011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25410
25411         * NEWS:
25412           NEWS: updates.
25413
25414 2011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25415
25416         * configure.ac:
25417           configure: check for GstBaseSink 'query' vfunc.
25418
25419 2011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25420
25421         * gst/vaapi/Makefile.am:
25422           vaapiplugin: include local build dir to CFLAGS for generated files.
25423
25424 2011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25425
25426         * autogen.sh:
25427           autogen: don't configure if NO_CONFIGURE variable is set.
25428
25429 2011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25430
25431         * gst/vaapi/gstvaapidecode.c:
25432         * gst/vaapi/gstvaapidecode.h:
25433           vaapidecode: return sink caps template if decoder is in NULL state.
25434           Otherwise, the decoder would always create its own X display instead
25435           of probing it from the downstream element, which is not reliable.
25436           e.g. DISPLAY is not :0 or when running on Wayland.
25437           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25438
25439 2011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25440
25441         * gst/vaapi/gstvaapiconvert.c:
25442         * gst/vaapi/gstvaapidecode.c:
25443           vaapiplugin: properly set surface type to "vaapi" in caps.
25444
25445 2011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25446
25447         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25448           decoder: drop unused headers.
25449
25450 2011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25451
25452         * gst/vaapi/gstvaapiconvert.c:
25453         * gst/vaapi/gstvaapidecode.c:
25454           vaapiplugin: properly set opengl support in caps.
25455           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25456
25457 2011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25458
25459         * gst/vaapi/gstvaapiconvert.c:
25460         * gst/vaapi/gstvaapidecode.c:
25461           vaapiplugin: allocate GLX buffers when supported.
25462           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25463
25464 2011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25465
25466         * gst-libs/gst/vaapi/Makefile.am:
25467         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25468         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
25469         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25470         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
25471         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25472         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
25473           videobuffer: add GLX buffer support.
25474           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25475
25476 2011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25477
25478         * gst-libs/gst/vaapi/Makefile.am:
25479         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25480         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25481           Port to GstSurfaceBuffer interface.
25482           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25483
25484 2011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25485
25486         * gst/vaapi/gstvaapidecode.c:
25487         * gst/vaapi/gstvaapisink.c:
25488           Don't use downstream buffer allocation.
25489           With the new video/x-surface abstraction, we can't rely on having a VA
25490           specific sink downstream. Also, there was no particular reason to do that.
25491           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25492
25493 2011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25494
25495         * gst-libs/gst/vaapi/Makefile.am:
25496         * gst-libs/gst/vaapi/gstvaapicontext.c:
25497         * gst-libs/gst/vaapi/gstvaapisurface.h:
25498         * gst/vaapi/gstvaapiconvert.c:
25499         * gst/vaapi/gstvaapisink.c:
25500         * tests/Makefile.am:
25501         * tests/test-surfaces.c:
25502           Change caps to use new video/x-surface generic type.
25503           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25504
25505 2011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25506
25507         * configure.ac:
25508         * gst-libs/gst/vaapi/Makefile.am:
25509         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
25510         * gst/vaapi/Makefile.am:
25511         * gst/vaapi/gstvaapiconvert.c:
25512         * gst/vaapi/gstvaapidecode.c:
25513         * gst/vaapi/gstvaapipluginutil.c:
25514         * gst/vaapi/gstvaapipluginutil.h:
25515         * gst/vaapi/gstvaapisink.c:
25516         * gst/vaapi/gstvaapisink.h:
25517           Port to GstVideoContext interface.
25518           This new interface allows for upstream and downstream display sharing
25519           that works in both static and dynamic pipelines.
25520           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25521
25522 2011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25523
25524         * gst/vaapi/gstvaapisink.c:
25525           vaapisink: use GST_ERROR to print error messages.
25526
25527 2011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25528
25529         * gst/vaapi/Makefile.am:
25530           vaapiplugin: link against VA/GLX when enabled.
25531
25532 2011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25533
25534         * gst/vaapi/gstvaapiconvert.c:
25535         * gst/vaapi/gstvaapisink.c:
25536           Add Intel copyright information.
25537
25538 2011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25539
25540         * gst/vaapi/gstvaapisink.c:
25541           vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
25542
25543 2011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25544
25545         * .gitignore:
25546         * configure.ac:
25547         * gst-libs/gst/Makefile.am:
25548         * gst-libs/gst/gstutils_version.h.in:
25549           Add new GStreamer version check utilities.
25550
25551 2011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25552
25553         * gst/vaapi/gstvaapisink.c:
25554           vaapisink: replace the deprecated xoverlay API with the new one.
25555           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25556
25557 2011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25558
25559         * configure.ac:
25560           configure: allow for pre-releases.
25561
25562 2011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25563
25564         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25565           display: destroy display on creation failure.
25566           This allows element to detect that the display creation has actually
25567           failed.
25568           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25569
25570 2011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25571
25572         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25573           display: don't crash when config is empty.
25574           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25575
25576 2011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25577
25578         * README:
25579         * debian.upstream/copyright:
25580           doc: mention Collabora copyrights.
25581
25582 2011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25583
25584         * .gitignore:
25585           .gitignore: refine for generated docs.
25586
25587 2011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25588
25589         * configure.ac:
25590         * docs/reference/plugins/Makefile.am:
25591         * gst/Makefile.am:
25592         * gst/vaapi/Makefile.am:
25593         * gst/vaapi/gstvaapi.c:
25594         * gst/vaapi/gstvaapiconvert.c:
25595         * gst/vaapi/gstvaapiconvert.h:
25596         * gst/vaapi/gstvaapidecode.c:
25597         * gst/vaapi/gstvaapidecode.h:
25598         * gst/vaapi/gstvaapisink.c:
25599         * gst/vaapi/gstvaapisink.h:
25600         * gst/vaapiconvert/Makefile.am:
25601         * gst/vaapidecode/Makefile.am:
25602           Group all plugins into the same bundle
25603           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25604
25605 2011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25606
25607         * configure.ac:
25608           Bump version for development.
25609
25610 2011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25611
25612         * configure.ac:
25613         * debian.upstream/control.in:
25614           debian: build against upstream libva packages.
25615
25616 2011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25617
25618         * docs/reference/libs/Makefile.am:
25619         * docs/reference/plugins/Makefile.am:
25620         * tests/Makefile.am:
25621           Fix build on Ubuntu 11.10 (Oneric).
25622
25623 2011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25624
25625         * NEWS:
25626           0.2.7.
25627
25628 2011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25629
25630         * .gitignore:
25631           Adding ignore file
25632           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25633
25634 2011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25635
25636         * gst/vaapiconvert/gstvaapiconvert.c:
25637         * gst/vaapidecode/gstvaapidecode.c:
25638         * gst/vaapisink/gstvaapisink.c:
25639           Update license in plugin definition
25640           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25641
25642 2011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25643
25644         * NEWS:
25645         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25646           decoder: fix use of invalid data at the end-of-stream.
25647
25648 2011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25649
25650         * gst/vaapiconvert/gstvaapiconvert.c:
25651           vaapiconvert: fix some warnings.
25652
25653 2011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25654
25655         * configure.ac:
25656         * debian.upstream/changelog.in:
25657         * debian.upstream/control.in:
25658         * debian.upstream/copyright:
25659         * gst/vaapiconvert/gstvaapiconvert.c:
25660         * gst/vaapidecode/gstvaapidecode.c:
25661         * gst/vaapisink/gstvaapisink.c:
25662           Update with my current e-mail address.
25663
25664 2011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25665
25666         * NEWS:
25667         * README:
25668           Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
25669
25670 2011-10-18 09:18:20 +0200  warly <warly@warly.org>
25671
25672         * tests/image.c:
25673         * tests/image.h:
25674         * tests/test-decode.c:
25675         * tests/test-decode.h:
25676         * tests/test-display.c:
25677         * tests/test-h264.c:
25678         * tests/test-h264.h:
25679         * tests/test-mpeg2.c:
25680         * tests/test-mpeg2.h:
25681         * tests/test-surfaces.c:
25682         * tests/test-textures.c:
25683         * tests/test-vc1.c:
25684         * tests/test-vc1.h:
25685         * tests/test-windows.c:
25686           switch tests licence to LGPL v2.1+
25687
25688 2011-10-18 09:06:52 +0200  warly <warly@warly.org>
25689
25690         * COPYING:
25691         * README:
25692         * debian.upstream/copyright:
25693         * gst/vaapiconvert/gstvaapiconvert.c:
25694         * gst/vaapiconvert/gstvaapiconvert.h:
25695         * gst/vaapidecode/gstvaapidecode.c:
25696         * gst/vaapidecode/gstvaapidecode.h:
25697         * gst/vaapisink/gstvaapisink.c:
25698         * gst/vaapisink/gstvaapisink.h:
25699           move plugins to LGPL v2.1+
25700
25701 2011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25702
25703         * gst/vaapidecode/gstvaapidecode.c:
25704           vaapidecode: fix sink caps to not expose size information.
25705           This fixes this particular issue:
25706           GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
25707           a real subset of its template caps
25708
25709 2011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25710
25711         * NEWS:
25712         * gst/vaapidecode/gstvaapidecode.c:
25713           vaapidecode: fix decoding of MPEG-2 PS files.
25714
25715 2011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25716
25717         * gst-libs/gst/vaapi/Makefile.am:
25718           Cosmetics (sort source files).
25719
25720 2011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25721
25722         * gst/vaapiconvert/gstvaapiconvert.c:
25723         * gst/vaapiconvert/gstvaapiconvert.h:
25724           vaapiconvert: fix direct-rendering caps detection.
25725
25726 2011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25727
25728         * gst-libs/gst/vaapi/gstvaapiimage.c:
25729           Fix gst_vaapi_image_new_with_image().
25730
25731 2011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25732
25733         * gst/vaapiconvert/gstvaapiconvert.c:
25734           vaapiconvert: warn when surface failed to be updated with image.
25735
25736 2011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25737
25738         * gst/vaapiconvert/gstvaapiconvert.c:
25739           vaapiconvert: fix autodetection for vaDeriveImage() support.
25740
25741 2011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25742
25743         * gst/vaapiconvert/gstvaapiconvert.c:
25744           vaapiconvert: fix memory leak (VA surface image).
25745
25746 2011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25747
25748         * NEWS:
25749         * gst/vaapiconvert/gstvaapiconvert.c:
25750           vaapiconvert: fix direct-rendering mode.
25751
25752 2011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25753
25754         * docs/reference/libs/libs-sections.txt:
25755         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25756         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25757           Add gst_vaapi_video_buffer_new_from_buffer().
25758           Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
25759           Any image, surface or surface proxy will be inherited from the source buffer
25760           if it is a GstVaapiVideoBuffer.
25761
25762 2011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25763
25764         * gst/vaapiconvert/gstvaapiconvert.c:
25765           vaapiconvert: protect access to direct_rendering.
25766
25767 2011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25768
25769         * gst/vaapiconvert/gstvaapiconvert.c:
25770           vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
25771
25772 2011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25773
25774         * NEWS:
25775         * README:
25776         * debian.upstream/copyright:
25777         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25778         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25779         * gst-libs/gst/vaapi/gstvaapisurface.h:
25780         * gst/vaapidecode/gstvaapidecode.c:
25781         * gst/vaapidecode/gstvaapidecode.h:
25782           Add Intel copyright information.
25783
25784 2011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25785
25786         * NEWS:
25787           Updates.
25788
25789 2011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25790
25791         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25792           Fix build with newer FFmpeg versions.
25793
25794 2011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25795
25796         * gst/vaapidecode/gstvaapidecode.c:
25797         * gst/vaapidecode/gstvaapidecode.h:
25798           Fix decoding of MPEG-2 TS files.
25799
25800 2011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25801
25802         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25803           Report caps update only once per video resolution change.
25804
25805 2011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25806
25807         * gst-libs/gst/vaapi/gstvaapisurface.h:
25808           Add canonical form (type name) of VA surface caps.
25809
25810 2011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25811
25812         * configure.ac:
25813           Bump version for development.
25814
25815 2011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25816
25817         * configure.ac:
25818           Use pretty build output with automake >= 1.11.
25819
25820 2011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25821
25822         * gst/vaapiconvert/Makefile.am:
25823         * gst/vaapidecode/Makefile.am:
25824         * gst/vaapisink/Makefile.am:
25825         * tests/Makefile.am:
25826           Fix build with libva headers not in a standard include dir.
25827
25828 === release 0.2.6 ===
25829
25830 2011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
25831
25832         * configure.ac:
25833           0.2.6.
25834
25835 2011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
25836
25837         * gst-libs/gst/vaapi/gstvaapi_priv.h:
25838         * gst-libs/gst/vaapi/gstvaapicompat.h:
25839         * gst-libs/gst/vaapi/gstvaapicontext.c:
25840         * gst-libs/gst/vaapi/gstvaapicontext.h:
25841         * gst-libs/gst/vaapi/gstvaapidebug.h:
25842         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25843         * gst-libs/gst/vaapi/gstvaapidecoder.h:
25844         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25845         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
25846         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25847         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25848         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25849         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
25850         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
25851         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
25852         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25853         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25854         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
25855         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25856         * gst-libs/gst/vaapi/gstvaapiimage.c:
25857         * gst-libs/gst/vaapi/gstvaapiimage.h:
25858         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25859         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
25860         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25861         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
25862         * gst-libs/gst/vaapi/gstvaapiobject.c:
25863         * gst-libs/gst/vaapi/gstvaapiobject.h:
25864         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
25865         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
25866         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
25867         * gst-libs/gst/vaapi/gstvaapiprofile.c:
25868         * gst-libs/gst/vaapi/gstvaapiprofile.h:
25869         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25870         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
25871         * gst-libs/gst/vaapi/gstvaapisurface.c:
25872         * gst-libs/gst/vaapi/gstvaapisurface.h:
25873         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25874         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
25875         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25876         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25877         * gst-libs/gst/vaapi/gstvaapitexture.c:
25878         * gst-libs/gst/vaapi/gstvaapitexture.h:
25879         * gst-libs/gst/vaapi/gstvaapitypes.h:
25880         * gst-libs/gst/vaapi/gstvaapiutils.c:
25881         * gst-libs/gst/vaapi/gstvaapiutils.h:
25882         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25883         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
25884         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
25885         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
25886         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25887         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
25888         * gst-libs/gst/vaapi/gstvaapivalue.c:
25889         * gst-libs/gst/vaapi/gstvaapivalue.h:
25890         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25891         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25892         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25893         * gst-libs/gst/vaapi/gstvaapivideopool.h:
25894         * gst-libs/gst/vaapi/gstvaapivideosink.c:
25895         * gst-libs/gst/vaapi/gstvaapivideosink.h:
25896         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25897         * gst-libs/gst/vaapi/gstvaapiwindow.h:
25898         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
25899         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
25900         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25901         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
25902         * gst/vaapiconvert/gstvaapiconvert.c:
25903         * gst/vaapiconvert/gstvaapiconvert.h:
25904         * gst/vaapidecode/gstvaapidecode.c:
25905         * gst/vaapidecode/gstvaapidecode.h:
25906         * gst/vaapisink/gstvaapisink.c:
25907         * gst/vaapisink/gstvaapisink.h:
25908         * tests/image.c:
25909         * tests/image.h:
25910         * tests/test-decode.c:
25911         * tests/test-decode.h:
25912         * tests/test-display.c:
25913         * tests/test-h264.c:
25914         * tests/test-h264.h:
25915         * tests/test-mpeg2.c:
25916         * tests/test-mpeg2.h:
25917         * tests/test-surfaces.c:
25918         * tests/test-textures.c:
25919         * tests/test-vc1.c:
25920         * tests/test-vc1.h:
25921         * tests/test-windows.c:
25922           Update copyright notice.
25923
25924 2011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
25925
25926         * NEWS:
25927         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25928         * gst-libs/gst/vaapi/gstvaapisurface.c:
25929         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25930         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25931         * gst-libs/gst/vaapi/gstvaapitexture.c:
25932         * gst-libs/gst/vaapi/gstvaapiutils.c:
25933         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25934         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25935         * gst-libs/gst/vaapi/gstvaapivalue.c:
25936         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25937         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25938         * gst-libs/gst/vaapi/gstvaapivideosink.c:
25939         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25940         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
25941         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25942           Fix licensing terms.
25943
25944 2010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25945
25946         * NEWS:
25947           0.2.5.
25948
25949 2010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25950
25951         * debian.upstream/copyright:
25952           Fix license terms...
25953
25954 2010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25955
25956         * gst/vaapisink/gstvaapisink.c:
25957           Render pretty background only in use-reflection=true mode.
25958
25959 2010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25960
25961         * NEWS:
25962           Updates.
25963
25964 2010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25965
25966         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25967           Drop the GLX 1.3 requirement.
25968
25969 2010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25970
25971         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25972         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
25973           Call the GLX/Pixmap related functions through the vtable.
25974
25975 2010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25976
25977         * NEWS:
25978         * configure.ac:
25979         * gst-libs/gst/vaapi/Makefile.am:
25980         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25981           Drop dependency on libavformat.
25982
25983 2010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25984
25985         * gst-libs/gst/video/gstbasevideodecoder.c:
25986         * gst-libs/gst/video/gstbasevideodecoder.h:
25987           Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
25988
25989 2010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25990
25991         * gst-libs/gst/video/gstbasevideodecoder.c:
25992         * gst-libs/gst/video/gstbasevideoutils.c:
25993         * gst-libs/gst/video/gstbasevideoutils.h:
25994           Drop superfluous functions.
25995
25996 2010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25997
25998         * gst-libs/gst/video/gstbasevideodecoder.c:
25999           Really drop any dependency on libgstvideo. i.e. inline the helpers.
26000
26001 2010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26002
26003         * gst-libs/gst/video/gstbasevideodecoder.c:
26004           Further drop dependency on libgstvideo.
26005
26006 2010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26007
26008         * gst-libs/gst/video/Makefile.am:
26009         * gst-libs/gst/video/gstbasevideocodec.c:
26010         * gst-libs/gst/video/gstbasevideocodec.h:
26011         * gst-libs/gst/video/gstbasevideodecoder.c:
26012         * gst-libs/gst/video/gstbasevideodecoder.h:
26013         * gst-libs/gst/video/gstbasevideoutils.c:
26014         * gst-libs/gst/video/gstbasevideoutils.h:
26015           Add GstBaseVideoDecoder from gst-plugins-bad git.
26016
26017 2010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26018
26019         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26020           Fix GLX version check.
26021
26022 2010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26023
26024         * NEWS:
26025         * configure.ac:
26026           Bump version for development.
26027
26028 2010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26029
26030         * NEWS:
26031         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26032           Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
26033
26034 2010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26035
26036         * NEWS:
26037           Update changelog.
26038
26039 2010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26040
26041         * gst-libs/gst/vaapi/gstvaapicompat.h:
26042           Fix build with older VA-API 0.29-sds.
26043
26044 === release 0.2.4 ===
26045
26046 2010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26047
26048         * gst/vaapisink/gstvaapisink.c:
26049         * gst/vaapisink/gstvaapisink.h:
26050           Fix upscaling in foreign window (Totem).
26051
26052 2010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26053
26054         * gst/vaapisink/gstvaapisink.c:
26055           Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
26056
26057 2010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26058
26059         * NEWS:
26060         * gst/vaapisink/gstvaapisink.c:
26061           Fix video rendering rect within an embedder window (Totem).
26062
26063 2010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26064
26065         * NEWS:
26066         * gst/vaapisink/gstvaapisink.c:
26067           Disable GLX rendering when vaapisink uses a foreign X window.
26068
26069 2010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26070
26071         * gst/vaapisink/gstvaapisink.c:
26072           Simplify GLX rendering code.
26073
26074 2010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26075
26076         * configure.ac:
26077           Bump version for development.
26078
26079 === release 0.2.3 ===
26080
26081 2010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26082
26083         * NEWS:
26084           0.2.3.
26085
26086 2010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26087
26088         * gst/vaapidecode/gstvaapidecode.c:
26089           Wait for at most one second for a VA surface to become available.
26090
26091 2010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26092
26093         * README:
26094         * configure.ac:
26095           Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
26096
26097 2010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26098
26099         * NEWS:
26100         * README:
26101         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26102           Fix decoder caps to report codec aliases.
26103
26104 2010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26105
26106         * NEWS:
26107         * gst/vaapidecode/gstvaapidecode.c:
26108         * gst/vaapidecode/gstvaapidecode.h:
26109           Fix VC-1 decoding through the playbin2 pipeline.
26110
26111 2010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26112
26113         * docs/reference/libs/libs-sections.txt:
26114         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26115         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26116         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26117         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26118           Regularly update and expose decoder caps.
26119
26120 2010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26121
26122         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26123         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26124         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26125           Add mechanism to reinsert buffer leftovers into the queue.
26126
26127 2010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26128
26129         * NEWS:
26130         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26131           Fix memory leak of encoded buffers.
26132
26133 2010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26134
26135         * docs/reference/libs/libs-sections.txt:
26136         * gst-libs/gst/vaapi/gstvaapicontext.c:
26137         * gst-libs/gst/vaapi/gstvaapicontext.h:
26138         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26139         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26140           Check for out-of-free-surfaces condition.
26141
26142 2010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26143
26144         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26145           Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
26146
26147 2010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26148
26149         * gst/vaapisink/gstvaapisink.c:
26150           Improve debug info for gst_vaapisink_ensure_render_rect().
26151
26152 2010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26153
26154         * configure.ac:
26155           Bump version for development.
26156
26157 === release 0.2.2 ===
26158
26159 2010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26160
26161         * NEWS:
26162           0.2.2.
26163
26164 2010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26165
26166         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26167           Improve previous fix.
26168
26169 2010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26170
26171         * NEWS:
26172         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26173           Fix a crash in the FFmpeg decoder on close.
26174
26175 2010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26176
26177         * README:
26178           Sort platforms by name.
26179
26180 2010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26181
26182         * NEWS:
26183         * configure.ac:
26184           Bump version for development.
26185
26186 2010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26187
26188         * gst/vaapisink/gstvaapisink.c:
26189           Add debug info for _show_frame().
26190
26191 2010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26192
26193         * Makefile.am:
26194           Nuke older build dir.
26195
26196 2010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26197
26198         * debian.upstream/control.in:
26199           Fix packaging deps.
26200
26201 2010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26202
26203         * NEWS:
26204           Cosmetics.
26205
26206 2010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26207
26208         * NEWS:
26209         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26210           Fix OpenGL texture internal format (Clutter).
26211
26212 2010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26213
26214         * NEWS:
26215           Respin release.
26216
26217 2010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26218
26219         * gst/vaapisink/gstvaapisink.c:
26220           Debug video & display PARs.
26221
26222 2010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26223
26224         * gst/vaapisink/gstvaapisink.c:
26225           Use XGetGeometry() to retrieve the window size.
26226
26227 === release 0.2.1 ===
26228
26229 2010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26230
26231         * gst/vaapisink/gstvaapisink.c:
26232           Move code around.
26233
26234 2010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26235
26236         * gst/vaapisink/gstvaapisink.c:
26237           Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
26238
26239 2010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26240
26241         * README:
26242           Drop obsolete comment.
26243
26244 2010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26245
26246         * NEWS:
26247           0.2.1.
26248
26249 2010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26250
26251         * gst/vaapidecode/gstvaapidecode.c:
26252           Fix GstVaapiDisplay refcounting in vaapidecode.
26253
26254 2010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26255
26256         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
26257           Fix comment.
26258
26259 2010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26260
26261         * gst/vaapisink/gstvaapisink.c:
26262         * gst/vaapisink/gstvaapisink.h:
26263           Fix render rect when the foreign window size changes.
26264
26265 2010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26266
26267         * NEWS:
26268         * configure.ac:
26269         * gst/vaapisink/Makefile.am:
26270         * gst/vaapisink/gstvaapisink.c:
26271           Add GstXOverlay interface to vaapisink (e.g. for Totem).
26272
26273 2010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26274
26275         * README:
26276           Update deps to match configure.ac versions.
26277
26278 2010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26279
26280         * gst/vaapiconvert/gstvaapiconvert.c:
26281         * gst/vaapidecode/gstvaapidecode.c:
26282         * gst/vaapisink/gstvaapisink.c:
26283           Cosmetics.
26284
26285 2010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26286
26287         * NEWS:
26288         * gst/vaapidecode/Makefile.am:
26289         * gst/vaapidecode/gstvaapidecode.c:
26290         * gst/vaapidecode/gstvaapidecode.h:
26291           Fix vaapidecode to expose the HW supported caps only.
26292
26293 2010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26294
26295         * gst/vaapidecode/gstvaapidecode.c:
26296           Initialize decoder earlier.
26297
26298 2010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26299
26300         * NEWS:
26301         * README:
26302         * gst/vaapidecode/gstvaapidecode.c:
26303           Fix integration within the playbin2 pipeline.
26304
26305 2010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26306
26307         * docs/reference/libs/Makefile.am:
26308           Exclude gstvaapiutils_gst.h from docs for now.
26309
26310 2010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26311
26312         * gst/vaapiconvert/gstvaapiconvert.c:
26313         * gst/vaapidecode/gstvaapidecode.c:
26314         * gst/vaapisink/gstvaapisink.c:
26315           Raise VA-API plugins ranks.
26316
26317 2010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26318
26319         * gst-libs/gst/vaapi/Makefile.am:
26320         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
26321         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
26322           Add gst_vaapi_display_lookup_downstream() helper.
26323
26324 2010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26325
26326         * gst/vaapidecode/gstvaapidecode.c:
26327           Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
26328
26329 2010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26330
26331         * docs/reference/libs/libs-sections.txt:
26332         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26333         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26334         * gst/vaapisink/gstvaapisink.c:
26335           Expose VA display through GstVaapiVideoBuffer.
26336
26337 2010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26338
26339         * gst/vaapidecode/gstvaapidecode.c:
26340           Simplify gst_vaapidecode_set_caps() and fix memory leak.
26341
26342 2010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26343
26344         * docs/reference/libs/libs-sections.txt:
26345         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26346         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26347           Expose video pool display.
26348
26349 2010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26350
26351         * gst-libs/gst/vaapi/gstvaapivideosink.c:
26352           Stop iteration if there is no more element to examine.
26353
26354 2010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26355
26356         * gst/vaapiconvert/gstvaapiconvert.c:
26357         * gst/vaapidecode/gstvaapidecode.c:
26358         * gst/vaapisink/gstvaapisink.c:
26359           Improve plugin details.
26360
26361 2010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26362
26363         * gst-libs/gst/vaapi/gstvaapisurface.h:
26364         * gst/vaapiconvert/gstvaapiconvert.c:
26365         * gst/vaapidecode/gstvaapidecode.c:
26366         * gst/vaapisink/gstvaapisink.c:
26367           Factor out VA surface caps.
26368
26369 2010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26370
26371         * gst/vaapidecode/gstvaapidecode.c:
26372           Add gst_vaapidecode_ensure_display() helper for set-caps.
26373
26374 2010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26375
26376         * configure.ac:
26377           Bump version for development.
26378
26379 === release 0.2.0 ===
26380
26381 2010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26382
26383         * NEWS:
26384           Really make it 0.2.0.
26385
26386 2010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26387
26388         * README:
26389           More docs.
26390
26391 2010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26392
26393         * docs/reference/libs/Makefile.am:
26394           Don't exclude GstVaapiParamSpecs.
26395
26396 2010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26397
26398         * docs/reference/libs/Makefile.am:
26399         * docs/reference/libs/libs-sections.txt:
26400         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26401         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26402           Fix docs.
26403
26404 2010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26405
26406         * gst/vaapiconvert/gstvaapiconvert.c:
26407         * gst/vaapidecode/gstvaapidecode.c:
26408         * gst/vaapisink/gstvaapisink.c:
26409           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.
26410
26411 2010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26412
26413         * gst-libs/gst/vaapi/Makefile.am:
26414           Really link all helper libraries with libtool -no-undefined.
26415
26416 2010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26417
26418         * gst-libs/gst/vaapi/Makefile.am:
26419           Link helper libraries with libtool -no-undefined.
26420
26421 2010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26422
26423         * configure.ac:
26424         * debian.upstream/gstreamer-vaapi.install.in:
26425         * gst/vaapiconvert/Makefile.am:
26426         * gst/vaapidecode/Makefile.am:
26427         * gst/vaapisink/Makefile.am:
26428           Don't build plugins with SONAME. Make them plain *.so.
26429
26430 2010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26431
26432         * README:
26433           Improve documentation for release.
26434
26435 2010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26436
26437         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26438           Fix build with older VA-API 0.29.
26439
26440 2010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26441
26442         * NEWS:
26443           0.2.0.
26444
26445 2010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26446
26447         * tests/Makefile.am:
26448           Fix make dist.
26449
26450 2010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26451
26452         * docs/reference/libs/Makefile.am:
26453         * docs/reference/libs/libs-docs.xml.in:
26454         * docs/reference/libs/libs-sections.txt:
26455         * docs/reference/libs/libs.core.types:
26456         * docs/reference/plugins/Makefile.am:
26457         * docs/reference/plugins/plugins-docs.xml.in:
26458         * docs/reference/plugins/plugins-sections.txt:
26459         * docs/reference/plugins/plugins.types:
26460           Add missing docs.
26461
26462 2010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26463
26464         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26465           Fix doc.
26466
26467 2010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26468
26469         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26470         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26471         * gst/vaapidecode/gstvaapidecode.c:
26472         * tests/test-decode.c:
26473           Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
26474
26475 2010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26476
26477         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26478         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26479           Extract framerate information from caps.
26480
26481 2010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26482
26483         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26484         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26485         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26486           Move caps initialization to parent class.
26487
26488 2010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26489
26490         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26491           Simplify.
26492
26493 2010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26494
26495         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26496           Fix doc.
26497
26498 2010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26499
26500         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26501         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26502           More simplifications.
26503
26504 2010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26505
26506         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26507         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26508         * tests/test-decode.c:
26509           Simplify GstVaapiDecoder API.
26510
26511 2010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26512
26513         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26514           Drop obsolete defs.
26515
26516 2010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26517
26518         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26519           Drop obsolete decls.
26520
26521 2010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26522
26523         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26524         * gst/vaapidecode/gstvaapidecode.c:
26525           Add more aliases for MPEG-4 decoding.
26526
26527 2010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26528
26529         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26530           Use avctx->coded_{width,height} info to create the VA context.
26531
26532 2010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26533
26534         * tests/test-decode.c:
26535         * tests/test-decode.h:
26536           Use gst_vaapi_decoder_ffmpeg_new_from_caps().
26537
26538 2010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26539
26540         * tests/test-decode.c:
26541         * tests/test-decode.h:
26542         * tests/test-h264.c:
26543         * tests/test-h264.h:
26544         * tests/test-mpeg2.c:
26545         * tests/test-mpeg2.h:
26546         * tests/test-vc1.c:
26547         * tests/test-vc1.h:
26548           Simplify tests info.
26549
26550 2010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26551
26552         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26553           Try to improve heuristics to use an AVCodecContextParser.
26554
26555 2010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26556
26557         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26558           Fix VC-1 decoding, it does not require any specific parser.
26559
26560 2010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26561
26562         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26563           Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
26564
26565 2010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26566
26567         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26568         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26569           Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
26570
26571 2010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26572
26573         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26574         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26575         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26576         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26577         * gst/vaapidecode/gstvaapidecode.c:
26578         * gst/vaapidecode/gstvaapidecode.h:
26579           Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
26580
26581 2010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26582
26583         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26584         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26585         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26586           Improve WMV3 detection yet further.
26587
26588 2010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26589
26590         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26591           Fix detection of plain old WMV3 contents.
26592
26593 2010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26594
26595         * tests/test-vc1.c:
26596           Add End-of-Sequence start code.
26597
26598 2010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26599
26600         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26601         * gst/vaapidecode/gstvaapidecode.c:
26602           Fix VC-1 detection.
26603
26604 2010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26605
26606         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26607           Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
26608
26609 2010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26610
26611         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26612         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26613           Drop obsolete (and wrong) code.
26614
26615 2010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26616
26617         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26618           Cosmetics (spelling).
26619
26620 2010-05-03 08:32:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26621
26622         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26623         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26624         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26625           Try to fix timestamps (step 1). Looks OK on H55.
26626
26627 2010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26628
26629         * debian.upstream/Makefile.am:
26630           Ship with COPYING.LIB.
26631
26632 2010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26633
26634         * COPYING.LIB:
26635         * NEWS:
26636         * README:
26637         * gst-libs/gst/vaapi/gstvaapi_priv.h:
26638         * gst-libs/gst/vaapi/gstvaapicompat.h:
26639         * gst-libs/gst/vaapi/gstvaapicontext.c:
26640         * gst-libs/gst/vaapi/gstvaapicontext.h:
26641         * gst-libs/gst/vaapi/gstvaapidebug.h:
26642         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26643         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26644         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26645         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26646         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26647         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26648         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26649         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26650         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26651         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26652         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26653         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26654         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26655         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26656         * gst-libs/gst/vaapi/gstvaapiimage.c:
26657         * gst-libs/gst/vaapi/gstvaapiimage.h:
26658         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26659         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
26660         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26661         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26662         * gst-libs/gst/vaapi/gstvaapiobject.c:
26663         * gst-libs/gst/vaapi/gstvaapiobject.h:
26664         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
26665         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26666         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26667         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26668         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26669         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26670         * gst-libs/gst/vaapi/gstvaapisurface.h:
26671         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26672         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26673         * gst-libs/gst/vaapi/gstvaapitexture.h:
26674         * gst-libs/gst/vaapi/gstvaapitypes.h:
26675         * gst-libs/gst/vaapi/gstvaapiutils.h:
26676         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
26677         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
26678         * gst-libs/gst/vaapi/gstvaapivalue.h:
26679         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26680         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26681         * gst-libs/gst/vaapi/gstvaapivideosink.h:
26682         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26683         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
26684         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26685           Relicense gst-libs/ code to LGPL v2.1+.
26686
26687 2010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26688
26689         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26690           Drop extraneous comma.
26691
26692 2010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26693
26694         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26695           Drop variant=itu field to help codec detection.
26696
26697 2010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26698
26699         * gst/vaapidecode/gstvaapidecode.c:
26700           Decode as many surfaces as possible in gst_vaapidecode_step().
26701
26702 2010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26703
26704         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26705         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26706         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26707         * gst/vaapidecode/gstvaapidecode.c:
26708         * gst/vaapidecode/gstvaapidecode.h:
26709         * tests/test-decode.c:
26710           Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
26711
26712 2010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26713
26714         * configure.ac:
26715           0.2.0.
26716
26717 2010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26718
26719         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26720           Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
26721
26722 2010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26723
26724         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26725         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26726           Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
26727
26728 2010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26729
26730         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26731         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26732           Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
26733
26734 2010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26735
26736         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26737           Document H.264 / AVC1 format case better.
26738
26739 2010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26740
26741         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26742           Fix H.264 decoding with AVC1 format bitstreams.
26743
26744 2010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26745
26746         * gst/vaapidecode/gstvaapidecode.c:
26747           Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
26748
26749 2010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26750
26751         * gst/vaapisink/gstvaapisink.c:
26752           Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
26753
26754 2010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26755
26756         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26757         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26758           Export gst_vaapi_video_buffer_new().
26759
26760 2010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26761
26762         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26763           Fix gst_vaapi_profile_get_caps() to include the "profile" field.
26764
26765 2010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26766
26767         * configure.ac:
26768           Fix comment.
26769
26770 2010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26771
26772         * NEWS:
26773         * configure.ac:
26774         * gst/Makefile.am:
26775         * gst/vaapidecode/Makefile.am:
26776         * gst/vaapidecode/gstvaapidecode.c:
26777         * gst/vaapidecode/gstvaapidecode.h:
26778           Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
26779
26780 2010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26781
26782         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26783         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26784           Add gst_vaapi_decoder_pause().
26785
26786 2010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26787
26788         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26789         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26790         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26791           Use a GstTask with start/stop semantics for the decoder thread.
26792
26793 2010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26794
26795         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26796           Drop extraneous var.
26797
26798 2010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26799
26800         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26801         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26802           Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
26803
26804 2010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26805
26806         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26807           Fix gst_vaapi_decoder_get_surface() status.
26808
26809 2010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26810
26811         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26812         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26813           Try to set correct timestamps to the decoded surface proxy.
26814
26815 2010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26816
26817         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26818         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26819         * tests/test-decode.c:
26820           Add timestamps to GstVaapiSurfaceProxy.
26821
26822 2010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26823
26824         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26825           Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
26826
26827 2010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26828
26829         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26830           Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
26831
26832 2010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26833
26834         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26835           Prefer profile from codec-data if any was found there.
26836
26837 2010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26838
26839         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26840           Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
26841
26842 2010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26843
26844         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26845           Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
26846
26847 2010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26848
26849         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26850           Fix VC-1 codec initialization, it really needs an extradata buffer.
26851
26852 2010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26853
26854         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26855         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26856           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.
26857
26858 2010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26859
26860         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26861           Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
26862
26863 2010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26864
26865         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26866         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26867         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26868         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26869         * tests/test-decode.c:
26870           Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
26871
26872 2010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26873
26874         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26875           Cosmetics (weird indentation).
26876
26877 2010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26878
26879         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26880           Cosmetics (extraneous variable, debug message).
26881
26882 2010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26883
26884         * configure.ac:
26885           Fix check for VA-API enabled FFmpeg.
26886
26887 2010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26888
26889         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26890         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26891         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26892         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26893           - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
26894
26895 2010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26896
26897         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26898         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26899           Add more error codes. Fix documentation.
26900
26901 2010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26902
26903         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26904           Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
26905
26906 2010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26907
26908         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26909         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26910         * tests/test-decode.c:
26911           Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
26912
26913 2010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26914
26915         * tests/test-vc1.c:
26916           Drop useless End-of-Sequence marker.
26917
26918 2010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26919
26920         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26921           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.
26922
26923 2010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26924
26925         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26926         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26927           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.
26928
26929 2010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26930
26931         * tests/test-h264.c:
26932         * tests/test-vc1.c:
26933           Regenerate correct clips.
26934
26935 2010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26936
26937         * tests/Makefile.am:
26938         * tests/test-decode.c:
26939         * tests/test-h264.c:
26940         * tests/test-h264.h:
26941         * tests/test-mpeg2.c:
26942         * tests/test-mpeg2.h:
26943         * tests/test-vc1.c:
26944         * tests/test-vc1.h:
26945           Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
26946           XXX: only VC-1 decoding works at this time because of awful
26947           bugs left in GstVaapiDecoderFfmpeg et al.
26948
26949 2010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26950
26951         * configure.ac:
26952         * gst-libs/gst/vaapi/Makefile.am:
26953         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26954         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26955         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26956         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26957         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26958           Add initial (multithreaded) decoder based on FFmpeg.
26959           There are tons of bugs left:
26960           - Decoder API not nice enough with error conditions
26961           - FFmpeg parser is sometimes broken
26962           - Packets queue can be lost
26963
26964 2010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26965
26966         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26967         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26968           Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
26969
26970 2010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26971
26972         * gst-libs/gst/vaapi/gstvaapicontext.c:
26973         * gst-libs/gst/vaapi/gstvaapicontext.h:
26974           Add VA context abstraction.
26975
26976 2010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26977
26978         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26979           Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
26980
26981 2010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26982
26983         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26984         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26985           Add a means to cap the number of objects allocated in the pool.
26986
26987 2010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26988
26989         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26990         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26991           Add VA entrypoint abstraction.
26992
26993 2010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26994
26995         * docs/reference/libs/libs-docs.xml.in:
26996         * docs/reference/libs/libs-sections.txt:
26997         * gst-libs/gst/vaapi/Makefile.am:
26998         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26999         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27000         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27001         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27002         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27003         * tests/test-display.c:
27004           Add VA profile abstraction.
27005
27006 2010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27007
27008         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27009           Fix OpenGL rendering on G45 systems.
27010
27011 2010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27012
27013         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27014           Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
27015
27016 2010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27017
27018         * gst-libs/gst/vaapi/gstvaapitexture.c:
27019         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27020         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27021           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.
27022
27023 2010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27024
27025         * gst-libs/gst/vaapi/gstvaapitexture.c:
27026           Fix get-out conditions.
27027
27028 2010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27029
27030         * gst-libs/gst/vaapi/gstvaapitexture.c:
27031         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27032           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.
27033
27034 2010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27035
27036         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27037           Shorter structs.
27038
27039 2010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27040
27041         * docs/reference/libs/libs-sections.txt:
27042         * gst-libs/gst/vaapi/Makefile.am:
27043         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27044         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
27045         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27046         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27047         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27048         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
27049         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27050         * gst-libs/gst/vaapi/gstvaapitexture.c:
27051         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27052         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27053         * tests/test-windows.c:
27054           Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
27055
27056 2010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27057
27058         * gst-libs/gst/vaapi/Makefile.am:
27059         * gst-libs/gst/vaapi/gstvaapi_priv.h:
27060         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27061         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27062         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27063         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27064         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27065         * gst-libs/gst/vaapi/gstvaapiimage.c:
27066         * gst-libs/gst/vaapi/gstvaapiobject.c:
27067         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27068         * gst-libs/gst/vaapi/gstvaapisurface.c:
27069         * gst-libs/gst/vaapi/gstvaapitexture.c:
27070         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27071         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27072         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27073           Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
27074
27075 2010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27076
27077         * gst-libs/gst/vaapi/gstvaapitexture.c:
27078         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27079         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27080         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27081           Improve handling of GL contexts.
27082
27083 2010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27084
27085         * configure.ac:
27086           Simplify summary.
27087
27088 2010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27089
27090         * configure.ac:
27091           Bump version for development.
27092
27093 === release 0.1.2 ===
27094
27095 2010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27096
27097         * configure.ac:
27098         * debian.upstream/Makefile.am:
27099         * debian.upstream/control.in:
27100           Rename -dev package to libgstvaapi-dev.
27101
27102 2010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27103
27104         * NEWS:
27105         * README:
27106           Updates.
27107
27108 2010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27109
27110         * gst-libs/gst/vaapi/gstvaapiutils.c:
27111           Fix build with VA-API < 0.30.
27112
27113 2010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27114
27115         * configure.ac:
27116         * gst-libs/gst/vaapi/gstvaapicompat.h:
27117         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27118         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27119         * gst-libs/gst/vaapi/gstvaapitexture.c:
27120         * tests/test-display.c:
27121           Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
27122
27123 2010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27124
27125         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27126         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27127           Add TFP and FBO helpers.
27128
27129 2010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27130
27131         * gst-libs/gst/vaapi/gstvaapiutils.c:
27132         * gst-libs/gst/vaapi/gstvaapiutils.h:
27133           Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
27134
27135 2010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27136
27137         * gst-libs/gst/vaapi/gstvaapitexture.c:
27138         * gst-libs/gst/vaapi/gstvaapiutils.c:
27139         * gst-libs/gst/vaapi/gstvaapiutils.h:
27140         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27141           Use a shorter function name.
27142
27143 2010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27144
27145         * docs/reference/libs/libs-sections.txt:
27146         * gst-libs/gst/vaapi/gstvaapisurface.c:
27147         * gst-libs/gst/vaapi/gstvaapisurface.h:
27148         * gst-libs/gst/vaapi/gstvaapiutils.c:
27149         * gst-libs/gst/vaapi/gstvaapiutils.h:
27150           Add gst_vaapi_surface_query_status() wrapper.
27151
27152 2010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27153
27154         * docs/reference/plugins/Makefile.am:
27155           Fix leftover during migration.
27156
27157 2010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27158
27159         * Makefile.am:
27160         * configure.ac:
27161         * docs/reference/plugins/Makefile.am:
27162         * gst/Makefile.am:
27163         * gst/vaapiconvert/Makefile.am:
27164         * gst/vaapiconvert/gstvaapiconvert.c:
27165         * gst/vaapiconvert/gstvaapiconvert.h:
27166         * gst/vaapisink/Makefile.am:
27167         * gst/vaapisink/gstvaapisink.c:
27168         * gst/vaapisink/gstvaapisink.h:
27169           Rename to gst/ as sys/ was too vague.
27170
27171 2010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27172
27173         * gst-libs/gst/vaapi/gstvaapiimage.c:
27174         * gst-libs/gst/vaapi/gstvaapiimage.h:
27175         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27176         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27177         * gst-libs/gst/vaapi/gstvaapisurface.c:
27178         * gst-libs/gst/vaapi/gstvaapisurface.h:
27179           Try to not reference VA-API types directly.
27180
27181 2010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27182
27183         * sys/vaapisink/gstvaapisink.c:
27184           Fix reflection code to preserve aspect ratio.
27185
27186 2010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27187
27188         * sys/vaapisink/gstvaapisink.c:
27189         * sys/vaapisink/gstvaapisink.h:
27190           Fix fullscreen mode.
27191
27192 2010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27193
27194         * sys/vaapisink/gstvaapisink.c:
27195         * sys/vaapisink/gstvaapisink.h:
27196           Add OpenGL reflection effect ("use-reflection").
27197
27198 2010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27199
27200         * configure.ac:
27201         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27202           Use a projection suitable for rotation around the Y axis.
27203
27204 2010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27205
27206         * configure.ac:
27207         * sys/vaapisink/Makefile.am:
27208         * sys/vaapisink/gstvaapisink.c:
27209         * sys/vaapisink/gstvaapisink.h:
27210           Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
27211
27212 2010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27213
27214         * configure.ac:
27215         * debian.upstream/Makefile.am:
27216         * debian.upstream/control.in:
27217         * debian.upstream/libgstvaapi-glx.install.in:
27218           Add libgstvaapi-glx-0 package.
27219
27220 2010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27221
27222         * pkgconfig/Makefile.am:
27223           Really fix make distclean.
27224
27225 2010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27226
27227         * docs/reference/libs/Makefile.am:
27228           Fix make dist.
27229
27230 2010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27231
27232         * pkgconfig/Makefile.am:
27233           Fix make distclean.
27234
27235 2010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27236
27237         * tests/Makefile.am:
27238           Fix make dist.
27239
27240 2010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27241
27242         * docs/reference/libs/Makefile.am:
27243         * docs/reference/libs/libs.core.types:
27244         * docs/reference/libs/libs.glx.types:
27245         * docs/reference/libs/libs.x11.types:
27246           Fix doc build.
27247
27248 2010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27249
27250         * sys/vaapisink/gstvaapisink.h:
27251           Fix build without GLX.
27252
27253 2010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27254
27255         * NEWS:
27256           0.1.2.
27257
27258 2010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27259
27260         * sys/vaapisink/Makefile.am:
27261         * sys/vaapisink/gstvaapisink.c:
27262         * sys/vaapisink/gstvaapisink.h:
27263           Add VA/GLX support to vaapisink.
27264
27265 2010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27266
27267         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27268         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27269         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27270           Add glXSwapBuffers() workaround for NVIDIA.
27271
27272 2010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27273
27274         * tests/Makefile.am:
27275         * tests/test-textures.c:
27276           Improve VA/GLX textures test.
27277
27278 2010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27279
27280         * gst-libs/gst/vaapi/gstvaapitexture.c:
27281         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27282         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27283           Fix texture rendering.
27284
27285 2010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27286
27287         * docs/reference/libs/libs-docs.xml.in:
27288         * docs/reference/libs/libs-sections.txt:
27289         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27290         * gst-libs/gst/vaapi/gstvaapitexture.c:
27291           Fix documentation.
27292
27293 2010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27294
27295         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27296         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27297           Add gst_vaapi_window_glx_put_texture() helper.
27298
27299 2010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27300
27301         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27302           Fix typos.
27303
27304 2010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27305
27306         * tests/image.c:
27307         * tests/image.h:
27308         * tests/test-windows.c:
27309           Move code around.
27310
27311 2010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27312
27313         * gst-libs/gst/vaapi/Makefile.am:
27314         * gst-libs/gst/vaapi/gstvaapitexture.c:
27315         * gst-libs/gst/vaapi/gstvaapitexture.h:
27316         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27317         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27318           Add initial VA/GLX texture abstraction though the API is not good enough yet.
27319
27320 2010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27321
27322         * docs/reference/libs/libs-sections.txt:
27323         * gst-libs/gst/vaapi/gstvaapiobject.c:
27324         * gst-libs/gst/vaapi/gstvaapiobject.h:
27325           Add gst_vaapi_object_{,un}lock_display() helpers.
27326
27327 2010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27328
27329         * tests/Makefile.am:
27330         * tests/image.c:
27331         * tests/image.h:
27332         * tests/test-windows.c:
27333           Factor out image utilities.
27334
27335 2010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27336
27337         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27338           MT-Safe: lock display.
27339
27340 2010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27341
27342         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27343           Make sure window resize completed prior to resizing the GL viewport.
27344
27345 2010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27346
27347         * gst-libs/gst/vaapi/Makefile.am:
27348           gstvaapicompat.h is a private header, don't install it.
27349
27350 2010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27351
27352         * docs/reference/libs/libs-sections.txt:
27353         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27354         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27355         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27356           Add gst_vaapi_display_{sync,flush}() helpers.
27357
27358 2010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27359
27360         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27361         * sys/vaapisink/gstvaapisink.c:
27362         * sys/vaapisink/gstvaapisink.h:
27363           Add "synchronous" mode.
27364
27365 2010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27366
27367         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27368         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27369           Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
27370
27371 2010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27372
27373         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27374           Restore GLX context only if there is one.
27375
27376 2010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27377
27378         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27379         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27380         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27381         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27382           Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
27383
27384 2010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27385
27386         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27387           Check GstVaapiWindow::render() is available prior to calling it.
27388
27389 2010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27390
27391         * tests/Makefile.am:
27392         * tests/test-display.c:
27393         * tests/test-textures.c:
27394           Add VA/GLX display tests.
27395
27396 2010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27397
27398         * configure.ac:
27399         * gst-libs/gst/vaapi/Makefile.am:
27400           Fix compile flags.
27401
27402 2010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27403
27404         * docs/reference/libs/Makefile.am:
27405         * docs/reference/libs/libs-docs.xml.in:
27406         * docs/reference/libs/libs-sections.txt:
27407         * docs/reference/libs/libs.types:
27408           Add missing API documentation.
27409
27410 2010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27411
27412         * configure.ac:
27413         * gst-libs/gst/vaapi/Makefile.am:
27414         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27415         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27416         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27417         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27418         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27419         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27420         * pkgconfig/Makefile.am:
27421         * pkgconfig/gstreamer-vaapi-glx.pc.in:
27422         * tests/Makefile.am:
27423         * tests/test-textures.c:
27424           Add initial VA/GLX support.
27425
27426 2010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27427
27428         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27429           Add missing includes (for vaapi_check_status()).
27430
27431 2010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27432
27433         * gst-libs/gst/vaapi/gstvaapidebug.h:
27434           Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
27435
27436 2010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27437
27438         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27439         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27440           Add gst_vaapi_window_x11_is_foreign_xid() helper.
27441
27442 2010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27443
27444         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27445         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27446         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27447         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27448           Allow derived classes to specify custom Visual and Colormap.
27449
27450 2010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27451
27452         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27453         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27454         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27455           Allow window creation with a specific visual (e.g. for GLX support).
27456
27457 2010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27458
27459         * gst-libs/gst/vaapi/gstvaapiimage.c:
27460           Fix return value on error (though it's the same in the end).
27461
27462 2010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27463
27464         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27465         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27466           Simplify initialization of VADisplay.
27467
27468 2010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27469
27470         * configure.ac:
27471           Move __attribute__((visibility("hidden"))) check down.
27472
27473 2010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27474
27475         * docs/reference/libs/libs-sections.txt:
27476         * gst-libs/gst/vaapi/gstvaapiimage.c:
27477         * gst-libs/gst/vaapi/gstvaapiimage.h:
27478         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27479         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27480         * gst-libs/gst/vaapi/gstvaapisurface.c:
27481         * gst-libs/gst/vaapi/gstvaapisurface.h:
27482         * tests/test-surfaces.c:
27483           Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
27484
27485 2010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27486
27487         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27488           Use the parent display object, no need to maintain another one.
27489           In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
27490
27491 2010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27492
27493         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27494           Add more internal helpers.
27495
27496 2010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27497
27498         * gst-libs/gst/vaapi/gstvaapiimage.c:
27499         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27500         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27501         * gst-libs/gst/vaapi/gstvaapisurface.c:
27502         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27503         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27504           Rename to GST_VAAPI_OBJECT_DISPLAY().
27505
27506 2010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27507
27508         * docs/reference/libs/libs-sections.txt:
27509         * gst-libs/gst/vaapi/gstvaapiimage.c:
27510         * gst-libs/gst/vaapi/gstvaapiobject.c:
27511         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27512         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27513         * gst-libs/gst/vaapi/gstvaapisurface.c:
27514         * gst-libs/gst/vaapi/gstvaapitypes.h:
27515         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27516           All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
27517
27518 2010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27519
27520         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27521         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27522         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27523           Make GstVaapiWindow* derive from GstVaapiObject.
27524
27525 2010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27526
27527         * configure.ac:
27528           Factor out use gstreamer-vaapi (PACKAGE name).
27529
27530 2010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27531
27532         * configure.ac:
27533           Improve versioning summary.
27534
27535 2010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27536
27537         * gst-libs/gst/vaapi/Makefile.am:
27538           gstvaapicompat.h is now a private header (not installed).
27539
27540 2010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27541
27542         * gst-libs/gst/vaapi/gstvaapiimage.c:
27543         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27544         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27545         * gst-libs/gst/vaapi/gstvaapiobject.c:
27546         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27547         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27548           Include gstvaapicompat.h in source files only, not headers.
27549
27550 2010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27551
27552         * configure.ac:
27553         * gst-libs/gst/vaapi/Makefile.am:
27554         * sys/vaapiconvert/Makefile.am:
27555         * sys/vaapisink/Makefile.am:
27556         * tests/Makefile.am:
27557           Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
27558
27559 2010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27560
27561         * NEWS:
27562         * configure.ac:
27563         * gst-libs/gst/vaapi/Makefile.am:
27564         * gst-libs/gst/vaapi/gstvaapicompat.h:
27565         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27566         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27567         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27568         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27569         * gst-libs/gst/vaapi/gstvaapisurface.c:
27570         * gst-libs/gst/vaapi/gstvaapiutils.c:
27571         * gst-libs/gst/vaapi/gstvaapiutils.h:
27572         * pkgconfig/gstreamer-vaapi-x11.pc.in:
27573         * pkgconfig/gstreamer-vaapi.pc.in:
27574         * sys/vaapiconvert/Makefile.am:
27575         * sys/vaapisink/Makefile.am:
27576         * tests/Makefile.am:
27577           Add compatibility with the original VA-API 0.29.
27578
27579 2010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27580
27581         * gst-libs/gst/vaapi/gstvaapivalue.h:
27582           Add missing file (gstvaapivalue.h).
27583
27584 2010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27585
27586         * gst-libs/gst/vaapi/gstvaapiimage.c:
27587         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27588         * gst-libs/gst/vaapi/gstvaapisurface.c:
27589           Fix g_warning() invocation.
27590
27591 2010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27592
27593         * gst-libs/gst/vaapi/gstvaapisurface.c:
27594           Deassociate subpictures while destroying the surface.
27595
27596 2010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27597
27598         * gst-libs/gst/vaapi/gstvaapisurface.c:
27599           Fix destruction order of subpictures. They should be destroyed first.
27600
27601 2010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27602
27603         * NEWS:
27604         * gst-libs/gst/vaapi/gstvaapiimage.c:
27605         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27606         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27607         * tests/test-windows.c:
27608           Add support for AYUV format.
27609
27610 2010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27611
27612         * tests/test-windows.c:
27613           Simplify upload process and fallback to subpictures.
27614
27615 2010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27616
27617         * docs/reference/libs/libs-docs.xml.in:
27618         * docs/reference/libs/libs-sections.txt:
27619         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27620           Fix documentation.
27621
27622 2010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27623
27624         * gst-libs/gst/vaapi/Makefile.am:
27625         * gst-libs/gst/vaapi/gstvaapiobject.c:
27626         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27627         * gst-libs/gst/vaapi/gstvaapitypes.h:
27628         * gst-libs/gst/vaapi/gstvaapivalue.c:
27629           Move GValue specific stuff to a dedicated file.
27630
27631 2010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27632
27633         * tests/test-surfaces.c:
27634           Cosmetics (lowercase for consistency).
27635
27636 2010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27637
27638         * gst-libs/gst/vaapi/gstvaapiobject.c:
27639           Cosmetics (vertical alignment).
27640
27641 2010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27642
27643         * gst-libs/gst/vaapi/gstvaapiobject.c:
27644           Fix return value on error.
27645
27646 2010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27647
27648         * docs/reference/libs/libs-sections.txt:
27649         * gst-libs/gst/vaapi/gstvaapiimage.c:
27650         * gst-libs/gst/vaapi/gstvaapiimage.h:
27651         * gst-libs/gst/vaapi/gstvaapiobject.c:
27652         * gst-libs/gst/vaapi/gstvaapiobject.h:
27653         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27654         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27655         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27656         * gst-libs/gst/vaapi/gstvaapisurface.c:
27657         * gst-libs/gst/vaapi/gstvaapisurface.h:
27658         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27659         * tests/test-surfaces.c:
27660           Move "id" down to the GstVaapiObject base.
27661
27662 2010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27663
27664         * gst-libs/gst/vaapi/gstvaapitypes.c:
27665           Cosmetics (drop extraneous empty line).
27666
27667 2010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27668
27669         * gst-libs/gst/vaapi/Makefile.am:
27670         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27671         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
27672           Add GParamSpecs for GstVaapiID.
27673
27674 2010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27675
27676         * docs/reference/libs/libs.types:
27677           Drop gst_vaapi_id_get_type().
27678
27679 2010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27680
27681         * docs/reference/libs/libs-sections.txt:
27682         * gst-libs/gst/vaapi/gstvaapitypes.h:
27683           Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
27684
27685 2010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27686
27687         * docs/reference/libs/libs-sections.txt:
27688         * docs/reference/libs/libs.types:
27689         * gst-libs/gst/vaapi/Makefile.am:
27690         * gst-libs/gst/vaapi/gstvaapitypes.c:
27691         * gst-libs/gst/vaapi/gstvaapitypes.h:
27692           Add GstVaapiID abstraction.
27693
27694 2010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27695
27696         * docs/reference/libs/libs.types:
27697           Sort types.
27698
27699 2010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27700
27701         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27702         * gst-libs/gst/vaapi/gstvaapiimage.c:
27703         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27704         * gst-libs/gst/vaapi/gstvaapisurface.c:
27705           Drop useless include (<va/va_backend.h>).
27706
27707 2010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27708
27709         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27710           Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
27711
27712 2010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27713
27714         * gst-libs/gst/vaapi/Makefile.am:
27715         * gst-libs/gst/vaapi/gstvaapiimage.c:
27716         * gst-libs/gst/vaapi/gstvaapiobject.c:
27717         * gst-libs/gst/vaapi/gstvaapiobject.h:
27718         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27719         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27720         * gst-libs/gst/vaapi/gstvaapisurface.c:
27721         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27722           Move private definitions and accessors to gstvaapiobject_priv.h.
27723
27724 2010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27725
27726         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27727         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27728         * gst-libs/gst/vaapi/gstvaapiimage.c:
27729         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27730         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
27731         * gst-libs/gst/vaapi/gstvaapiobject.c:
27732         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27733         * gst-libs/gst/vaapi/gstvaapisurface.c:
27734         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27735         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27736         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27737         * gst-libs/gst/vaapi/gstvaapivideosink.c:
27738         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27739         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27740           Fix short descriptions.
27741
27742 2010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27743
27744         * Makefile.am:
27745         * configure.ac:
27746         * debian.upstream/Makefile.am:
27747         * debian.upstream/changelog.in:
27748         * debian.upstream/compat:
27749         * debian.upstream/control.in:
27750         * debian.upstream/copyright:
27751         * debian.upstream/gstreamer-vaapi-doc.install.in:
27752         * debian.upstream/gstreamer-vaapi.install.in:
27753         * debian.upstream/libgstvaapi-dev.install.in:
27754         * debian.upstream/libgstvaapi-x11.install.in:
27755         * debian.upstream/libgstvaapi.install.in:
27756         * debian.upstream/rules:
27757           Generate upstream packages through make deb.upstream.
27758
27759 2010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27760
27761         * configure.ac:
27762           Bump version for development.
27763
27764 === release 0.1.1 ===
27765
27766 2010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27767
27768         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27769           Use a black background for new windows.
27770
27771 2010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27772
27773         * NEWS:
27774           0.1.1.
27775
27776 2010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27777
27778         * configure.ac:
27779         * docs/reference/libs/libs.types:
27780         * gst-libs/gst/vaapi/Makefile.am:
27781         * gst-libs/gst/vaapi/gstvaapimarshal.list:
27782         * gst-libs/gst/vaapi/gstvaapiobject.c:
27783         * gst-libs/gst/vaapi/gstvaapiobject.h:
27784         * tests/test-surfaces.c:
27785           Add "destroy" signal.
27786
27787 2010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27788
27789         * docs/reference/libs/libs-docs.xml.in:
27790           Improve gst-plugins-vaapi Library reference template.
27791
27792 2010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27793
27794         * docs/reference/libs/libs-docs.xml.in:
27795         * docs/reference/libs/libs-sections.txt:
27796         * gst-libs/gst/vaapi/Makefile.am:
27797         * gst-libs/gst/vaapi/gstvaapiimage.c:
27798         * gst-libs/gst/vaapi/gstvaapiimage.h:
27799         * gst-libs/gst/vaapi/gstvaapiobject.c:
27800         * gst-libs/gst/vaapi/gstvaapiobject.h:
27801         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27802         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27803         * gst-libs/gst/vaapi/gstvaapisurface.c:
27804         * gst-libs/gst/vaapi/gstvaapisurface.h:
27805         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27806           Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
27807
27808 2010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27809
27810         * sys/vaapisink/gstvaapisink.c:
27811           Fix return value.
27812
27813 2010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27814
27815         * sys/vaapisink/gstvaapisink.c:
27816           Make sure VA display is valid when created with an explicit "display" name.
27817
27818 2010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27819
27820         * sys/vaapisink/gstvaapisink.c:
27821           Use plain "display" property for the X11 display name.
27822
27823 2010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27824
27825         * sys/vaapiconvert/gstvaapiconvert.c:
27826         * sys/vaapisink/gstvaapisink.c:
27827           Document vaapiconvert & vaapisink plugins.
27828
27829 2010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27830
27831         * configure.ac:
27832         * docs/reference/Makefile.am:
27833         * docs/reference/plugins/Makefile.am:
27834         * docs/reference/plugins/plugins-docs.xml.in:
27835         * docs/reference/plugins/plugins-overrides.txt:
27836         * docs/reference/plugins/plugins-sections.txt:
27837         * docs/reference/plugins/plugins.types:
27838           Add plugins documentation template.
27839
27840 2010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27841
27842         * sys/vaapisink/gstvaapisink.c:
27843         * sys/vaapisink/gstvaapisink.h:
27844           Don't export gst_vaapisink_get_display().
27845
27846 2010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27847
27848         * configure.ac:
27849         * docs/reference/libs/libs-docs.xml.in:
27850         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27851         * gst-libs/gst/vaapi/gstvaapiimage.c:
27852         * gst-libs/gst/vaapi/gstvaapisurface.c:
27853         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27854           Drop introspection annotations since they require gtk-doc >= 1.12.
27855
27856 2010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27857
27858         * gst-libs/gst/vaapi/gstvaapisurface.c:
27859           Add note about the fact that the surface holds an extra reference to the subpicture.
27860
27861 2010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27862
27863         * gst-libs/gst/vaapi/gstvaapiimage.c:
27864         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27865         * gst-libs/gst/vaapi/gstvaapisurface.c:
27866           Improve debugging messages.
27867
27868 2010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27869
27870         * tests/test-windows.c:
27871           Unref subpicture earlier as the surface is supposed to hold a reference to it.
27872
27873 2010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27874
27875         * docs/reference/libs/libs-sections.txt:
27876         * gst-libs/gst/vaapi/gstvaapisurface.c:
27877         * gst-libs/gst/vaapi/gstvaapisurface.h:
27878         * tests/test-windows.c:
27879           Add gst_vaapi_surface_{,de}associate_subpicture() API.
27880
27881 2010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27882
27883         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27884           Wait for MapNotify or UnmapNotify events on foreign windows too.
27885
27886 2010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27887
27888         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27889           Check whether the foreign XID is mapped at binding time.
27890
27891 2010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27892
27893         * sys/vaapisink/gstvaapisink.c:
27894           Add missing includes.
27895
27896 2010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27897
27898         * configure.ac:
27899         * debian/Makefile.am:
27900         * debian/control.in:
27901         * debian/gstreamer-vaapi-doc.install.in:
27902         * debian/rules:
27903           Add -doc package.
27904
27905 2010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27906
27907         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27908           Fix warnings (drop extraneous var).
27909
27910 2010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27911
27912         * docs/reference/libs/libs-sections.txt:
27913         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27914           Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
27915
27916 2010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27917
27918         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27919           Shorten condition.
27920
27921 2010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27922
27923         * gst-libs/gst/vaapi/Makefile.am:
27924         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27925         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27926         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
27927         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27928           Try to improve switch to fullscreen mode.
27929
27930 2010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27931
27932         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27933         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27934         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27935           Improve display locking and rework X event wait functions.
27936
27937 2010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27938
27939         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27940         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
27941           Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
27942
27943 2010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27944
27945         * gst-libs/gst/vaapi/Makefile.am:
27946         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27947         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
27948           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.
27949
27950 2010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27951
27952         * docs/reference/libs/libs-sections.txt:
27953         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27954         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27955           Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
27956
27957 2010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27958
27959         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27960         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27961         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27962           Add gst_vaapi_window_get_display() to base.
27963
27964 2010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27965
27966         * docs/reference/libs/libs-docs.xml.in:
27967         * docs/reference/libs/libs-sections.txt:
27968         * gst-libs/gst/vaapi/Makefile.am:
27969         * gst-libs/gst/vaapi/gstvaapitypes.h:
27970         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27971         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27972         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27973         * sys/vaapisink/gstvaapisink.c:
27974         * sys/vaapisink/gstvaapisink.h:
27975           Add GstVaapiPoint & GstVaapiRectangle data structures.
27976
27977 2010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27978
27979         * NEWS:
27980           0.1.1.
27981
27982 2010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27983
27984         * NEWS:
27985         * sys/vaapisink/gstvaapisink.c:
27986         * sys/vaapisink/gstvaapisink.h:
27987           Allow `vaapisink` to render videos in fullscreen mode.
27988
27989 2010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27990
27991         * docs/reference/libs/libs-sections.txt:
27992         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27993         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27994         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27995           Add gst_vaapi_window_set_fullscreen() API.
27996
27997 2010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27998
27999         * sys/vaapisink/gstvaapisink.c:
28000           Size window so that to respect the video and pixel aspect ratio.
28001
28002 2010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28003
28004         * docs/reference/libs/libs-sections.txt:
28005         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28006         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28007         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28008         * tests/test-display.c:
28009           Add gst_vaapi_display_get_pixel_aspect_ratio().
28010
28011 2010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28012
28013         * docs/reference/libs/libs-sections.txt:
28014           Updates.
28015
28016 2010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28017
28018         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28019         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28020         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28021         * tests/test-display.c:
28022           Add display size accessors.
28023
28024 2010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28025
28026         * configure.ac:
28027         * debian/control.in:
28028           Build-Requires: gstreamer-plugins-base >= 0.10.16.
28029
28030 2010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28031
28032         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28033         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28034         * gst-libs/gst/vaapi/gstvaapiimage.h:
28035         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28036         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28037         * gst-libs/gst/vaapi/gstvaapisurface.h:
28038         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28039         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28040         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28041         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28042         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28043           Fix documentation of *Class'es.
28044
28045 2010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28046
28047         * gst-libs/gst/vaapi/gstvaapiutils.c:
28048         * gst-libs/gst/vaapi/gstvaapiutils.h:
28049         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28050           Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
28051
28052 2010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28053
28054         * docs/reference/libs/libs-sections.txt:
28055         * gst-libs/gst/vaapi/gstvaapisurface.h:
28056         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28057           Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
28058
28059 2010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28060
28061         * docs/reference/libs/libs-sections.txt:
28062         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28063         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28064         * sys/vaapisink/gstvaapisink.c:
28065         * tests/test-windows.c:
28066           Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
28067
28068 2010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28069
28070         * docs/reference/libs/Makefile.am:
28071           Fix make dist for --enable-gtk-doc builds.
28072
28073 2010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28074
28075         * autogen.sh:
28076           Improve autogen.sh.
28077
28078 2010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28079
28080         * Makefile.am:
28081         * autogen.sh:
28082           Generate gtk-doc.make from gtkdocize.
28083
28084 2010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28085
28086         * Makefile.am:
28087         * NEWS:
28088         * configure.ac:
28089         * docs/Makefile.am:
28090         * docs/reference/Makefile.am:
28091         * docs/reference/libs/Makefile.am:
28092         * docs/reference/libs/libs-docs.xml.in:
28093         * docs/reference/libs/libs-overrides.txt:
28094         * docs/reference/libs/libs-sections.txt:
28095         * docs/reference/libs/libs.types:
28096           Document public API for libgstvaapi-*.so.*.
28097
28098 2010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28099
28100         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28101         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28102           Document GstVaapiVideoBuffer.
28103
28104 2010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28105
28106         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28107         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28108         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28109         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28110         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28111         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28112           Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
28113
28114 2010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28115
28116         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28117         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28118         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28119         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28120         * gst-libs/gst/vaapi/gstvaapiimage.c:
28121         * gst-libs/gst/vaapi/gstvaapiimage.h:
28122         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28123         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28124         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28125         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28126         * gst-libs/gst/vaapi/gstvaapisurface.c:
28127         * gst-libs/gst/vaapi/gstvaapisurface.h:
28128         * gst-libs/gst/vaapi/gstvaapivideosink.c:
28129         * gst-libs/gst/vaapi/gstvaapivideosink.h:
28130         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28131         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28132         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28133         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28134           Add tedious documentation.
28135
28136 2010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28137
28138         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28139           Beautify append_formats().
28140
28141 2010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28142
28143         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28144           Simplify GstVaapiDisplay (use GArray).
28145
28146 2010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28147
28148         * NEWS:
28149         * sys/vaapiconvert/gstvaapiconvert.c:
28150         * sys/vaapiconvert/gstvaapiconvert.h:
28151           Factor out direct-rendering infrastructure.
28152
28153 2010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28154
28155         * sys/vaapiconvert/gstvaapiconvert.c:
28156         * sys/vaapiconvert/gstvaapiconvert.h:
28157           Allow user to specify inout-buffers & derive-image optimizations.
28158
28159 2010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28160
28161         * sys/vaapiconvert/gstvaapiconvert.c:
28162           Reduce number of debug messaged printed out.
28163
28164 2010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28165
28166         * sys/vaapiconvert/gstvaapiconvert.c:
28167         * sys/vaapiconvert/gstvaapiconvert.h:
28168           Add vaDeriveImage() optimization.
28169
28170 2010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28171
28172         * gst-libs/gst/vaapi/gstvaapiimage.c:
28173           Fix gst_vaapi_image_create() from a foreign VA image.
28174
28175 2010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28176
28177         * gst-libs/gst/vaapi/gstvaapiimage.c:
28178         * gst-libs/gst/vaapi/gstvaapiimage.h:
28179         * gst-libs/gst/vaapi/gstvaapisurface.c:
28180         * gst-libs/gst/vaapi/gstvaapisurface.h:
28181           Add gst_vaapi_surface_derive_image() API.
28182
28183 2010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28184
28185         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28186         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28187         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28188           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().
28189
28190 2010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28191
28192         * tests/test-windows.c:
28193           Try YV12 & I420 image formats too.
28194
28195 2010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28196
28197         * gst-libs/gst/vaapi/gstvaapiimage.c:
28198           Split map/unmap functions into internal functions that don't check preconditions.
28199
28200 2010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28201
28202         * gst-libs/gst/vaapi/gstvaapiimage.c:
28203           Improve gst_vaapi_image_new() sanity checks.
28204
28205 2010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28206
28207         * tests/test-windows.c:
28208           Fix typo.
28209
28210 2010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28211
28212         * sys/vaapiconvert/gstvaapiconvert.c:
28213           Check if our inout buffer is still alive or default to a separate output buffer.
28214
28215 2010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28216
28217         * sys/vaapiconvert/gstvaapiconvert.c:
28218         * sys/vaapiconvert/gstvaapiconvert.h:
28219           Factor out buffers negotiation and optimization checks.
28220
28221 2010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28222
28223         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28224         * gst-libs/gst/vaapi/gstvaapiimage.c:
28225         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
28226         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28227         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28228         * sys/vaapiconvert/gstvaapiconvert.h:
28229           Use gtypes.
28230
28231 2010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28232
28233         * gst-libs/gst/vaapi/gstvaapiimage.c:
28234           Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
28235
28236 2010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28237
28238         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28239         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28240         * gst-libs/gst/vaapi/gstvaapiimage.c:
28241         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28242         * gst-libs/gst/vaapi/gstvaapisurface.c:
28243         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28244           Add VA display locking utilities.
28245
28246 2010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28247
28248         * sys/vaapisink/gstvaapisink.c:
28249           Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
28250
28251 2010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28252
28253         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28254         * tests/test-windows.c:
28255           Don't show window by default during creation.
28256
28257 2010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28258
28259         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28260           Fix gst_vaapi_window_x11_destroy().
28261
28262 2010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28263
28264         * sys/vaapiconvert/gstvaapiconvert.c:
28265         * sys/vaapiconvert/gstvaapiconvert.h:
28266           Alias sink & src pad buffers whenever possible.
28267
28268 2010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28269
28270         * gst-libs/gst/vaapi/gstvaapiimage.c:
28271         * gst-libs/gst/vaapi/gstvaapiimage.h:
28272           Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
28273
28274 2010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28275
28276         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28277         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28278           Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
28279
28280 2010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28281
28282         * sys/vaapiconvert/gstvaapiconvert.c:
28283           Fix image & surface size cache.
28284
28285 2010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28286
28287         * configure.ac:
28288           Move gstreamer-vaapi package versioning to the top.
28289
28290 2010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28291
28292         * configure.ac:
28293           Bump version for development.
28294
28295 === release 0.1.0 ===
28296
28297 2010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28298
28299         * configure.ac:
28300           Cosmetics (shorten lines).
28301
28302 2010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28303
28304         * NEWS:
28305         * README:
28306           Update docs.
28307
28308 2010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28309
28310         * debian/Makefile.am:
28311         * debian/changelog.in:
28312         * debian/compat:
28313         * debian/control.in:
28314         * debian/copyright:
28315         * debian/gstreamer-vaapi.install.in:
28316         * debian/libgstvaapi-dev.install.in:
28317         * debian/libgstvaapi-x11.install.in:
28318         * debian/libgstvaapi.install.in:
28319         * debian/rules:
28320           Add debian packaging.
28321
28322 2010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28323
28324         * Makefile.am:
28325         * configure.ac:
28326           Add debian packaging.
28327
28328 2010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28329
28330         * pkgconfig/Makefile.am:
28331           Silence GNU make extensions warning.
28332
28333 2010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28334
28335         * configure.ac:
28336           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'
28337
28338 2010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28339
28340         * Makefile.am:
28341         * configure.ac:
28342         * pkgconfig/Makefile.am:
28343         * pkgconfig/gstreamer-vaapi-x11.pc.in:
28344         * pkgconfig/gstreamer-vaapi.pc.in:
28345           Add pkgconfig files.
28346
28347 2010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28348
28349         * configure.ac:
28350         * gst-libs/gst/vaapi/Makefile.am:
28351         * sys/vaapisink/Makefile.am:
28352         * tests/Makefile.am:
28353           Split X11 support to libgstvaapi-x11-*.so.*
28354
28355 2010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28356
28357         * gst-libs/gst/vaapi/Makefile.am:
28358           Don't install private headers.
28359
28360 2010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28361
28362         * gst-libs/gst/vaapi/gstvaapidebug.h:
28363         * gst-libs/gst/vaapi/gstvaapiutils.c:
28364         * gst-libs/gst/vaapi/gstvaapiutils.h:
28365           Fix header guards.
28366
28367 2010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28368
28369         * gst-libs/gst/vaapi/Makefile.am:
28370         * gst-libs/gst/vaapi/gstvaapidebug.h:
28371         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28372         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28373         * gst-libs/gst/vaapi/gstvaapiimage.c:
28374         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28375         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28376         * gst-libs/gst/vaapi/gstvaapisurface.c:
28377         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28378         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28379         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28380         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28381         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28382           Rename vaapi_debug.h to gstvaapidebug.h.
28383
28384 2010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28385
28386         * gst-libs/gst/vaapi/Makefile.am:
28387         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28388         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28389         * gst-libs/gst/vaapi/gstvaapiimage.c:
28390         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28391         * gst-libs/gst/vaapi/gstvaapisurface.c:
28392         * gst-libs/gst/vaapi/gstvaapiutils.c:
28393         * gst-libs/gst/vaapi/gstvaapiutils.h:
28394         * gst-libs/gst/vaapi/vaapi_debug.h:
28395           Move vaapi_utils.* to gstvaapiutils.*
28396
28397 2010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28398
28399         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28400           Cosmetics (remove an extra line).
28401
28402 2010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28403
28404         * gst-libs/gst/vaapi/Makefile.am:
28405         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
28406         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28407         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28408           Move X11 utilties to gstvaapiutils_x11.[ch].
28409
28410 2010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28411
28412         * gst-libs/gst/vaapi/Makefile.am:
28413         * gst-libs/gst/vaapi/gstvaapivideosink.c:
28414         * gst-libs/gst/vaapi/gstvaapivideosink.h:
28415         * sys/vaapiconvert/gstvaapiconvert.c:
28416         * sys/vaapisink/gstvaapisink.c:
28417           Rename GstVaapiSinkBase to GstVaapiVideoSink.
28418
28419 2010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28420
28421         * configure.ac:
28422         * tests/Makefile.am:
28423         * tests/examples/Makefile.am:
28424         * tests/examples/generic/Makefile.am:
28425         * tests/test-display.c:
28426         * tests/test-surfaces.c:
28427         * tests/test-windows.c:
28428           Move tests to top-level tests/ directory.
28429
28430 2010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28431
28432         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28433         * gst-libs/gst/vaapi/gstvaapiimage.c:
28434         * sys/vaapiconvert/gstvaapiconvert.c:
28435         * sys/vaapiconvert/gstvaapiconvert.h:
28436           Handle I420 formats internally in GstVaapiImage.
28437
28438 2010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28439
28440         * sys/vaapiconvert/gstvaapiconvert.c:
28441         * sys/vaapiconvert/gstvaapiconvert.h:
28442           Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
28443
28444 2010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28445
28446         * gst-libs/gst/vaapi/gstvaapiimage.c:
28447           Implement I420 and YV12 if the underlying implementation does not.
28448
28449 2010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28450
28451         * sys/vaapiconvert/Makefile.am:
28452         * sys/vaapiconvert/gstvaapiconvert.c:
28453         * sys/vaapiconvert/gstvaapiconvert.h:
28454           Add initial vaapiconvert plugin.
28455
28456 2010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28457
28458         * sys/vaapisink/gstvaapisink.c:
28459         * sys/vaapisink/gstvaapisink.h:
28460           Display frames.
28461
28462 2010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28463
28464         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28465           Factor out.
28466
28467 2010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28468
28469         * tests/examples/generic/test-windows.c:
28470           Generate R/G/B rects.
28471
28472 2010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28473
28474         * gst-libs/gst/vaapi/gstvaapisurface.c:
28475         * gst-libs/gst/vaapi/gstvaapisurface.h:
28476           Add gst_vaapi_surface_sync().
28477
28478 2010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28479
28480         * gst-libs/gst/vaapi/gstvaapiimage.c:
28481           Cosmetics (reverse args order).
28482
28483 2010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28484
28485         * gst-libs/gst/vaapi/gstvaapiimage.c:
28486         * gst-libs/gst/vaapi/gstvaapiimage.h:
28487         * gst-libs/gst/vaapi/gstvaapisurface.c:
28488           Cosmetics.
28489
28490 2010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28491
28492         * gst-libs/gst/vaapi/Makefile.am:
28493         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28494         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28495         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28496         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28497         * tests/examples/generic/Makefile.am:
28498         * tests/examples/generic/test-windows.c:
28499           Add VA/X11 window abstraction.
28500
28501 2010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28502
28503         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28504         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28505           Add VA and X11 display accessors.
28506
28507 2010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28508
28509         * gst-libs/gst/vaapi/gstvaapiimage.c:
28510           Fix preconditions.
28511
28512 2010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28513
28514         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28515           Cosmetics.
28516
28517 2010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28518
28519         * gst-libs/gst/vaapi/gstvaapiimage.c:
28520         * gst-libs/gst/vaapi/gstvaapiimage.h:
28521         * gst-libs/gst/vaapi/gstvaapisurface.c:
28522         * gst-libs/gst/vaapi/gstvaapisurface.h:
28523           Add gst_vaapi_{get,put}_image() API.
28524
28525 2010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28526
28527         * gst-libs/gst/vaapi/gstvaapiimage.c:
28528         * gst-libs/gst/vaapi/gstvaapiimage.h:
28529           Add gst_vaapi_image_update_from_buffer() helper.
28530
28531 2010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28532
28533         * sys/vaapisink/Makefile.am:
28534         * sys/vaapisink/gstvaapisink.c:
28535         * sys/vaapisink/gstvaapisink.h:
28536           Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
28537
28538 2010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28539
28540         * tests/examples/generic/Makefile.am:
28541         * tests/examples/generic/test-surfaces.c:
28542           Add surface tests.
28543
28544 2010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28545
28546         * gst-libs/gst/vaapi/Makefile.am:
28547         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28548         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28549           Add basic GstVaapiVideoBuffer.
28550
28551 2010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28552
28553         * gst-libs/gst/vaapi/Makefile.am:
28554         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28555         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28556         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28557         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28558         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28559         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28560           Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
28561
28562 2010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28563
28564         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28565           Simplify format conversion code.
28566
28567 2010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28568
28569         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28570         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28571           Add gst_vaapi_image_format_from_caps() helper.
28572
28573 2010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28574
28575         * gst-libs/gst/vaapi/Makefile.am:
28576         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28577         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28578           Add VA surface pool (lazy allocator).
28579
28580 2010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28581
28582         * gst-libs/gst/vaapi/gstvaapisurface.c:
28583         * gst-libs/gst/vaapi/gstvaapisurface.h:
28584           Add gst_vaapi_surface_get_size() helper.
28585
28586 2010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28587
28588         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28589           Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
28590
28591 2010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28592
28593         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28594           Reset display-name if the user provided his own X11 display.
28595
28596 2010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28597
28598         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28599         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28600         * tests/examples/generic/test-display.c:
28601           Add gst_vaapi_display_x11_new_with_display() API.
28602
28603 2010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28604
28605         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28606         * gst-libs/gst/vaapi/gstvaapiimage.h:
28607         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28608         * gst-libs/gst/vaapi/gstvaapisurface.h:
28609           Fix *_GET_CLASS() definitions...
28610
28611 2010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28612
28613         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28614         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28615         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28616         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28617         * tests/examples/generic/test-display.c:
28618           API change: gst_vaapi_display_x11_new() now takes an X11 display name.
28619
28620 2010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28621
28622         * gst-libs/gst/vaapi/gstvaapisurface.c:
28623         * gst-libs/gst/vaapi/gstvaapisurface.h:
28624           Use GstVaapiChromaType abstraction.
28625
28626 2010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28627
28628         * gst-libs/gst/vaapi/gstvaapiimage.c:
28629         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28630         * gst-libs/gst/vaapi/gstvaapisurface.c:
28631           New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
28632
28633 2010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28634
28635         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28636           Don't warn on failure, just return an appropriate error or value.
28637
28638 2010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28639
28640         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28641         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28642         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28643           Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
28644
28645 2010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28646
28647         * gst-libs/gst/vaapi/Makefile.am:
28648         * gst-libs/gst/vaapi/gstvaapisinkbase.c:
28649         * gst-libs/gst/vaapi/gstvaapisinkbase.h:
28650           Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
28651
28652 2010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28653
28654         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28655         * gst-libs/gst/vaapi/gstvaapiimage.c:
28656         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28657         * gst-libs/gst/vaapi/gstvaapisurface.c:
28658         * gst-libs/gst/vaapi/vaapi_debug.h:
28659           Use GST_DEBUG.
28660
28661 2010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28662
28663         * gst-libs/gst/vaapi/gstvaapiimage.c:
28664         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28665           Fix GstVaapiImage and GstVaapiSubpicture initialization.
28666
28667 2010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28668
28669         * gst-libs/gst/vaapi/gstvaapisurface.c:
28670           Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
28671
28672 2010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28673
28674         * tests/examples/generic/test-display.c:
28675           Dump caps.
28676
28677 2010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28678
28679         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28680         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28681         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28682           Fix GstVaapiDisplay initialization.
28683
28684 2010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28685
28686         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28687         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28688           Get VA image & subpicture formats as GstCaps.
28689
28690 2010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28691
28692         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28693         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28694           Add helper to convert from GstVaapiImageFormat to GstCaps.
28695
28696 2010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28697
28698         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28699         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28700         * gst-libs/gst/vaapi/gstvaapisurface.c:
28701           Cosmetics (drop unused variables).
28702
28703 2010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28704
28705         * configure.ac:
28706         * sys/vaapiconvert/Makefile.am:
28707         * sys/vaapiconvert/gstvaapiconvert.c:
28708         * sys/vaapiconvert/gstvaapiconvert.h:
28709         * sys/vaapisink/Makefile.am:
28710         * sys/vaapisink/gstvaapisink.c:
28711         * sys/vaapisink/gstvaapisink.h:
28712           Add boilerplate for vaapiconvert and vaapisink elements.
28713
28714 2010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28715
28716         * configure.ac:
28717         * sys/Makefile.am:
28718         * sys/vaapiconvert/Makefile.am:
28719           Add vaapiconvert element hierarchy.
28720
28721 2010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28722
28723         * sys/vaapisink/Makefile.am:
28724           Rename to vaapisink.
28725
28726 2010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28727
28728         * gst-libs/gst/vaapi/gstvaapisurface.c:
28729           Shorter code (and more correct).
28730
28731 2010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28732
28733         * gst-libs/gst/vaapi/gstvaapisurface.c:
28734         * gst-libs/gst/vaapi/gstvaapisurface.h:
28735           Add helper to get GstVaapiDisplay from a surface.
28736
28737 2010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28738
28739         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28740           Fix subpicture formats list length.
28741
28742 2010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28743
28744         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28745         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28746           Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
28747
28748 2010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28749
28750         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28751         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28752           Cosmetics (more checks, includes).
28753
28754 2010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28755
28756         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28757         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28758           Really add VA subpicture abstraction.
28759
28760 2010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28761
28762         * gst-libs/gst/vaapi/Makefile.am:
28763         * gst-libs/gst/vaapi/gstvaapiimage.c:
28764         * gst-libs/gst/vaapi/gstvaapiimage.h:
28765         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28766         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28767         * gst-libs/gst/vaapi/gstvaapisurface.c:
28768         * gst-libs/gst/vaapi/gstvaapisurface.h:
28769           Add VA surface, image, subpicture abstractions. Ported over from Gnash.
28770
28771 2010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28772
28773         * configure.ac:
28774         * gst-libs/gst/vaapi/Makefile.am:
28775         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28776         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28777         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28778         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28779         * gst-libs/gst/vaapi/vaapi_debug.h:
28780         * gst-libs/gst/vaapi/vaapi_utils.c:
28781         * gst-libs/gst/vaapi/vaapi_utils.h:
28782         * tests/examples/generic/Makefile.am:
28783         * tests/examples/generic/test-display.c:
28784           Add initial VA display abstraction.
28785
28786 2010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28787
28788         * Makefile.am:
28789         * configure.ac:
28790         * tests/Makefile.am:
28791         * tests/examples/Makefile.am:
28792         * tests/examples/generic/Makefile.am:
28793           Add tests infrastructure.
28794
28795 2010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28796
28797         * configure.ac:
28798           Clean up VA-API checks.
28799
28800 2010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28801
28802         * configure.ac:
28803           Check for __attribute__((visibility("hidden"))).
28804