wayland: don't poll if there are no pending frames
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 1.14.0 ===
2
3 2018-03-19 20:30:28 +0000  Tim-Philipp Müller <tim@centricular.com>
4
5         * ChangeLog:
6         * NEWS:
7         * configure.ac:
8         * gstreamer-vaapi.doap:
9         * meson.build:
10           Release 1.14.0
11
12 2018-03-12 16:59:01 +0000  Julien Isorce <jisorce@oblong.com>
13
14         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15           libs: decoder: h264: ensure num_ref_frames is greater than 0
16           Even if it is the h264parse fault or bad video file, vaapih264dec
17           should set a proper value for VAPictureParameterBufferH264.num_ref_frames
18           as the driver might use it.
19           Also see "info.ref_frames = dpb_size;" in
20           gstvaapidecoder_h264.c::ensure_context
21           https://bugzilla.gnome.org/show_bug.cgi?id=793836
22
23 === release 1.13.91 ===
24
25 2018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
26
27         * ChangeLog:
28         * NEWS:
29         * configure.ac:
30         * gstreamer-vaapi.doap:
31         * meson.build:
32           Release 1.13.91
33
34 === release 1.13.90 ===
35
36 2018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
37
38         * ChangeLog:
39         * NEWS:
40         * configure.ac:
41         * gstreamer-vaapi.doap:
42         * meson.build:
43           Release 1.13.90
44
45 2018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
46
47         * gst/vaapi/gstvaapipostproc.c:
48           vaapipostproc: change how the metadata is copied
49           Instead of copying the metada in prepare_output_buffer() vmethod,
50           it is done in append_output_buffer_metadata() thus deinterlaced
51           buffers could also have the proper metas.
52           GstVideoCropMeta now it is copied internally and it is decided via
53           transform_meta() vmethod.
54           A new internal method, copy_metadata() was added to handle VPP
55           transformation where non-GstVideoVaapiMeta metas were lost.
56
57 2018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
58
59         * gst/vaapi/gstvaapipostproc.c:
60           postproc: Copy meta data from input to output
61           This will ensure that meta data without memory tags will be copied. This
62           was noticed when testing ROI.
63           https://bugzilla.gnome.org/show_bug.cgi?id=768248
64
65 2018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
66
67         * tests/elements/test-roi.c:
68           tests: element: rewrite ROI test
69           Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
70           than injecting GstEvents. These meta are added as a pad probe in
71           the queue src pad.
72           Also
73           * Use of navigation messages to control de test
74           * Use signal watch for processing messages
75           * Change to H265 rather than H264 since current intel-vaapi-driver
76           only supports ROI on kabylake.
77           TODO: add a parameter to change the encoder/decoder to test.
78           https://bugzilla.gnome.org/show_bug.cgi?id=768248
79
80 2018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
81
82         * gst-libs/gst/vaapi/gstvaapicontext.c:
83         * gst-libs/gst/vaapi/gstvaapiencoder.c:
84         * gst-libs/gst/vaapi/gstvaapiencoder.h:
85         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
86         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
87         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
88           libs: encoder: reimplement ROI using meta
89           Check input buffers for ROI metas and pass them to VA. Also added a
90           new "default-roi-delta-qp" property in order to tell the encoder what
91           delta QP should be applied to ROI by default.
92           Enabled it for H264 and H265 encoders.
93           https://bugzilla.gnome.org/show_bug.cgi?id=768248
94
95 2018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
96
97         * gst-libs/gst/vaapi/gstvaapiencoder.c:
98         * gst-libs/gst/vaapi/gstvaapiencoder.h:
99         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
100           Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
101           This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
102           https://bugzilla.gnome.org/show_bug.cgi?id=768248
103
104 2018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
105
106         * tests/simple-encoder.c:
107           Revert "tests: simple-encoder: add an option to set ROI"
108           This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
109           https://bugzilla.gnome.org/show_bug.cgi?id=768248
110
111 2018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
112
113         * gst/vaapi/gstvaapiencode.c:
114         * gst/vaapi/gstvaapiencode_h264.c:
115           Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
116           This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
117           https://bugzilla.gnome.org/show_bug.cgi?id=768248
118
119 2018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
120
121         * gst/vaapi/gstvaapipluginbase.c:
122           plugins: copy input buffer metas
123           When importing buffers to a VA-base buffer, it is required to copy
124           the metas in the original buffer, otherwise information will be
125           lost, such as GstVideoRegionOfInterestMeta.
126           https://bugzilla.gnome.org/show_bug.cgi?id=768248
127
128 2018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
129
130         * gst-libs/gst/vaapi/gstvaapisurface.c:
131           libs: surface: cast to uintptr_t pointer
132           According to Debian package auto-building, uintptr_t is not an
133           unsigned long in i386 arch, raising an "incompatible pointer type"
134           error.
135           This patch adds a casting for compiler's satisfaction in i386.
136
137 2018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
138
139         * gst-libs/gst/vaapi/gstvaapiencoder.c:
140           libs: encoder: add zero as valid value for periodic keyframe.
141           Enabled zero as valid value for keyframe-period property.
142           https://bugzilla.gnome.org/show_bug.cgi?id=793829
143
144 2018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
145
146         * gst-libs/gst/vaapi/gstvaapiencoder.c:
147           libs: encoder: code-style fix
148
149 2018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
150
151         * gst/vaapi/gstvaapidecode.c:
152           vaapidecode: generate system allocated buffers
153           Generate system allocated output buffers when downstream doesn't
154           support GstVideoMeta.
155           The VA buffer content is copied to the new output buffer, and it
156           replaces the VA buffer.
157           https://bugzilla.gnome.org/show_bug.cgi?id=785054
158
159 2018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
160
161         * gst/vaapi/gstvaapipostproc.c:
162           vaapipostproc: handle system allocated buffers when required
163           When downstream can't handle GstVideoMeta it is required to send
164           system allocated buffers.
165           The system allocated buffers are produced in prepare_output_buffer()
166           vmethod if downstream can't handl GstVideoMeta.
167           At transform() vmethod if the buffer is a system allocated buffer,
168           a VA buffer is instanciated and replaces the out buffer. Later
169           the VA buffer is copied to the system allocate buffer and it
170           replaces the output buffer.
171           https://bugzilla.gnome.org/show_bug.cgi?id=785054
172
173 2018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
174
175         * gst/vaapi/gstvaapipluginbase.c:
176         * gst/vaapi/gstvaapipluginbase.h:
177           plugins: add gst_vaapi_copy_va_buffer()
178           This helper function aims to copy buffers with VA memory to dumb
179           buffers, when GstVideoMeta is not available dowstream.
180           https://bugzilla.gnome.org/show_bug.cgi?id=785054
181
182 2018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
183
184         * gst/vaapi/gstvaapipluginbase.c:
185         * gst/vaapi/gstvaapipluginbase.h:
186           plugins: add COPY_OUTPUT_FRAME flag
187           This patch add the member copy_output_frame and set it TRUE when
188           when downstream didn't request GstVideoMeta API, the caps are raw
189           and the internal allocator is the VA-API one.
190           https://bugzilla.gnome.org/show_bug.cgi?id=785054
191
192 2018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
193
194         * gst/vaapi/gstvaapipluginbase.c:
195         * gst/vaapi/gstvaapipluginbase.h:
196           plugins: store the first downstream allocator if available
197           The allocator will be required if we need to allocate a buffer
198           to store the frame with the expected strides.
199           https://bugzilla.gnome.org/show_bug.cgi?id=785054
200
201 2018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
202
203         * gst/vaapi/gstvaapivideobufferpool.c:
204         * gst/vaapi/gstvaapivideobufferpool.h:
205           vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
206           This function will inform the element if it shall copy the generated
207           buffer by the pool to a system allocated buffer before pushing it
208           to downstream.
209           https://bugzilla.gnome.org/show_bug.cgi?id=785054
210
211 2018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
212
213         * gst/vaapi/gstvaapivideobufferpool.c:
214           vaapibufferpool: don't change config when forcing video meta
215           VA-API based buffer might need a video meta because of different
216           strides. But when donwstream doesn't support video meta we need to
217           force the usage of video meta.
218           Before we changed the buffer pool configuration, but actually this
219           is a hack and we cannot rely on that for downstream.
220           This patch add a check fo raw video caps and allocator is VA-API,
221           then the option is enabled without changing the pool configuration.
222           In this case the element is responsible to copy the frame to a
223           simple buffer with the expected strides.
224           https://bugzilla.gnome.org/show_bug.cgi?id=785054
225
226 2018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
227
228         * gst/vaapi/gstvaapipostproc.c:
229           vaapipostproc: set discont flag at vpp deinterlacing
230           When deinterlacing with VPP the discont flag was not forwarded to
231           the new created buffer. This patch sets the discont flag if input
232           buffer has it.
233
234 2018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
235
236         * gst/vaapi/gstvaapivideobufferpool.h:
237           vaapibufferpool: remove wrong gcc annotation
238
239 2018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
240
241         * gst-libs/gst/vaapi/gstvaapiencoder.c:
242         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
243         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
244         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
245         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
246         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
247         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
248           libs: encoder: h264,h265: extend max periodic keyframe.
249           Increased max values of periodic key frame for h26x codecs.
250           This allow more fine tunning of encoder that in certian scenario
251           want higher periodic key frame.
252           For example: it doesn't want a key frame each 10 seconds but
253           each 120 seconds.
254           https://bugzilla.gnome.org/show_bug.cgi?id=786320
255
256 2018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
257
258         * configure.ac:
259         * meson.build:
260           Back to development
261
262 === release 1.13.1 ===
263
264 2018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
265
266         * Makefile.am:
267         * NEWS:
268         * configure.ac:
269         * gstreamer-vaapi.doap:
270         * meson.build:
271           Release 1.13.1
272
273 2018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
274
275         * gst/vaapi/Makefile.am:
276           vaapi: dist new header
277
278 2018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
279
280         * gst/vaapi/gstvaapi.c:
281           vaapi: register vaapisink as marginal on wayland
282           vaapsink, when used with the Intel VA-API driver, tries to display
283           surfaces with format NV12, which are handled correctly by
284           Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
285           pipelines on mutter.
286           This shall be solved either by COGL or by making the driver to paint
287           RGB surfaces. In the meanwhile, let's just demote vaapisink as
288           marginal when the Wayland environment is detected, no matter if it is
289           Weston.
290           https://bugzilla.gnome.org/show_bug.cgi?id=775698
291
292 2018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
293
294         * gst/vaapi/gstvaapipluginutil.c:
295           plugins: update mesa's vendor string in whitelist
296           Mesa has updated its VA-API Gallium driver vendor string:
297           https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
298           This patch tries to cover both, the old and the new one.
299           https://bugzilla.gnome.org/show_bug.cgi?id=793386
300
301 2018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
302
303         * meson.build:
304           meson: make version numbers ints and fix int/string comparison
305           WARNING: Trying to compare values of different types (str, int).
306           The result of this is undefined and will become a hard error
307           in a future Meson release.
308
309 2018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
310
311         * gst/vaapi/gstvaapipluginbase.c:
312           plugins: handle vaapi allocator in allocation query
313           In propose_allocation() if the numer of allocation params is zero, the
314           system's allocator is added first, and lastly the native VA-API
315           allocator.
316           In decide_allocation(), the allocations params in query are travered,
317           looking for a native VA-API allocator. If it is found, it is reused as
318           src pad allocator. Otherwise, a new allocator is instantiated and
319           appended in the query.
320           https://bugzilla.gnome.org/show_bug.cgi?id=789476
321
322 2018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
323
324         * gst/vaapi/gstvaapivideomemory.h:
325           vaapivideomemory: remove unused macro
326           GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
327           was never used, since the native VA-API allocator name has been
328           GST_VAAPI_VIDEO_MEMORY_NAME.
329           This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
330           https://bugzilla.gnome.org/show_bug.cgi?id=789476
331
332 2018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
333
334         * gst/vaapi/gstvaapisink.c:
335           vaapisink: don't mask button events for foreign windows
336           Don't subscribe to button press events when using a foreing window,
337           because the user created window would trap those events, preveting the
338           show of frames.
339           https://bugzilla.gnome.org/show_bug.cgi?id=791615
340
341 2018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
342
343         * configure.ac:
344           autotools: use -fno-strict-aliasing where supported
345           https://bugzilla.gnome.org/show_bug.cgi?id=769183
346
347 2018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
348
349         * meson.build:
350           meson: use -fno-strict-aliasing where supported
351           https://bugzilla.gnome.org/show_bug.cgi?id=769183
352
353 2018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
354
355         * gst/vaapi/gstvaapi.c:
356           vaapi: add NULL-sentinel to kernel_names
357           The array needs to be NULL-terminated according to the
358           gst_plugin_add_dependency() documentation.
359
360 2018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
361
362         * gst/vaapi/gstvaapipostprocutil.c:
363           vaapipostproc: remove spurious code
364           This assignation is dead code, since gst_video_info_from_caps() set
365           to 1 by default.
366           https://bugzilla.gnome.org/show_bug.cgi?id=790149
367
368 2018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
369
370         * gst/vaapi/gstvaapipostprocutil.c:
371           vaapipostproc: if no p-a-r in out caps define a range
372           Instead of copying the pixel-aspect-ratio from the sink caps, define
373           an open range for the src caps pixel-aspect-ratio. Later it will be
374           defined.
375           https://bugzilla.gnome.org/show_bug.cgi?id=790149
376
377 2018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
378
379         * gst/vaapi/gstvaapisink.c:
380           vaapisink: check for display's color-balance properties
381           Check for display's color-balance properties, available by the VA-API
382           driver, before setting them.
383           Also logs an info message of those unavailable properties.
384           https://bugzilla.gnome.org/show_bug.cgi?id=792638
385
386 2018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
387
388         * gst/vaapi/gstvaapipluginbase.c:
389           plugins: re-using buffer pool breaks renegotiation
390           at propose_allocation() we should not reuse the proposed buffer,
391           because it could break renegotiation.
392           https://bugzilla.gnome.org/show_bug.cgi?id=792620
393
394 2018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
395
396         * gst/vaapi/gstvaapipluginbase.c:
397           plugins: use g_clear_object() to unref sinkpad_buffer_pool
398           https://bugzilla.gnome.org/show_bug.cgi?id=792620
399
400 2018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
401
402         * gst-libs/gst/vaapi/meson.build:
403           build: meson: add missing GstGL dependency
404
405 2018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
406
407         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
408           libs: utils: egl: add missing guards for GstGL
409
410 2018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
411
412         * gst/vaapi/gstvaapipluginbase.c:
413           plugins: remove dmabuf-import hack
414           Remove the hack to check if an upstream element has enabled the
415           property io-mode enabled as dmabuf-import.
416           https://bugzilla.gnome.org/show_bug.cgi?id=792034
417
418 2017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
419
420         * gst-libs/gst/vaapi/Makefile.am:
421         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
422         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
423         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
424           libs: egl: utils: use eglGetPlatformDisplay()
425           eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
426           eglGetDisplay() is rather fragile, and it is recommended to use
427           eglGetPlatformDisplay() when possible.
428           In order to do that, this patch uses the helper in GstGL. If
429           gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
430           will be used.
431           https://bugzilla.gnome.org/show_bug.cgi?id=790493
432
433 2017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
434
435         * gst/vaapi/gstvaapipostproc.c:
436           vaapipostproc: lock ensure_filter with postproc_lock
437           gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
438           and allowed_sinkpad_caps. This can race with copying these caps in
439           gst_vaapipostproc_transform_caps and lead to segfaults.
440           The gst_vaapipostproc_transform_caps function already locks
441           postproc_lock before copying the caps. Make sure that calls to
442           gst_vaapipostproc_ensure_filter also acquire this lock.
443           https://bugzilla.gnome.org/show_bug.cgi?id=791404
444
445 2018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
446
447         * tests/test-filter.c:
448           tests: test-filter: fix dereference before null check
449           Null-checking op_info suggests that it may be null, but it has already
450           been dereferenced on all paths leading to the check.
451           There may be a null pointer dereference, or else the comparison
452           against null is unnecessary.
453
454 2018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
455
456         * tests/y4mreader.c:
457           tests: y4mreader: fix string state checkup
458           str cannot be null in that moment, but it may be the end of string.
459
460 2018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
461
462         * tests/y4mreader.c:
463           tests: y4mreader: use int for fgetc
464           Assigning the return value of fgetc to char truncates its value.
465           It will not be possible to distinguish between EOF and a valid
466           character.
467
468 2018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
469
470         * tests/y4mreader.c:
471           tests: y4mreader: fix incompatible cast
472           Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
473           they are dereferenced as a wider long (64 bits, signed). This may lead
474           to memory corruption.
475
476 2017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
477
478         * meson.build:
479           meson: fix fallback for gstreamer-gl-1.0, it's now in -base
480
481 2017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
482
483         * common:
484           Automatic update of common submodule
485           From e8c7a71 to 3fa2c9e
486
487 2017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
488
489         * gst/vaapi/gstvaapivideocontext.c:
490           videoconvert: gst_element_post_message() is transfer full on msg
491           For this reson we need not to unref the message, even if it failed.
492
493 2017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
494
495         * gst/vaapi/gstvaapivideocontext.c:
496           Revert "vaapivideocontext: possible memleak when no bus attached"
497           This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
498
499 2017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
500
501         * tests/elements/test-vaapicontext.c:
502           test: vaapicontext: process have-context bus message
503
504 2017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
505
506         * tests/elements/test-vaapicontext.c:
507           test: vaapicontext: app context is not persistent
508
509 2017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
510
511         * gst/vaapi/gstvaapipluginbase.c:
512         * gst/vaapi/gstvaapivideocontext.c:
513         * gst/vaapi/gstvaapivideocontext.h:
514           vaapivideocontext: only vaapisink process app context
515           gst.vaapi.app.Display context is made for applications that will
516           provide the VA display and the native display to used by the
517           pipeline, when are using vaapisink as overlay. There are no use
518           case for encoders, decoders, neither for the postprocessor.
519           In the case of the vaapisink, it shall query for gst.vaapi.Display
520           upstream first, and then, if there is no reply,
521           gst.vaapi.app.Display context will be posted in the bus for the
522           application. If the application replies, a GstVaapiDisplay object
523           is instantiated given the context info, otherwise a
524           GstVaapiDisplay is created with the normal algorithm to guess the
525           graphics platform. Either way, the instantiated GstVaapiDisplay
526           is propagated among the pipeline and the have-message bus message.
527           Also only vaapisink will process the gst.vaapi.app.Display, if
528           and only if, it doesn't have a display already set. This is
529           caused because if vaapisink is in a bin (playsink, for example)
530           the need-context is posted twice, leading to an error state.
531           https://bugzilla.gnome.org/show_bug.cgi?id=790999
532
533 2017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
534
535         * gst/vaapi/gstvaapivideocontext.c:
536           vaapivideocontext: log the name of GstVaapiDisplay
537           https://bugzilla.gnome.org/show_bug.cgi?id=790999
538
539 2017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
540
541         * gst/vaapi/gstvaapivideocontext.c:
542           vaapivideocontext: possible memleak when no bus attached
543           https://bugzilla.gnome.org/show_bug.cgi?id=790999
544
545 2017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
546
547         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
548           libs: window: wayland: remove unused header include
549           Remove wayland-client.h include since there is no exposed symbols from
550           it.
551
552 2017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
553
554         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
555         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
556           libs: encoder: h264,h265: guard rate control's macroblock
557           macroblock parameter appear on VA-API 1.0.0. It should be guarded.
558
559 2017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
560
561         * common:
562           Automatic update of common submodule
563           From 3f4aa96 to e8c7a71
564
565 2016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
566
567         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
568           libs: encoder: h264: Add Hierarchical-B encode
569           Frames are encoded as different layers. 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           B-frames, except the one in top most layer, are reference frames.
574           All the base layer frames are I or P.
575           eg: with 3 temporal layers
576           T3:             B1            B3              B5              B7
577           T2:                   B2                              B6
578           T1:   I0                                P4                        P8
579           T1, T2, T3: Temporal Layers
580           P1...Pn:   P-Frames:
581           B1...Bn:   B-frames:
582           T1: I0->P4 , P4->P8 etc..
583           T2: I0--> B2 <-- P4
584           T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
585           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
586           https://bugzilla.gnome.org/show_bug.cgi?id=788918
587
588 2016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
589
590         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
591           libs: encoder: h264: Add Hierarchical-P encode
592           Frames are encoded as different layers. A frame in a particular
593           layer will use pictures in lower or same layer as references.
594           Which means decoder can drop the frames in upper layer but still
595           decode lower layer frames.
596           eg: with 3 temporal layers
597           T3:             P1            P3              P5              P7
598           T2:                   P2                              P6
599           T1:   P0                                P4                        P8
600           T1, T2, T3: Temporal Layers
601           P1...pn:   P-Frames:
602           P0->P1 , P0->P2, P2->P3, P0->P4......repeat
603           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
604           https://bugzilla.gnome.org/show_bug.cgi?id=788918
605
606 2016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
607
608         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
609           libs: encoder: h264: Fix frame_num generation
610           The frame_num generation was not correctly implemented.
611           According to h264 spec, frame_num should get incremented
612           for each frame if previous frame is a referece frame.
613           For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
614           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
615           https://bugzilla.gnome.org/show_bug.cgi?id=788918
616
617 2016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
618
619         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
620         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
621           libs: encoder: h264: Add new property "prediction-type"
622           Adds new property "prediction-type" to select different reference
623           picture selection modes like hierarchical-p, hierarchical-b etc.
624           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
625           https://bugzilla.gnome.org/show_bug.cgi?id=788918
626
627 2016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
628
629         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
630         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
631           libs: encoder: h264: Add machinery for implementing hierarchical-prediction
632           Adds some basic building blocks to ease the implementation
633           of hierarchical prediction modes.
634           -- add an utility method to find temporal level of each frame
635           -- define max_ref_frame count based on temporal level count
636           -- add temporal_level_div[] for finding temporal level each frame
637           to be encoded.
638           -- find ip_period based on temporal level count
639           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
640           https://bugzilla.gnome.org/show_bug.cgi?id=788918
641
642 2016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
643
644         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
645         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
646           libs: encoder: h264: Add property "temporal-levels"
647           Adds new property "temporal-levels" to select the number of
648           temporal levels to be included in the encoded stream.
649           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
650           https://bugzilla.gnome.org/show_bug.cgi?id=788918
651
652 2016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
653
654         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
655           libs: encoder: objects: Add a reference flag
656           We can have p-frame as non-ref and also b-frame as ref
657           which are not supported yet. Reference flag
658           is the first machinery needed for more advanced
659           reference picture selection modes.
660           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
661           https://bugzilla.gnome.org/show_bug.cgi?id=788918
662
663 2017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
664
665         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
666           libs: surface: egl: add comment
667           Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
668           where the creation of surfaces from GEM fd may fail.
669           https://bugzilla.gnome.org/show_bug.cgi?id=773453
670
671 2017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
672
673         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
674         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
675         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
676           libs: display: egl: add gst_vaapi_display_egl_set_current_display()
677           Adds a new function that changes the internal EGL display to the
678           current one (eglGetCurrentDisplay()) and sets the current context
679           too (eglGetCurrentContext()).
680           This new function is called by gst_vaapi_texture_egl_create() updating
681           the GstVaapiDisplayEGL with the current EGL display.
682           https://bugzilla.gnome.org/show_bug.cgi?id=773453
683
684 2017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
685
686         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
687           libs: texture: egl: update EGL display and context
688           It is required to use the context of the calling thread when wrapping
689           a foreign texture. According the documentation of
690           GstVideoGLTextureUploadMeta:
691           "The caller of gst_video_gl_texture_upload_meta_upload() must
692           have OpenGL set up and call this from a thread where it is valid
693           to upload something to an OpenGL texture."
694           This patch updates the EGL display and context in GstVaapiDisplay
695           instance to the one used by te renderer that uploads the texture.
696           Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
697           https://bugzilla.gnome.org/show_bug.cgi?id=773453
698
699 2017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
700
701         * gst/vaapi/gstvaapipluginbase.c:
702           plugins: centralize assignation of GL objects
703           Add plugin_set_gst_gl() where the GstGL objects are assigned.
704           https://bugzilla.gnome.org/show_bug.cgi?id=773453
705
706 2017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
707
708         * gst/vaapi/gstvaapipluginbase.c:
709           plugins: set GL objects if ensured
710           Only set the GL display and GL other context if they are ensured.
711           https://bugzilla.gnome.org/show_bug.cgi?id=773453
712
713 2017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
714
715         * gst/vaapi/gstvaapipluginbase.c:
716           plugins: set GL objects if context is handled
717           Only set the GL display and GL other context if they are extracted
718           correctly from the gstreamer's context.
719           https://bugzilla.gnome.org/show_bug.cgi?id=773453
720
721 2017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
722
723         * gst/vaapi/gstvaapipluginbase.c:
724           plugins: fix memory leak when GL context is created
725           When the GL display and context are created inside an VAAPI element
726           the created GL context is leaked.
727           https://bugzilla.gnome.org/show_bug.cgi?id=773453
728
729 2017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
730
731         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
732           libs: display: egl: free leaked memory
733           The EGL VAAPI display forgot to release the egl display, context and
734           proxied VAAPI display.
735           https://bugzilla.gnome.org/show_bug.cgi?id=773453
736
737 2017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
738
739         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
740           libs: texture: egl: code style
741           https://bugzilla.gnome.org/show_bug.cgi?id=773453
742
743 2017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
744
745         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
746           libs: surface: egl: error message if no extension
747           Instead of silently fail to export the image if there is not available
748           the EGL_MESA_drm_image, log an error message. Also a code refactoring
749           was done.
750           https://bugzilla.gnome.org/show_bug.cgi?id=773453
751
752 2017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
753
754         * gst/vaapi/gstvaapipluginbase.c:
755           plugins: direct rendering on memory:VASurface
756           As buffers negotiated with memory:VASurface caps feature can also be
757           mapped, they can also be configured to use VA derived images, in other
758           words "direct rendering".
759           Also, because of the changes in dmabuf allocator as default allocator,
760           the code for configuring the direct rendering was not clear.
761           This patch cleans up the code and enables direct rendering when the
762           environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
763           even then the memory:VASurface cap feature is negotiated.
764           https://bugzilla.gnome.org/show_bug.cgi?id=786054
765
766 2017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
767
768         * gst/vaapi/gstvaapipluginbase.c:
769         * gst/vaapi/gstvaapipluginutil.c:
770           plugins: only dmabuf on srcpad if downstream
771           Set if source pad can handle dmabuf only if the GstGL context comes
772           from downstream.
773           It is possible to know that at two moments:
774           1\ In the case of GstGLTextureUpload caps feature is negotiated and
775           downstream pool reports back gst.gl.GstGLContext.
776           2\ When GstGLContext is found as GstContext from dowstream.
777           https://bugzilla.gnome.org/show_bug.cgi?id=788503
778
779 2017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
780
781         * gst/vaapi/gstvaapivideocontext.c:
782           vaapivideocontext: add inline documentation
783           Document function gst_vaapi_find_gl_local_context().
784           https://bugzilla.gnome.org/show_bug.cgi?id=788503
785
786 2017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
787
788         * gst/vaapi/gstvaapipluginutil.c:
789         * gst/vaapi/gstvaapivideocontext.c:
790         * gst/vaapi/gstvaapivideocontext.h:
791           vaapivideocontext: return the direction of gl context
792           In function gst_vaapi_find_gl_context() add a direction parameter to
793           return back the direction where the GstGL context was found.
794           This is going to be useful when checking if downstream can import
795           dmabuf-based buffers.
796           https://bugzilla.gnome.org/show_bug.cgi?id=788503
797
798 2017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
799
800         * gst/vaapi/gstvaapipluginbase.c:
801         * gst/vaapi/gstvaapipluginbase.h:
802           plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
803           This patch refactors the code by adding the function
804           vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
805           GstGLContext can handle dmabuf-based buffers.
806           The function is exposed publicly since it is intended to be used later
807           at GstVaapiDisplay instantiation.
808           https://bugzilla.gnome.org/show_bug.cgi?id=788503
809
810 2017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
811
812         * gst/vaapi/gstvaapiencode.c:
813           vaapiencode: allow to set property on runtime
814           Tis patch, allows some properties that we want to be set on
815           runtime. (eg. bitrate)
816           Note that all properties are under control by num_codedbuf_queued.
817           https://bugzilla.gnome.org/show_bug.cgi?id=786321
818
819 2017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
820
821         * gst-libs/gst/vaapi/gstvaapiencoder.c:
822           libs: encoder: allow to set bitrate on runtime
823           In case of streaming, controlling bitrate dynamically for encoder might be
824           important to manage quality of the streaming.
825           This patch is to support such a scenario.
826           https://bugzilla.gnome.org/show_bug.cgi?id=786321
827
828 2017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
829
830         * gst/vaapi/gstvaapi.c:
831         * gst/vaapi/gstvaapi.h:
832         * gst/vaapi/gstvaapidecodebin.c:
833           vaapidecodebin: Register element if no VPP support is available too
834           VPP support is only needed for advanced deinterlacing, which is not
835           enabled by default either. Error out if it is selected but VPP is not
836           supported, and otherwise just work without VPP support.
837           https://bugzilla.gnome.org/show_bug.cgi?id=788758
838
839 2017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
840
841         * gst/vaapi/gstvaapipluginutil.c:
842           Avoid infinite loop when vaapi_create_display fails
843           Which might be the case when using, for example, xvfb.
844
845 2017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
846
847         * gst-libs/gst/vaapi/gstvaapiutils.c:
848           libs: utils: log warn if display fail
849           gstreamer-vaapi initializes the display by trial-and-error, thus
850           logging an error message if the display initialisation fails the user
851           may be weary of the error message in the screen, if using VA-API 1.0
852           This commit set the VA error log handler to GStreamer warning level
853           while calling vaInitialize() and set it to error after that.
854           https://bugzilla.gnome.org/show_bug.cgi?id=783169
855
856 2017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
857
858         * gst/vaapi/gstvaapipluginutil.c:
859           plugins: try to create test display in order
860           When creating the test display for querying capabilites, it try in
861           certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
862           since they are either composited with X11 or Wayland.
863           The reason for this is to reduce the posibility of failure that could
864           blacklist the plugin.
865           https://bugzilla.gnome.org/show_bug.cgi?id=782212
866
867 2017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
868
869         * gst-libs/gst/vaapi/gstvaapidisplay.c:
870         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
871           libs: display: delay getting screen resolution
872           Instead of extracting the screen resolution at GstVaapiDisplay
873           creation, this patch delay it until the screen size is requested for
874           first time.
875           https://bugzilla.gnome.org/show_bug.cgi?id=782212
876
877 2017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
878
879         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
880           libs: display: egl: avoid two vaDisplay instantiates
881           GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
882           or Wayland. Nonetheless it created another vaDisplay for it, instead
883           of using the wrapped one.
884           This patch enables the reuse of the wrapped vaDisplay avoiding
885           instantiating two.
886           https://bugzilla.gnome.org/show_bug.cgi?id=782212
887
888 2017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
889
890         * gst-libs/gst/vaapi/gstvaapidisplay.c:
891         * gst-libs/gst/vaapi/gstvaapidisplay.h:
892         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
893         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
894         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
895           libs: display: remove display_type from display info
896           Since it's no required to pass the display type in the display info,
897           the structure member is removed.
898           https://bugzilla.gnome.org/show_bug.cgi?id=782212
899
900 2017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
901
902         * gst-libs/gst/vaapi/gstvaapidisplay.c:
903         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
904           libs: display: remove display_type member
905           It is not used any more since GstVaapiDisplay was ported as a
906           GstObject-based. This information is part of the class information.
907           https://bugzilla.gnome.org/show_bug.cgi?id=782212
908
909 2017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
910
911         * gst-libs/gst/vaapi/gstvaapidisplay.c:
912         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
913           libs: display: remove parent member
914           Parent was a crumb left from display cache.
915           https://bugzilla.gnome.org/show_bug.cgi?id=782212
916
917 2017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
918
919         * gst/vaapi/gstvaapi.c:
920           vaapi: Also register vaapipostproc without VPP support
921           It can still do simple deinterlacing then.
922
923 2017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
924
925         * gst/vaapi/gstvaapipostproc.c:
926           vaapipostproc: Allow running without VPP support
927           We returned FALSE from ::start() if VPP support is not available, but it
928           is only really needed for complex filters and during transform we check
929           for that. For simple deinterlacing it is not needed.
930
931 2017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
932
933         * gst/vaapi/gstvaapipostproc.c:
934           vaapipostproc: use scoped variable for return value
935           Instead of reusing a parameter variable for the return value of
936           gst_vaapipostproc_transform_caps(), this patch uses the function
937           scoped pointer. Thus, the code is cleaner.
938           https://bugzilla.gnome.org/show_bug.cgi?id=785706
939
940 2017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
941
942         * gst/vaapi/gstvaapipostproc.c:
943           vaapipostproc: removed unused parameter
944           Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
945           helper function since the it is not used.
946           https://bugzilla.gnome.org/show_bug.cgi?id=785706
947
948 2017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
949
950         * gst/vaapi/gstvaapipostproc.c:
951           vaapipostproc: use scoped variable for return value
952           Instead of reusing a parameter variable for the return value of
953           gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
954           pointer. Thus, the code is cleaner.
955           https://bugzilla.gnome.org/show_bug.cgi?id=785706
956
957 2017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
958
959         * gst/vaapi/gstvaapipluginutil.h:
960           plugins: memory:DMABuf only handles planar formats
961           When glimagesink negotiates the caps feature memory:DMABuf the
962           exported dmabufs buffers with NV12 format are not well rendered, thus
963           setting only planar.
964           https://bugzilla.gnome.org/show_bug.cgi?id=788229
965
966 2017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
967
968         * gst/vaapi/gstvaapiencode.c:
969           vaapiencode: flush pending frames before set format
970           Flush pending frames, if any, in the internal encorder, before setting
971           the new negotiated format.
972           https://bugzilla.gnome.org/show_bug.cgi?id=786173
973
974 2017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
975
976         * gst/vaapi/gstvaapidecode.c:
977           vaapidecode: drain pending frames before set format
978           Drain pending frames, if any, in the internal decoder before setting
979           the new negotiated format.
980           https://bugzilla.gnome.org/show_bug.cgi?id=786173
981
982 2017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
983
984         * tests/test-display.c:
985           tests: display: use GObject getter
986           Instead of using the gst_vaapi_display_get_property(), this patch
987           replaces it with g_object_get_property() to dump the available VA
988           display properties.
989           https://bugzilla.gnome.org/show_bug.cgi?id=788058
990
991 2017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
992
993         * gst/vaapi/gstvaapisink.c:
994           vaapisink: use GObject setter and getter
995           Instead of using gst_vaapi_display_set_property() or
996           gst_vaapi_display_get_property(), this patch set replace it usage
997           with g_object_set() or g_object_get().
998           Also the internal helper cb_set_value() is removed since it is not
999           used anymore.
1000           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1001
1002 2017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1003
1004         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1005           libs: display: initialize value if they are not yet
1006           This is a difference between the GObject API and the GstVaapi one: the
1007           GValue passed to get a property value, in GObject has to be
1008           initialized with g_value_init(), but in GstVaapi is has not.
1009           In order to overcome this mismatch, this patch call g_value_init()
1010           internally only in the passed one is not already initialized.
1011           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1012
1013 2017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1014
1015         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1016           libs: display: optimize properties setters and getters
1017           Shuffled some code to avoid to find the properties descriptor in the
1018           array twice, adding the internal functions _set_property() and
1019           _get_property().
1020           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1021
1022 2017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1023
1024         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1025           libs: display: install properties in class
1026           Install the properties in the class as a normal GObject. Implement
1027           set_property() and get_property() vmethods.
1028           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1029
1030 2017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1031
1032         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1033           libs: display: remove gst_vaapi_display_properties_init()
1034           Remove gst_vaapi_display_properties_init() since it can be unrolled in
1035           gst_vaapi_display_class_init()
1036           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1037
1038 2017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1039
1040         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1041           libs: display: remove libgstvaapi_init_once()
1042           It is not required since it can be unrolled in
1043           gst_vaapi_display_class_init()
1044           https://bugzilla.gnome.org/show_bug.cgi?id=788058
1045
1046 2017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1047
1048         * tests/test-display.c:
1049           tests: test-display: remove display cache tests
1050           Since commit ec3e10f6, display cache was removed. This patch removes
1051           this leftovers in the display test.
1052
1053 2017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
1054
1055         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1056         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1057           libs: decoder: h264/h265: decode codec data only if opened
1058           Fixes regression introduced by commit 2eb2b26a.
1059           There is a use case when the decoder set the src caps and immediatly
1060           tries to process the media codec_data, this happens before decoder is
1061           even opened, thus priv->parser is not instantiated yet.
1062           https://bugzilla.gnome.org/show_bug.cgi?id=787818
1063
1064 2017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1065
1066         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1067         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1068         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1069         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1070         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1071           libs: encoder: change mbbrc from uint to enum
1072           Instead of handling the macroblock bitrate control as a integer, this
1073           patch changes it as a enum, which is more self documented in the
1074           GStreamer elements.
1075           https://bugzilla.gnome.org/show_bug.cgi?id=787855
1076
1077 2017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
1078
1079         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1080           Fix a typo in the prop string for compliance-mode
1081
1082 2017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1083
1084         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1085           libs: encoder: don't unref properties
1086           This patch fixes a regression introduced in commit 148f867c, since the
1087           props variable is set to object's member variable
1088           encoder->properties. And it is set in the instance initialization,
1089           thus it will not be leaked.
1090           https://bugzilla.gnome.org/show_bug.cgi?id=787733
1091
1092 2017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
1093
1094         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1095         * gst/vaapi/gstvaapiencode.c:
1096           vaapiencode/libs: encoder: fix leaks of properties
1097           https://bugzilla.gnome.org/show_bug.cgi?id=786321
1098
1099 2017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1100
1101         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1102           libs: decoder: at update_caps() decode codec_data
1103           When updating the caps in decoder, if the caps has codec_data (avC
1104           format), it has to be parsed to update the state of the decoder.
1105           https://bugzilla.gnome.org/show_bug.cgi?id=786173
1106
1107 2017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
1108
1109         * gst-libs/gst/vaapi/gstvaapicontext.c:
1110           libs: context: fix wrong counter of the array of attributes
1111           The counter value passed to vaCreateConfig is always +1.
1112           This is a regression caused by commit e42ec3ad.
1113           The present patch fixes wrong counting of the array of attributes.
1114           https://bugzilla.gnome.org/show_bug.cgi?id=787613
1115
1116 2017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
1117
1118         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1119         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1120           libs: encoder: h265: support I/P/B QP setting seperatedly
1121           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
1122           frames
1123           and set slice_qp_delta for each frame according to the value provided.
1124           https://bugzilla.gnome.org/show_bug.cgi?id=785923
1125
1126 2017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
1127
1128         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1129         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1130           libs: encoder: h264: support I/P/B QP setting seperatedly
1131           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
1132           frames
1133           and set slice_qp_delta for each frame according to the value provided.
1134           In addition, remove the limitation of (<= 4) when setting
1135           slice_qp_delta.
1136           https://bugzilla.gnome.org/show_bug.cgi?id=785923
1137
1138 2017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
1139
1140         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1141         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1142           libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
1143           Creates new variable for QP for I frame and keep it at configuration and
1144           use this for pic_init_qp and slice_qp_delta setting.
1145           Since changing min qp doesn't make sense, keep min qp as is.
1146           https://bugzilla.gnome.org/show_bug.cgi?id=785923
1147
1148 2017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
1149
1150         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1151         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1152           libs: encoder: h265: Add mbbrc property
1153           This property supports Macroblock level Bitrate Control as the
1154           following (same as h264 encoder):
1155           0: auto
1156           1: on
1157           2: off
1158           https://bugzilla.gnome.org/show_bug.cgi?id=785917
1159
1160 2017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
1161
1162         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1163         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1164           libs: encoder: h264: Add mbbrc property
1165           This property supports Macroblock level Bitrate Control as the
1166           following:
1167           0: auto
1168           1: on
1169           2: off
1170           https://bugzilla.gnome.org/show_bug.cgi?id=785917
1171
1172 2017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
1173
1174         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1175           libs: encoder: h265: add multi reference support
1176           This is doing the same as h264 encoder as the following:
1177           Using num_ref_frames provided and the result of the Query
1178           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
1179           and perform encoding with multi reference frames as the following:
1180           1\ The num_ref_frames is being considered as the number of
1181           reference picture list0
1182           2\ Encoder adds 1 reference frame more to the reference picture list1
1183           internally if b-frame encoding.
1184           3\ If num_ref_frames is bigger than the number of refrence frames
1185           supported in the driver, it will be lowered.
1186           Also this patch includes:
1187           - Set num_negative_pics and num_positive_pics according to the number of
1188           refs.
1189           - Set delta_poc according to the number of refs.
1190           - Increase max_dec_pic_buffering according to the number of refs
1191           - Change max_num_reorder_pics according to num of bframes
1192           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1193
1194 2017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
1195
1196         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1197         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1198           libs: encoder: h265: add refs property
1199           Users can provide the number of reference frame by this property,
1200           which is exaclty same as h264.
1201           The value of the property will be considered as the number of
1202           reference picture list0 and will add 1 reference frame more to the
1203           reference picture list1 internally if b-frame encoding.
1204           If the value provided is bigger than the number of refrence frames
1205           supported in the driver, it will be lowered.
1206           The maximum value is aligned to the value of the driver supported now.
1207           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1208
1209 2017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
1210
1211         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1212         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1213           libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
1214           Follows the specification as below:
1215           7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
1216           num_ref_idx_active_override_flag equal to 1 specifies that the syntax
1217           element num_ref_idx_l0_active_minus1 is present for P and B slices and
1218           that the syntax element num_ref_idx_l1_active_minus1 is present for B
1219           slices.
1220           num_ref_idx_active_override_flag equal to 0 specifies that the syntax
1221           elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
1222           are not present.
1223           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1224
1225 2017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
1226
1227         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1228           libs: encoder: h265: keep idr_period equal to keyframe period
1229           Remove FIXME code, which makes previous assignation spurious.
1230           This also means to make idr_period equal to keyframe period,
1231           which is same as h264 encoder.
1232           https://bugzilla.gnome.org/show_bug.cgi?id=783804
1233
1234 2017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1235
1236         * gst/vaapi/gstvaapipluginbase.c:
1237           Request minimum buffer even if need_pool is FALSE
1238           When tee is used, it will not request a pool, but still it wants to
1239           know how many buffers are required.
1240           https://bugzilla.gnome.org/show_bug.cgi?id=730758
1241
1242 2017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
1243
1244         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1245           libs: encoder: h264_fei: VA-API 1.0 compat
1246           Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
1247           compatibility.
1248           https://bugzilla.gnome.org/show_bug.cgi?id=787322
1249           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
1250
1251 2017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1252
1253         * gst/vaapi/gstvaapisink.c:
1254           vaapisink: Fix rendering in drm display
1255           Make sure vaapisink create a va surface backed buffer pool and all
1256           required attributes get assigned correctly for drm display type.
1257           This is needed to make the below pipeline working:
1258           gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
1259           width=320 height=240 framerate=30/1 ! vaapisink display=drm
1260           https://bugzilla.gnome.org/show_bug.cgi?id=786954
1261
1262 2017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1263
1264         * tests/Makefile.am:
1265         * tests/test-fei-enc-in.c:
1266         * tests/test-fei-enc-out.c:
1267           FEI: Add test applications to showcase fei use case
1268           test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
1269           eg:
1270           ./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
1271           test-fei-enc-in: A simple fei encoding application for testing input fei buffers
1272           eg:
1273           ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
1274           Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
1275           from saved files is still not working
1276           People contributed:
1277           Wang, Yi <yi.a.wang@intel.com>
1278           Leilei <leilei.shang@intel.com>
1279           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1280           xiaominc <xiaomin.chen@intel.com>
1281           Li, Jing B <jing.b.li@intel.com>
1282           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1283           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1284
1285 2017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1286
1287         * gst/vaapi/Makefile.am:
1288         * gst/vaapi/gstvaapi.c:
1289         * gst/vaapi/gstvaapiencode_h264_fei.c:
1290         * gst/vaapi/gstvaapiencode_h264_fei.h:
1291           FEI: plugin: Add vaapih264feienc element
1292           A new FEI based encoder element for h264 is added: vaapih264feienc
1293           FEI is a an extension to VA-API which is providing low level
1294           advanced control over different stages of encoding.
1295           Extending vaapih264enc with fei support is possible, but it will
1296           make the code too much complicated and will be difficult
1297           to debug. So adding the new encoder element, but keeping
1298           the rank as 0 , vaapih264enc will stay as the primary
1299           encoder for normal use cases.
1300           The vaaih264feienc is mainly useful for customers who want to play
1301           with MotionVectors and Macroblock Predictions. Also user can
1302           do one stage of encoding(eg: only the Motion Vector Calculation)
1303           in software and offload trasformation/entroy-coding etc to
1304           Hardware (which is what PAK module is doing) using FEI element.
1305           vaapih264feienc can work in  different modes using fei-mode properoty
1306           eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
1307           Important Note: ENC only mode won't produce any encoded data which is expected.
1308           But ENC alwys requires the output of PAK in order to do the inter-prediction
1309           over reconstructed frames.
1310           Similary PAK mode alway requires MV and MBCode as input, so unless there is an
1311           upstream element providing those buffers, PAK only won't work as expected.
1312           In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
1313           with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
1314           that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
1315           separately in vaapih264feienc.
1316           People contributed:
1317           Wang, Yi <yi.a.wang@intel.com>
1318           Leilei <leilei.shang@intel.com>
1319           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1320           xiaominc <xiaomin.chen@intel.com>
1321           Li, Jing B <jing.b.li@intel.com>
1322           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1323           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1324           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1325
1326 2017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
1327
1328         * gst/vaapi/gstvaapiencode.c:
1329         * gst/vaapi/gstvaapiencode.h:
1330           FEI: plugin: Add virtual methods to base encode
1331           Two new virtual methods are added to gstvaapiencode.
1332           load_control_data():  load the FEI input buffers set by the upstream elements
1333           save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
1334           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1335           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1336           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1337
1338 2017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
1339
1340         * gst/vaapi/Makefile.am:
1341         * gst/vaapi/gstvaapifeivideometa.c:
1342         * gst/vaapi/gstvaapifeivideometa.h:
1343           FEI: plugin: Add fei specific video meta
1344           GstVaapiFeiVideoMeta holds the below fei codec objects:
1345           GstVaapiEncFeiMbCode
1346           GstVaapiEncFeiMv
1347           GstVaapiEncFeiMvPredictor
1348           GstVaapiEncFeiMbControl
1349           GstVaapiEncFeiQp
1350           GstVaapiEncFeiDistortion
1351           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1352           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1353           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1354
1355 2017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1356
1357         * gst-libs/gst/vaapi/Makefile.am:
1358         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1359         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
1360         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
1361         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
1362         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
1363         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
1364           FEI: libs: Add FEI encoder
1365           Adding FEI encoder to core lib.
1366           The code is splitted into three session:
1367           1: gstvaapiencoder_h264_fei.{h,c}
1368           This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
1369           All the modes ENC, PAK and ENC_PAK are running based
1370           the code in these files.
1371           2: gstvaapifeienc_h264.{h,c}
1372           Abstract implementation intended for ENC (only VME) operation.
1373           3: gstvaapifeipak_h264.{h,c}
1374           Abstrct implementation intended for PAK (only the PAK module)
1375           Right now ENC_PAK, ENC and PAK are running based on code
1376           in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
1377           in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
1378           needed if user request for ENC+PAK mode operation.
1379           ENC+PAK: Here we need to invoke two sequence of
1380           vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
1381           first for the ENC only and the second for PAK only.
1382           Each mode associated with separate context ,but same pool of surfaces are
1383           shared between the modes.
1384           This is more useful once we have custom BRC algorithms.
1385           Other Contributors:
1386           Wang, Yi <yi.a.wang@intel.com>
1387           Leilei <leilei.shang@intel.com>
1388           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1389           xiaominc <xiaomin.chen@intel.com>
1390           Li, Jing B <jing.b.li@intel.com>
1391           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1392           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1393
1394 2017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1395
1396         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
1397         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
1398           FEI: libs: Add fei codec objects to GstVaapiEncPicture
1399           All the codec objects(vaapi buffers) supposed to be
1400           submited in vaRenderPicutre are associated with a GstVaapiEncPicture
1401           for each frame, follow the same design for FEI too.
1402           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1403           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1404
1405 2017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1406
1407         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
1408         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
1409         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
1410           FEI: libs: Add fei codec objects in codedbufferproxy
1411           MbCode, MV and Distortion buffers (fei codec objects)
1412           can be treated as output of different fei modes based user request.
1413           For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
1414           can be dumped as output in ENC_PAK mode for analysis purpose.
1415           So treating them as a part of CodedBufferProxy too.
1416           Here we avoided Qp, MbControl and MvPredictor codec objects since
1417           there is no practical use case of treating them as "output buffers".
1418           Other contributors:
1419           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1420           xiaominc <xiaomin.chen@intel.com>
1421           Leilei <leilei.shang@intel.com>
1422           Li, Jing B <jing.b.li@intel.com>
1423           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1424           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1425
1426 2017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1427
1428         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
1429         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
1430         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
1431           FEI: libs: Add fei codec objects to surface proxy
1432           Add fei codec objects to surface proxy since handling the
1433           fei buffers(codec objects here) external to gstvaapisurfaceproxy
1434           will make the code complicated. Especially considering the behavior
1435           of encoder where the input frame order from upstream and output
1436           frame order to the downstream are not sequential.
1437           Other contributors:
1438           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
1439           xiaominc <xiaomin.chen@intel.com>
1440           Leilei <leilei.shang@intel.com>
1441           Li, Jing B <jing.b.li@intel.com>
1442           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1443           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1444
1445 2017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1446
1447         * gst-libs/gst/vaapi/Makefile.am:
1448         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
1449         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
1450         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
1451           FEI: Add codec objects for fei usecase
1452           There are 6 new va buffer types, each defined as a specific codec object.
1453           Borrowed the code from gstvaapicodecobject , but made a clear separation
1454           to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
1455           feicodecobjects can be shared between elements and also can be accessed
1456           from different thread.
1457           Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
1458           object is not shared between elements.So we utilize the already
1459           existing gst_vaapi_enc_misc_param_new(), but still keeping the code
1460           in gstvaapfei_objects_priv.h in order to have a better
1461           code readability.
1462           Fixme:
1463           -- Probably we need _locked_map() and _unlocked_map()
1464           -- Context can be associated with PreEnc(not just Enoder)
1465           once we have the proper support inplace, but for now we don't have
1466           PreEnc support, so should be safe enough to use GstVaapiEncoder.
1467           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1468           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1469
1470 2017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1471
1472         * gst-libs/gst/vaapi/Makefile.am:
1473         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
1474         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
1475           FEI: libs: add H264 fei specific utility functions
1476           Added enum/flag type definitions for a number of FEI
1477           input and output parameters.
1478           Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
1479           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1480           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1481           Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
1482           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1483
1484 2017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1485
1486         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1487         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1488           FEI: libs: Add virtual method for secondary context creation.
1489           Add a new vitrual method ensure_secondary_context to the
1490           base encoder which is only required for the FEI entrypoint, that too
1491           only when user configures the ENC+PAK mode. ENC+PAK mode is not something
1492           supported directly by libva or driver, but this can be enabled
1493           from the middleware.
1494           Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
1495           Signed-off-by: Leilei Shang <leilei.shang@intel.com>
1496           Signed-off-by: xiaominc <xiaomin.chen@intel.com>
1497           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
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 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1502
1503         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1504           FEI: libs: make sure the default context creation works as expected.
1505           Current code always guess the entrypoint during init phase in case
1506           if there is no entrypoint already configured in GstVaapiContextInfo.
1507           Make sure FEI Entrypoint is not messing up with this logic.
1508           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1509           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1510
1511 2017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1512
1513         * gst-libs/gst/vaapi/gstvaapicontext.c:
1514         * gst-libs/gst/vaapi/gstvaapicontext.h:
1515         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1516           FEI: libs: Add FEI functional mode configuration
1517           FEI Entrypoint can work in either one of the 3 different modes:
1518           VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
1519           Add infrastructure in gstvaapicontext and gstvaapiencoder for this
1520           functioal mode configuration.
1521           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1522           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1523
1524 2017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1525
1526         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1527         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1528         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1529           FEI: libs: Add FEI Entrypoint mapping
1530           Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
1531           for VAEntrypointFEI.
1532           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1533           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1534
1535 2017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1536
1537         * configure.ac:
1538           FEI: Add support for FEI conditional build
1539           FEI(Flexible Encoding Infrastructure) is an extension
1540           to VA API. Define USE_H264_FEI_ENCODER based on
1541           fei header file and required structures availability.
1542           https://bugzilla.gnome.org/show_bug.cgi?id=785712
1543           https://bugzilla.gnome.org/show_bug.cgi?id=784667
1544
1545 2017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
1546
1547         * gst/vaapi/gstvaapidecode.c:
1548           vaapidecode: force add h264 SVC profiles in caps
1549           When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
1550           support in caps.
1551           https://bugzilla.gnome.org/show_bug.cgi?id=732266
1552           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1553
1554 2017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
1555
1556         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1557           libs: decoder: h264: decode SVC base layer only
1558           Drops non-base NALs when the base-only property is set to TRUE.
1559           This modifies the behavior for MVC streams with base-only too: All the
1560           non-base units are dropped before they are decoded instead of dropping
1561           the non-base frames.
1562           The relevant part from the H264 spec is:
1563           > Decoders that conform to one or more of the profiles specified in
1564           Annex A rather than the profiles specified in Annexes G or H shall
1565           ignore (remove from the bitstream and discard) the contents of all NAL
1566           units with nal_unit_type equal to 14, 15, or 20.
1567           To eliminate side effects from the offending units:
1568           - PPS's with a broken seq_parameter_set_id (referring to dropped subset
1569           SPS's) are ignored.
1570           - The NAL parsing is skipped and their flags are set to
1571           GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
1572           - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
1573           use them even if they are flagged to be skipped. Subset SPS's and slice
1574           extension units are not stored there either.
1575           https://bugzilla.gnome.org/show_bug.cgi?id=732266
1576           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1577
1578 2017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
1579
1580         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1581           libs: decoder: h264: check nalu validity in parser info finalize
1582           https://bugzilla.gnome.org/show_bug.cgi?id=732266
1583           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
1584
1585 2017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1586
1587         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1588         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1589         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1590         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1591         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1592           libs: encoder: remove unused cast macro
1593           Remove internal macro to cast structure that are already declared
1594           in the header.
1595
1596 2017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1597
1598         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1599         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1600         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
1601         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
1602         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
1603         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
1604           Revert "libs: encoders: remove unused cast macros"
1605           This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
1606
1607 2017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1608
1609         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1610         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
1611         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
1612         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
1613         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
1614         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
1615           libs: encoders: remove unused cast macros
1616           They are only used inside the code, where another macro is defined.
1617           Thus these exported macros have no use.
1618
1619 2017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1620
1621         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1622           libs: decoder: h264: improve code-style
1623           https://bugzilla.gnome.org/show_bug.cgi?id=786173
1624
1625 2017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1626
1627         * gst-libs/gst/vaapi/gstvaapicompat.h:
1628         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1629           libs: encoder: h264: handle deprecated enum
1630           In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
1631           instead VAEncPackedHeaderRawData should be used.
1632           This patch creates a compatibility symbol,
1633           VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
1634           VA-API version.
1635           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1636
1637 2017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1638
1639         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1640         * gst-libs/gst/vaapi/gstvaapiutils.c:
1641           libs: guard deprecated symbols
1642           In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
1643           guards the H.264 baseline usage. Consider this commit as a
1644           continuation of commit e0e0a474
1645           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1646
1647 2017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1648
1649         * configure.ac:
1650         * meson.build:
1651         * meson_options.txt:
1652           Revert "build: check for libva-2.0"
1653           This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
1654           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1655
1656 2017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1657
1658         * gst-libs/gst/vaapi/gstvaapicompat.h:
1659         * gst-libs/gst/vaapi/gstvaapicontext.c:
1660         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1661           libs: macro to get a renamed value in VA-API 1.0
1662           In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
1663           renamed one member from roi_value_is_qp_delat to
1664           roi_value_is_qp_delta, which is the correct name.
1665           In order to keep back compatibility a macro has added to access this
1666           union member.
1667           https://bugzilla.gnome.org/show_bug.cgi?id=784398
1668
1669 2017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1670
1671         * gst/vaapi/gstvaapipluginbase.h:
1672         * gst/vaapi/gstvaapipluginutil.c:
1673           plugins: include main gstgl header
1674           Instead including particular gstgl header files in a header file
1675           that doesn't export a gstgl symbol, the main gstgl header file is
1676           included in gstvaapipluginutil.c where the symbols are used.
1677           https://bugzilla.gnome.org/show_bug.cgi?id=786597
1678
1679 2017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1680
1681         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1682           libs: encoder: h264: fix enum namespace
1683
1684 2017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
1685
1686         * common:
1687           Automatic update of common submodule
1688           From 48a5d85 to 3f4aa96
1689
1690 2017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1691
1692         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1693           libs: encoder: h264: remove spurious assignation
1694           Coverity scan bug:
1695           An assigned value that is never used may represent unnecessary
1696           computation, an incorrect algorithm, or possibly the need for cleanup
1697           or refactoring.
1698           ip_period is assigned first to be rewritter inmediatly after. The
1699           first assignation is spurious.
1700
1701 2017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
1702
1703         * gst/vaapi/gstvaapidecode.c:
1704           vaapidecode: fix mismatch of the return type
1705           https://bugzilla.gnome.org/show_bug.cgi?id=786307
1706
1707 2017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1708
1709         * gst-libs/gst/vaapi/Makefile.am:
1710         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
1711         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
1712         * gst-libs/gst/vaapi/gstvaapiutils.h:
1713         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
1714         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
1715         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
1716         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
1717         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
1718         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
1719         * gst-libs/gst/vaapi/meson.build:
1720           libs: remove unused header
1721           Since libgstvaapi is not distributed, there is no need to check for
1722           private header inclusion. Thus removing it.
1723           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1724
1725 2017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1726
1727         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
1728         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
1729         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
1730         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
1731         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
1732         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
1733           libs: utils: move gstvaapisurface.h to private headers
1734           Since the utils don't expose API defined in gstvaapisource.h, it is
1735           moved to their private headers where they are used.
1736           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1737
1738 2017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1739
1740         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
1741         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
1742         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1743         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
1744         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
1745         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
1746           libs: utils: remove va.h include in header
1747           And include gstvaapicompat.h in the C files, since the VA-API is not
1748           exposed in the headers.
1749           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1750
1751 2017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1752
1753         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1754         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1755         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1756         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1757         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1758         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1759           libs: encoder: remove va.h include
1760           Since it is already managed by gstvaapicompat.h
1761           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1762
1763 2017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1764
1765         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
1766         * gst-libs/gst/vaapi/gstvaapicompat.h:
1767         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
1768         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
1769         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
1770         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1771         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1772         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1773         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1774         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1775         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1776         * gst-libs/gst/vaapi/gstvaapifilter.c:
1777         * gst-libs/gst/vaapi/gstvaapiutils.c:
1778         * meson.build:
1779           build: consolidate the VA sub API includes
1780           Include all VA sub APIs headers in a single point (gstvaapicompat.h),
1781           since they are all already included in va.h after VA-API 0.38.
1782           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1783
1784 2017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1785
1786         * configure.ac:
1787         * meson.build:
1788           build: check for va_vpp.h
1789           Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
1790           allow us to handle the inclusion of the header better.
1791           https://bugzilla.gnome.org/show_bug.cgi?id=786119
1792
1793 2017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
1794
1795         * meson.build:
1796           meson: don't export symbols by default
1797           Only plugin entry points should be exported.
1798
1799 2017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1800
1801         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1802           libs: decoder: h265: remove spurious code
1803           Coverity scan:
1804           Logically dead code: The indicated dead code may have performed some
1805           action; that action will never occur.
1806           By using pointer arithmetic is impossible to get NULL.
1807
1808 2017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1809
1810         * gst-libs/gst/vaapi/gstvaapicontext.c:
1811           libs: context: use attribs index instead pointers
1812           Coverity scan bug:
1813           Out-of-bounds write. This could cause an immediate crash or incorrect
1814           computations.
1815           Coverity basically found that it is possible to assign more than 4
1816           attribs in the array.
1817           In my opinion this was produced because code pattern used pointer
1818           arithmetic, which is not readable nor maintainable.
1819           This patch refactors config_create() to use an array index rather than
1820           pointer arithmetic. Also a run-time check for index size was added.
1821
1822 2017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1823
1824         * gst/vaapi/gstvaapiencode_h264.c:
1825           vaapiencode: h264: remove spurious code
1826           Coverity scan bug:
1827           An unsigned value can never be negative, so this test will always
1828           evaluate the same way.
1829           As len is guint32, there is no need to check it if it is equal or
1830           bigger than zero.
1831
1832 2017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1833
1834         * gst/vaapi/gstvaapidecode.c:
1835           vaapidecode: initialize variable
1836           Coverity scan bug:
1837           The variable will contain an arbitrary value left from earlier
1838           computations.
1839           Variable base_only is fetched from base-only property, and it may be
1840           not assigned. It needs to be initialized.
1841
1842 2017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1843
1844         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1845           libs: windows: wayland: fail if cannot remove last frame
1846           Converity scan bug:
1847           If the function returns an error value, the error value may be
1848           mistaken for a normal value.
1849           If g_atomic_pointer_compare_and_exchange() fails because the frame is
1850           not the last one, the function fails. Thus, logging an info message.
1851
1852 2017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1853
1854         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
1855           libs: utils: glx: check return value
1856           Coverity scan bug:
1857           If the function returns an error value, the error value may be
1858           mistaken for a normal value.
1859           Function sscanf returns the number of assignations done. Validate this
1860           return value with the number of expected variables to match.
1861
1862 2017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1863
1864         * gst-libs/gst/vaapi/gstvaapiobject.c:
1865           libs: vaapi: object: remove unrequired NULL check
1866           Coverity scan bug:
1867           Dereference after null check: Either the check against null is
1868           unnecessary, or there may be a null pointer dereference.
1869           Variable klass has been validated as non-NULL several time before in
1870           gst_vaapi_object_new() function, so there is no need to check it
1871           again.
1872
1873 2017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1874
1875         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1876           libs: encoder: h265: remove spurious assignation
1877           Coverity scan bug:
1878           An assigned value that is never used may represent unnecessary
1879           computation, an incorrect algorithm, or possibly the need for cleanup
1880           or refactoring.
1881           ip_period is assigned first to be rewritter inmediatly after. The
1882           first assignation is spurious.
1883
1884 2017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1885
1886         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1887           libs: encoder: h264: fix copy & paste error
1888           Coverity scan bug:
1889           The copied code will not have its intended effect.
1890           This is a bug from commit cdaf15b2, where the intention is to
1891           initialize RefPicList1 while setting RefPicList0.
1892
1893 2017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1894
1895         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1896         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1897           libs: encoder: h265: fix possible integer overflow
1898           Coverity scan bug:
1899           Unintentional integer overflow. The expression's value may not be what
1900           the programmer intended, because the expression is evaluated using a
1901           narrow (i.e. few bits) integer type.
1902           Cast operator to guint64 before computation to avoid narrowing.
1903           merge with 3c5a6add
1904
1905 2017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1906
1907         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
1908           libs: decoder: mpeg4: fail if return value is not OK
1909           Coverity scan bug:
1910           An assigned value that is never used may represent unnecessary
1911           computation, an incorrect algorithm, or possibly the need for cleanup
1912           or refactoring.
1913           In the return value of decode_slice() or
1914           gst_mpeg4_parse_video_packet_header() are not success, thus fail
1915           decode_packet() function.
1916
1917 2017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1918
1919         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1920           libs: decoder: h265: check for null
1921           Coverity scan bug:
1922           Dereference after null check: Either the check against null is
1923           unnecessary, or there may be a null pointer dereference.
1924           While looking for hte lowest poc, according to rest of the code, the
1925           picture in the dbp (decoded picture buffer) might be NULL, thus we
1926           could check for a NULL picture before assigned as found.
1927           Also, split a comma operator because it is considered as a bad
1928           practice because it possible side effects.
1929
1930 2017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1931
1932         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1933           libs: decoder: h265: untaint loop control variable
1934           Coverity scan bug:
1935           Scalars (for example, integers) are not properly
1936           bounds-checked (sanitized) before being used as array or pointer
1937           indexes, loop boundaries, or function arguments are considered as
1938           tainted.
1939           In this case, num_nals were not checked before used as loop control.
1940
1941 2017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1942
1943         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1944           libs: decoder: h264: remove unrequired NULL check
1945           Coverity scan bug:
1946           Dereference after null check: Either the check against null is
1947           unnecessary, or there may be a null pointer dereference.
1948           In the original commit for fill_picture_gaps() (commit 5abd2b90) the
1949           prev_picture could be NULL, that's why the code did a null check. But,
1950           since commit 52adebe7, the previous reference frames are tracked, thus
1951           there is no need to check null anymore.
1952
1953 2017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
1954
1955         * gst/vaapi/gstvaapidecode.c:
1956           vaapidecode: fix gst_caps_new_simple call
1957           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1958
1959 2017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
1960
1961         * gst/vaapi/gstvaapidecode.c:
1962           vaapidecode: force add h264 MVC profiles in caps
1963           When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
1964           support in caps.
1965           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1966
1967 2017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
1968
1969         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1970           libs: decoder: h264: decode MVC base view only
1971           If processed SPS has mvc profile and the configuration is set to
1972           base-only, the frame is drop.
1973           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1974
1975 2017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
1976
1977         * gst/vaapi/gstvaapidecode.c:
1978         * gst/vaapi/gstvaapidecode_props.c:
1979           vaapidecode: set h264 base-only to decoder
1980           Set the base-only value when property is set and the internal
1981           decoder is already instantiated or when the internal decoder
1982           is created.
1983           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1984
1985 2017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
1986
1987         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1988         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
1989           libs: decoder: h264: add setter for base-only mode
1990           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1991
1992 2017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
1993
1994         * gst/vaapi/gstvaapidecode_props.c:
1995         * gst/vaapi/gstvaapidecode_props.h:
1996           vaapidecode_props: h264: add base-only property
1997           https://bugzilla.gnome.org/show_bug.cgi?id=732265
1998
1999 2017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2000
2001         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2002           libs: encoder: h264: missing property enum documentation
2003
2004 2017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
2005
2006         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2007           libs: encoder: h264: add multi reference support
2008           Using num_ref_frames provided and the result of the Query
2009           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
2010           and perform encoding with multi reference frames as the following:
2011           1\ The num_ref_frames is being considered as the number of
2012           reference picture list0
2013           2\ Encoder adds 1 reference frame more to the reference picture list1
2014           internally if b-frame encoding.
2015           3\ If num_ref_frames is bigger than the number of refrence frames
2016           supported in the driver, it will be lowered.
2017           https://bugzilla.gnome.org/show_bug.cgi?id=783803
2018
2019 2017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
2020
2021         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2022         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2023           libs: encoder: h264: add refs property
2024           Users can provide the number of reference frame by this property.
2025           The value of the property will be considered as the number of
2026           reference picture list0 and will add 1 reference frame more to the
2027           reference picture list1 internally if b-frame encoding.
2028           If the value provided is bigger than the number of refrence frames
2029           supported in the driver, it will be lowered.
2030           https://bugzilla.gnome.org/show_bug.cgi?id=783803
2031
2032 2017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
2033
2034         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2035         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2036           libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
2037           This function will query VAConfigAttribEncMaxRefFrames to get the
2038           maximum number of reference frames supported in the driver.
2039           This will be used for h264/h265 encoding.
2040           https://bugzilla.gnome.org/show_bug.cgi?id=783803
2041
2042 2017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2043
2044         * gst/vaapi/gstvaapiencode_h265.c:
2045           vaapiencode: h265: compare an unsigned int if not zero
2046           An unsigned value can never be negative, so this test (greater than
2047           zero) will always evaluate the same way. Thus change it to just if
2048           it's not zero.
2049
2050 2017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2051
2052         * gst/vaapi/gstvaapipluginbase.c:
2053           plugins: check gst_gl_ensure_element_data() return value
2054           Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
2055           the return value of gst_gl_ensure_element_data(). The result is a code
2056           bit cleaner.
2057
2058 2017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2059
2060         * gst/vaapi/gstvaapipluginutil.c:
2061           plugins: avoid dead code detection
2062           By using #elif macro, the static code analysis would stop to detect
2063           these lines as dead code. Also it is inforced the mutually exclusive
2064           environments.
2065
2066 2017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2067
2068         * gst/vaapi/gstvaapivideobufferpool.c:
2069           vaapivideobufferpool: don't shift by negative since it's undefined
2070           The function g_bit_nth_lsf() may return -1 if the request bit position
2071           is not avaible. Thus, this patch check if the return value is not -1
2072           in order to continue.
2073
2074 2017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2075
2076         * gst/vaapi/gstvaapisink.c:
2077           vaapisink: fix memory leak
2078
2079 2017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2080
2081         * gst/vaapi/gstvaapipostprocutil.c:
2082           vaapipostproc: fix memory leaks
2083
2084 2017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
2085
2086         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2087           libs: display: when appending formats change pointers to indexes
2088           Thus, it fixes an invalid read when YV12 or I420 are not supported by
2089           the driver.
2090           https://bugzilla.gnome.org/show_bug.cgi?id=785085
2091
2092 2017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2093
2094         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2095         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2096           libs: encoder: h264: Add uncompliant mode reducing coded buffer size
2097           Added a new property "compliance-mode", which default is the normal
2098           strict compliant mode.
2099           The second mode, "restrict-buf-alloc", is to limit the coded buffer
2100           allocation size to improve performance in some specific Intel
2101           platforms (there is asignificant performance improvement in parallel
2102           encodings). Under this new mode, we use the MinCR field in A.3.1 for
2103           pre-calculating the coded-buffer size.
2104           https://bugzilla.gnome.org/show_bug.cgi?id=784590
2105
2106 2017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2107
2108         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
2109         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
2110           libs: utils_h264: Extend LevelLimit table with MinCR field
2111           Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
2112           based on Annex A.3
2113           https://bugzilla.gnome.org/show_bug.cgi?id=784590
2114
2115 2017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2116
2117         * gst-libs/gst/vaapi/gstvaapiutils.c:
2118           libs: utils: libva 1.0 changed the logging
2119           The logging mechanism in libva has changed it's functions
2120           signatures. This patch updates that for libva versions >= 1.0
2121           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2122
2123 2017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2124
2125         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2126           libs: decoder: h264: libva 1.0 deprecated baseline
2127           libva 1.0 deprecated H.264 baseline profile and FMO support
2128           (commit b4f332b3).
2129           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2130
2131 2017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2132
2133         * configure.ac:
2134         * meson.build:
2135         * meson_options.txt:
2136           build: check for libva-2.0
2137           Check for libva-2.0 since libva's developers decided to increase the
2138           library's version number.
2139           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2140
2141 2017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2142
2143         * configure.ac:
2144         * meson.build:
2145           build: blacklist only libva 0.99.0
2146           Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
2147           its API version to 1.0.0. Thus we have to blacklist only the MSDK's
2148           libva (0.99.0)
2149           https://bugzilla.gnome.org/show_bug.cgi?id=784398
2150
2151 2017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2152
2153         * gst-libs/gst/vaapi/meson.build:
2154           build: meson: remove gstvaapidisplaycache.c
2155           This is a missing bit of commit ec3e10f6
2156
2157 2017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2158
2159         * configure.ac:
2160           configure: do not break configure if gtk+-3.0 devel missing
2161           Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
2162           set USE_GTK=0 if gtk+-3.0 is not available.
2163           Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
2164           Author: Hyunjun Ko <zzoon@igalia.com>
2165           Date:   Wed Jul 5 15:59:43 2017 +0900
2166           tests: elements: add testsuite of vaapi context
2167           ...configure fails if gtk+-3.0 development files are missing.
2168           The "with_gtk" option defaults to "check" in configure.ac
2169           which implies that if it is not explicitly requested then
2170           configure will only enable it if it's available on the system.
2171           However, the PKG_CHECK_MODULES rule that get's activated on
2172           "check" condition did not provide default when gtk+-3.0 devel
2173           packages are not found on the system.  Thus, it resulted in
2174           configure failure.
2175           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2176           https://bugzilla.gnome.org/show_bug.cgi?id=785452
2177
2178 2017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
2179
2180         * configure.ac:
2181         * tests/elements/Makefile.am:
2182         * tests/elements/test-vaapicontext.c:
2183           tests: elements: add testsuite of vaapi context
2184           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2185           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2186
2187 2017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
2188
2189         * gst/vaapi/gstvaapisink.c:
2190           vaapisink: fail if surface display is different
2191           Replacing GstVaapiDisplay during rendering might be hiding problems
2192           at some cases, even though it's safe currently since we use cache
2193           of GstVaapidisplay.
2194           Play safe by failing if this happens.
2195           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2196
2197 2017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
2198
2199         * gst/vaapi/gstvaapivideocontext.c:
2200         * gst/vaapi/gstvaapivideocontext.h:
2201           videocontext: support "gst.vaapi.app.Display" context
2202           Through "gst.vaapi.app.Display" context, users can set their own VADisplay
2203           and native display of their backend.
2204           Attributes:
2205           - display : pointer of VADisplay
2206           - x11-display : pointer of X11 display (Display *), if they're using.
2207           This patch creates GstVaapidisplayX11 if information provided through
2208           "gst.vaapi.app.Display"
2209           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2210
2211 2017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
2212
2213         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2214         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
2215           libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
2216           Implements new API function so that users could create GstVaapiDisplay
2217           with their own VADisplay within a native display as backend.
2218           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2219
2220 2017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
2221
2222         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2223           libs: display: pass display info when foreign display
2224           When creating a GstVaapiDisplay using a foreign VADisplay, and render
2225           with that display, it also requires native display of the backend.
2226           https://bugzilla.gnome.org/show_bug.cgi?id=766704
2227
2228 2017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2229
2230         * gst-libs/gst/vaapi/Makefile.am:
2231         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2232         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
2233         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
2234         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
2235         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
2236         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
2237         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
2238           libs: display: remove cache
2239           Remove a bunch of code that handles the VADisplay cache, since the
2240           context sharing should be doing this correctly.
2241           https://bugzilla.gnome.org/show_bug.cgi?id=747946
2242
2243 2017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
2244
2245         * tests/elements/Makefile.am:
2246         * tests/elements/test-vaapipostproc.c:
2247           tests: elements: add test for vaapipostproc
2248           https://bugzilla.gnome.org/show_bug.cgi?id=754885
2249
2250 2017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
2251
2252         * gst/vaapi/gstvaapipostproc.c:
2253           postproc: reconfigure when width or height changes
2254           https://bugzilla.gnome.org/show_bug.cgi?id=754885
2255
2256 2017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2257
2258         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2259           libs: encoder: vp9: array terminated in zeros
2260           There is a crash when setting ref-pic-mode since the #GEnumValue
2261           array is not terminated with a structured with all memvers being
2262           zero.
2263           https://bugzilla.gnome.org/show_bug.cgi?id=785032
2264
2265 2017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2266
2267         * gst/vaapi/gstvaapiencode_h264.c:
2268           vaapiencode: h264: add plugin documentation
2269           Comment how the profile is set and other parameters.
2270
2271 2017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
2272
2273         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2274           libs: decoder: h264: push frames as soon as possible
2275           Push frames downstream as soon as possible instead of waiting until
2276           they are ejected from the DPB.
2277           This patch makes the decoder not comply with the H.264 specification,
2278           but it is required for some video cameras.
2279           https://bugzilla.gnome.org/show_bug.cgi?id=762509
2280           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2281
2282 2017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2283
2284         * gst/vaapi/gstvaapidecode_props.c:
2285           vaapidecode_props: h264: set low-latency in decoder
2286           Set the low-latency property if the H264 decoder is already
2287           instantiated, thus you could change the behavior in run-time.
2288           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2289
2290 2017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2291
2292         * gst/vaapi/gstvaapidecode.c:
2293           vaapidecode: set h264 low latency to decoder
2294           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2295
2296 2017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2297
2298         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2299         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
2300           libs: decoder: h264: add getter/setter for low latency mode
2301           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2302
2303 2017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2304
2305         * gst/vaapi/gstvaapidecode_props.c:
2306         * gst/vaapi/gstvaapidecode_props.h:
2307           vaapidecode_props: h264: add low latency property
2308           Adding support for private data.
2309           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2310
2311 2017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2312
2313         * gst/vaapi/Makefile.am:
2314         * gst/vaapi/gstvaapidecode.c:
2315         * gst/vaapi/gstvaapidecode_props.c:
2316         * gst/vaapi/gstvaapidecode_props.h:
2317         * gst/vaapi/meson.build:
2318           vaapidecode_props: add skeleton for h264 decoder properties
2319           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2320
2321 2017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2322
2323         * gst/vaapi/gstvaapidecode.c:
2324           vaapidecode: properties callback in decoders map
2325           https://bugzilla.gnome.org/show_bug.cgi?id=783588
2326
2327 2017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
2328
2329         * meson.build:
2330           meson: find python3 via python3 module
2331           https://bugzilla.gnome.org/show_bug.cgi?id=783198
2332
2333 2017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
2334
2335         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2336           libs: encoder: h264: submit sps in case of IDR picture
2337           If the picture is IDR, also submit a SPS header.
2338           This means when frame number reaches to keyframe-period or an force
2339           key unit event arrives, we insert SPS/PPS again.
2340           https://bugzilla.gnome.org/show_bug.cgi?id=776712
2341
2342 2017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
2343
2344         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2345           libs: encoder: h264: set the frame as IDR if forced key unit
2346           GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
2347           the `frame-lost` event in the case of streaming, such as RTP.
2348           In case of this event, it is needed to start new GOP rather than just
2349           produce an I-frame.
2350           https://bugzilla.gnome.org/show_bug.cgi?id=776712
2351
2352 2017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2353
2354         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2355         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2356           libs: encoder: h264: insert AU delimiter
2357           Insert an AUD as the first NAL of each encoded frame.
2358           Some applications require Access Unit Delimiter for decoding the
2359           stream.
2360           The AU delimeter insertion is done only when the aud parameter is
2361           TRUE (by default is disabled). The reason of this it is because this
2362           header is only available from Intel Gen9 and the VA intel driver
2363           should be 1.8 or superior. Otherwise, the output will be corrupted.
2364           https://bugzilla.gnome.org/show_bug.cgi?id=776712
2365           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
2366
2367 2017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
2368
2369         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2370           libs: encoder: h264: initialize all elements of view_ids
2371           Currently when num_views is changed by multiview-mode on sink caps, it produces
2372           wrong MVC encoded stream since the array view_ids is not set properly according
2373           to changed num_views.
2374           So this patch initializes all of the array sequentially to handle this case.
2375           Side effect is not going to happen by this patch since this array is being
2376           handled by num_views.
2377           https://bugzilla.gnome.org/show_bug.cgi?id=784321
2378
2379 2017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
2380
2381         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2382           Revert "encoder: h264: Use high profile by default"
2383           This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
2384           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2385
2386 2017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
2387
2388         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2389           libs: encoder: h264: set profile via capsfilter
2390           Until now, the encoder ignored the profile in src caps and chose one
2391           according with the given parameters. But the encoder must honor the
2392           profile specifed in src caps.
2393           This patch do that, and if the encoder needs to choose the profile,
2394           it will do it by following these rules:
2395           1\ If given parameters are not compatible with given profile, the
2396           encoder will bail out with an error.
2397           2\ The encoder will choose the higher profile indicated in the
2398           src caps.
2399           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2400
2401 2017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
2402
2403         * gst/vaapi/gstvaapiencode_h264.c:
2404           vaapiencode: h264: set profile to src caps
2405           So far vaapi encoder does not set profile to src caps. This patch makes it
2406           setting profile to src caps, which is determined by itself.
2407           In addition, if encoder chose different profile, which is not negotiated with
2408           downstream, we should set compatible profile to make negotiation working.
2409           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2410
2411 2017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2412
2413         * gst/vaapi/gstvaapiencode_h264.c:
2414         * gst/vaapi/gstvaapiencode_h264.h:
2415           vaapiencode: h264: verify if requested profile is supported
2416           Check if the requested profile in source caps, is supported by the
2417           VA driver. If it is not, an info log message is send saying that
2418           another (compatible?) profile will be used.
2419           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2420
2421 2017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2422
2423         * gst/vaapi/gstvaapiencode_h264.c:
2424           vaapiencode: h264: improve set_config() vmethod
2425           First check if downstream requests ANY caps. If so, byte-stream is
2426           used and the profile will be choose by the encoder. If dowstream
2427           requests EMPTY caps, the negotiation will fail.
2428           Lately, byte-stream and profile are looked in the allowed caps.
2429           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2430
2431 2017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2432
2433         * gst/vaapi/gstvaapiencode_h264.c:
2434           vaapiencode: h264: check for avc in set_config()
2435           The check for avc stream format was done in the vaapi encoder's
2436           vmethod get_caps(), but that is wrong since it has to be check
2437           when encoder set_format().
2438           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2439
2440 2017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
2441
2442         * gst/vaapi/gstvaapipostprocutil.c:
2443           vaapipostproc: set multivew-mode flags to src caps
2444           vaapipostproc didn't negotiate the proper multiview caps losing
2445           downstream information.
2446           This patch enables the playing of MVC encoded stream by setting
2447           the proper multiview mode/flags and views to src caps, according
2448           to sink caps.
2449           https://bugzilla.gnome.org/show_bug.cgi?id=784320
2450
2451 2016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
2452
2453         * gst/vaapi/gstvaapipostproc.c:
2454           vaapipostproc: 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
2458 2017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2459
2460         * gst/vaapi/gstvaapidecode.c:
2461           vaapidecode: add support for DMABuf caps feature
2462           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2463           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
2464
2465 2017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2466
2467         * gst/vaapi/gstvaapipluginbase.c:
2468           vaapipluginbase: force dmabuf allocator if DMABuf caps feature
2469           Instantiate all dmabuf allocator for src pad buffer pool if the
2470           src caps ask for memory:DMABuf feature.
2471           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2472
2473 2016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
2474
2475         * gst/vaapi/gstvaapipluginutil.c:
2476         * gst/vaapi/gstvaapipluginutil.h:
2477           vaapipluginutil: add support for DMABuf caps feature
2478           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2479           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
2480           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
2481           vaapipluginutil: add support for DMABuf caps feature
2482
2483 2017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2484
2485         * gst/vaapi/gstvaapipluginbase.c:
2486           vaapipluginbase: dmabuf memory map trial for raw caps
2487           Only push dmabuf-based buffers with raw caps if gst_memory_map()
2488           succeeds. Otherwise, use the the vaapi surfaces allocator.
2489           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2490           https://bugzilla.gnome.org/show_bug.cgi?id=774649
2491           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
2492
2493 2016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2494
2495         * gst/vaapi/gstvaapivideomemory.c:
2496         * gst/vaapi/gstvaapivideomemory.h:
2497           vaapivideomemory: add gst_vaapi_dmabuf_can_map()
2498           This new method checks the specified allocator can create GstMemory that can
2499           be mapped.
2500           https://bugzilla.gnome.org/show_bug.cgi?id=755072
2501
2502 2017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2503
2504         * gst/vaapi/gstvaapivideobufferpool.c:
2505           vaapivideobufferpool: fix regression with video metas
2506           There is another regression with 7a206923 when setting the video
2507           info for the video meta, it should be the one from the image's
2508           allocator rather from the allocation caps.
2509           Test pipeline:
2510           gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
2511           ! tee ! videoconvert ! videoscale                     \
2512           ! video/x-raw, width=1920, height=1080 ! xvimagesink
2513
2514 2017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2515
2516         * gst/vaapi/gstvaapipluginbase.c:
2517         * gst/vaapi/gstvaapivideobufferpool.c:
2518           plugins: update buffer size with the one reported by allocator
2519           There is a regression in 7a206923, since the buffer pool ditches all
2520           the buffers generated by them because the pool config size is
2521           different of the buffer's size.
2522           Test pipeline:
2523           gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
2524           ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
2525           --gst-debug=GST_PERFORMANCE:5
2526           The allocator may update the buffer size according to the VA surface
2527           properties. In order to do this, the video info is modified when the
2528           allocator is created, which reports through the allocation info the
2529           updated size, and set it to the pool config.
2530
2531 2017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
2532
2533         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2534           libs: decoder: h264: initialize active_sps/pps in reset
2535           Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
2536           they introduced regression in seek.
2537           Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
2538           But since the commits landed, it doesn't drop P-frame and does try to
2539           decode it continuously because active_sps is still alive. See ensure_sps function.
2540           But there are prev_frames and prev_ref_frames reset already, then it
2541           causes assertion.
2542           So it's necessary to reset active_sps/pps also in reset method.
2543           https://bugzilla.gnome.org/show_bug.cgi?id=783726
2544
2545 2017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2546
2547         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2548         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2549           libs: encoder: fix compilation with old versions of libva
2550           There are some symbols that are not used when compiling with old
2551           version of libva and those generates a compilation error.
2552           Original-patch-by: Matt Staples <staples255@gmail.com>
2553
2554 2017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2555
2556         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2557           libs: encoder: Fix the quality level clamping
2558           Change the hard-coded range of quality-level from {1-8} to {1-7},
2559           since it is the range Intel Open source driver supports.
2560           Also perform the range clamping only if the user provided
2561           quality-level is greater than the max-range suppored by the driver,
2562           because there could be non-intel drivers giving lower value than
2563           the hard-coded max value 7.
2564           https://bugzilla.gnome.org/show_bug.cgi?id=783567
2565
2566 2017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2567
2568         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2569         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2570         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2571         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2572         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2573         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2574           libs: encoder: log out the name of the profile
2575           Instead of printing a number, it is more readable to log out, in
2576           case of error, the name of the failing profile.
2577
2578 2017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
2579
2580         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2581           libs: encoder: h264: changes raw number of profile to macro name of its
2582           Changes raw number of profile to macro name of its to improve readability.
2583           https://bugzilla.gnome.org/show_bug.cgi?id=757941
2584
2585 2017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2586
2587         * gst/vaapi/gstvaapivideobufferpool.c:
2588           vaapivideobufferpool: remove allocation_vinfo private attribute
2589           There is no need to keep this attribute internally since it is
2590           already managed by the allocator.
2591           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2592
2593 2017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2594
2595         * gst/vaapi/gstvaapivideobufferpool.c:
2596           vaapivideobufferpool: refactor set_config()
2597           Refactor the set_config() virtual method considering a cleaner
2598           approach to allocator instanciation, if it it not set or if it is
2599           not valid for the pool.
2600           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2601
2602 2017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2603
2604         * gst/vaapi/gstvaapipluginbase.c:
2605         * gst/vaapi/gstvaapivideobufferpool.c:
2606         * gst/vaapi/gstvaapivideomemory.c:
2607         * gst/vaapi/gstvaapivideomemory.h:
2608           plugins: distinguish allocation and negotiation caps
2609           The vaapi video decoders might have different allocation caps from
2610           the negotiation caps, thus the GstVideoMeta shall use the negotiation
2611           caps, not the allocation caps.
2612           This was done before reusing gst_allocator_get_vaapi_video_info(),
2613           storing there the negotiation caps if they differ from the allocation
2614           ones, but this strategy felt short when the allocator had to be reset
2615           in the vaapi buffer pool, since we need both.
2616           This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
2617           gst_allocator_get_vaapi_negotiated_video_info() to store the
2618           negotiated video info in the allocator, and distinguish it from
2619           the allocation video info.
2620           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2621
2622 2017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2623
2624         * gst/vaapi/gstvaapivideomemory.c:
2625         * gst/vaapi/gstvaapivideomemory.h:
2626           vaapivideomemory: rename qdata quarks and ids
2627           Also the parameter names were renamed to reflect their origin
2628           and purpose.
2629           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2630
2631 2017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2632
2633         * gst/vaapi/gstvaapivideobufferpool.c:
2634           vaapivideobufferpool: rename local variables
2635           Renamed local video info structure names in set_config() vitual
2636           method. The purpose of their renaming is to clarify the origin
2637           of those structures, whether come from passed caps parameter
2638           (new_allocation_vinfo) or from the configured allocator
2639           (allocator_vinfo).
2640           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2641
2642 2017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2643
2644         * gst/vaapi/gstvaapivideobufferpool.c:
2645           vaapivideobufferpool: rename video info structures
2646           Renamed private GstVideoInfo structure video_info to allocation_vinfo
2647           and alloc_info to negotiated_vinfo.
2648           The purpose of these renaming is to clarify the origin and purpose of
2649           these private variables:
2650           video_info (now allocation_vinfo) comes from the bufferpool
2651           configuration. It describes the physical video resolution to be
2652           allocated by the allocator, which may be different from the
2653           negotiated one.
2654           alloc_info (now vmeta_vinfo) comes from the negotiated caps in
2655           the pipeline. It represents how the frame is going to be mapped
2656           using the video meta.
2657           In Intel's VA-API backend, the allocation_vinfo resolution is
2658           bigger than the negotiated_info.
2659           https://bugzilla.gnome.org/show_bug.cgi?id=783599
2660
2661 2017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2662
2663         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2664           libs: encoder: set framerate if bigger than 0/1
2665           Just set the framerate parameter if the framerate numerator and
2666           denominator are bigger than zero.
2667           Otherwise, in Intel Gen6 driver, a warning is raised disabling the
2668           bitrate control.
2669           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
2670           https://bugzilla.gnome.org/show_bug.cgi?id=783532
2671
2672 2017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2673
2674         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2675           libs: encoder: bitrate target percentage calculation
2676           If the rate control is set to Constant Bit Rate (CBR) the target
2677           percentage is 100%, otherwise is 70%
2678
2679 2017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2680
2681         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2682         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2683         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2684         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2685         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2686         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2687           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
2688           Centralize the common configuration for the Rate Control parameter,
2689           thus can be overloaded per each specific encoder.
2690
2691 2017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2692
2693         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2694         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2695         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2696         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2697         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2698         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2699           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
2700           Since the framerate VA parameter is calculated equally among all the
2701           encoders, it is better to handle it in the base encoder class.
2702
2703 2016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
2704
2705         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2706         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
2707           libs: encoder: vp9: Adds CBR and VBR Encoding support
2708           https://bugzilla.gnome.org/show_bug.cgi?id=766832
2709           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
2710           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2711
2712 2017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
2713
2714         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2715           libs: encoder: vp8: Adds VBR Encoding support
2716           https://bugzilla.gnome.org/show_bug.cgi?id=778732
2717
2718 2017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
2719
2720         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2721           libs: encoder: h265: Adds VBR Encoding support
2722           Enables Variable BitRate mode, which does set FrameRate and RateControl
2723           parameters.
2724           https://bugzilla.gnome.org/show_bug.cgi?id=778732
2725
2726 2017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
2727
2728         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2729           libs: encoder: Describes more detail about the bitrate property
2730           https://bugzilla.gnome.org/show_bug.cgi?id=778732
2731
2732 2017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2733
2734         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2735           libs: encoder: h265: add rate control parameter
2736           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2737
2738 2017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2739
2740         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2741         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2742         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2743           libs: encoder: h264,h265,mpeg2: add framerate parameter
2744           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2745
2746 2017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2747
2748         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2749         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2750         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2751         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2752           libs: encoder: vp8,h264,h265,mpeg2: set misc param once
2753           Instead of recalculating the miscellaneous buffer parameters for
2754           every buffer, it is only done once, when the encoder is configured.
2755           And for every buffer, the same structures are just copied.
2756           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2757
2758 2017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2759
2760         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2761         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2762         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2763         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2764         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2765         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2766           libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
2767           This is patch pretends to decouple the assignation of the values
2768           in the parameter structures and the VA buffer's parameters setting.
2769           It may lead to some issues since HRD, framerate or controlrate may
2770           not be handled by the specific encoder, but they are set in
2771           the VA buffer's parameters.
2772           I leave as it because this patch is just a transitional patch.
2773           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2774
2775 2017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2776
2777         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2778           libs: encoder: vp8: fix frame rate calculation
2779           According to the VA documentation:
2780           The framerate is specified as a number of frames per second,
2781           as a fraction.  The denominator of the fraction is given in
2782           the top half (the high two bytes) of the framerate field, and
2783           the numerator is given in the bottom half (the low two bytes).
2784           For example, if framerate is set to (100 << 16 | 750), this is
2785           750 / 100, hence 7.5fps.
2786           If the denominator is zero (the high two bytes are both zero)
2787           then it takes the value one instead, so the framerate is just
2788           the integer in the low 2 bytes.
2789           This patch fixes the the framerate calculation in vp8 encoder
2790           according to this.
2791           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2792
2793 2017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2794
2795         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2796           libs: encoder: vp8: refactor FrameRate parameter
2797           Move frame-rate parameter from ensure_misc_params() to
2798           ensure_contro_rate_param() since it only has meaning when the
2799           control rate is either VBR or CBR.
2800           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2801
2802 2017-06-02 19:33:36 +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         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2808           libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
2809           Move the Hypothetical Reference Decoder (HRD) parameter, from
2810           ensure_misc_params() to ensure_control_rate_params(), since it
2811           only shall be defined when the control rate is either VBR or CBR.
2812           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2813
2814 2017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2815
2816         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2817         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2818         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2819           libs: encoder: h264,vp8,mpeg2: refactor control rate
2820           Instead of filling the control rate param in ensure_misc_params(),
2821           this patch refactor it out, as a first step to merge the same code
2822           for all the encoders.
2823           https://bugzilla.gnome.org/show_bug.cgi?id=783449
2824
2825 2017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2826
2827         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2828         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2829         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2830           libs: encoder: h264, h265, mpeg2: remove assert
2831           Remove spurious asserts for misc parameters. If they cannot be
2832           allocated, FALSE is already returned.
2833
2834 2017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2835
2836         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2837         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2838           libs: encoder: use VA quality level structure
2839           Instead of using a proxy to story the buffer quality level, the
2840           encoder now uses the native VA structure, which is copied to the
2841           dynamically allocated VAEncMiscParameterBuffer.
2842           This approach is computationally less expensive.
2843
2844 2017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2845
2846         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2847         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
2848         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2849         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2850           libs: standardize the FIXME comment
2851           This is a trivial patch that makes homogeneous the FIXME tag in
2852           comments.
2853           For more info about these comment style:
2854           http://wiki.c2.com/?FixmeComment
2855
2856 2017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
2857
2858         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2859           libs: encoder: vp8: set quality level regardless of rate control mode
2860           https://bugzilla.gnome.org/show_bug.cgi?id=782957
2861
2862 2017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2863
2864         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2865         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2866         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2867         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2868           libs: encoder: check for maximum number of slices
2869           Right now, H264 and HEVC can set as a property the number of slices to
2870           process. But each driver can set a maximum number of slices, depending
2871           on the supported profile & entry point.
2872           This patch verifies the current num_slices to process against the maximum
2873           permitted by the driver and the media size.
2874           https://bugzilla.gnome.org/show_bug.cgi?id=780955
2875
2876 2017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2877
2878         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
2879           libs: utils: mark functions as internals
2880           The functions in this header are internal to the library.
2881
2882 2017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2883
2884         * gst-libs/gst/vaapi/gstvaapicontext.h:
2885           libs: context: add missing documentation
2886           Document the region-of-interest configuration variables.
2887
2888 2017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2889
2890         * tests/elements/test-vaapisink.c:
2891           tests: elements: vaapisink: handle nav events
2892           The test app can now handle navigation events to rotate the
2893           display.
2894
2895 2017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2896
2897         * tests/elements/test-vaapisink.c:
2898           tests: elements: clean up vaapisink test
2899           - Use gst_element_send_event() instead of gst_pad_push_event()
2900           - don't zero App structure
2901           - check for pipeline parsing error
2902           - only get vaapisink for property set
2903
2904 2017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
2905
2906         * gst/vaapi/gstvaapisink.c:
2907           vaapisink: keep handle_events flag except that if user want to set
2908           When state of vaapisink is changed from PLAYING to NULL, the handle_events
2909           flag is set to FALSE, and never recovered, and then event thread is never
2910           going to run.
2911           So we should allow to set the flag only when users try it.
2912           https://bugzilla.gnome.org/show_bug.cgi?id=782543
2913
2914 2017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
2915
2916         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
2917           libs: window: x11: fix src rect info when using vpp
2918           Since we started using VPP in VaapiWindowX11, we need to care about
2919           the case that src rect and window's size are different.
2920           So, once VPP has converted to other format, we should honor the
2921           size of the VPP's surface as source rect. Otherwise, it is cropped
2922           according the previous size of the source rect.
2923           https://bugzilla.gnome.org/show_bug.cgi?id=782542
2924
2925 2017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2926
2927         * gst/vaapi/gstvaapipluginutil.c:
2928           plugins: remove par from caps negotiation
2929           https://bugzilla.gnome.org/show_bug.cgi?id=781759
2930
2931 2017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
2932
2933         * tests/elements/Makefile.am:
2934         * tests/elements/test-roi.c:
2935           tests: elements: add an example for ROI
2936           This implements a pipleint to recognize difference between ROI and non-ROI.
2937           See comments in this code in detail.
2938           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2939           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2940
2941 2017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
2942
2943         * gst/vaapi/gstvaapiencode.c:
2944         * gst/vaapi/gstvaapiencode_h264.c:
2945           vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
2946           Handles new custom event GstVaapiEncoderRegionOfInterest
2947           to enable/disable a ROI region.
2948           Writes a way to use new event to document.
2949           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2950           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2951
2952 2017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
2953
2954         * tests/simple-encoder.c:
2955           tests: simple-encoder: add an option to set ROI
2956           $ simple-encoder -r inputfile.y4m
2957           And you'll got an output file in H264 with two regions of interest.
2958           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2959           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2960
2961 2017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
2962
2963         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2964           libs: encoder: h264: set ROI params during encoding
2965           Set ROI params during encoding each frame, which are set via
2966           gst_vaapi_encoder_add_roi ()
2967           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2968           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2969
2970 2017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
2971
2972         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2973         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2974         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2975           libs: encoder: add api gst_vaapi_encoder_add/del_roi
2976           Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
2977           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2978
2979 2017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
2980
2981         * gst-libs/gst/vaapi/gstvaapicontext.c:
2982         * gst-libs/gst/vaapi/gstvaapicontext.h:
2983         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2984           libs: encoder/context: query region of interest support
2985           Queries if the driver supports "Region of Interest" (ROI) during the config
2986           creation.
2987           This attribute conveys whether the driver supports region-of-interest (ROI)
2988           encoding, based on user provided ROI rectangles.  The attribute value is
2989           partitioned into fields as defined in the VAConfigAttribValEncROI union.
2990           If ROI encoding is supported, the ROI information is passed to the driver
2991           using VAEncMiscParameterTypeROI.
2992           https://bugzilla.gnome.org/show_bug.cgi?id=768248
2993           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2994
2995 2017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2996
2997         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
2998           libs: encoder: fix a comment
2999
3000 2017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3001
3002         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3003           libs: encoder: guard quality level configuration
3004           The quality level appeared in VA-API 0.36. So let's guard its
3005           usage.
3006
3007 2017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3008
3009         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3010         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3011         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3012         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3013         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3014         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
3015         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3016         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3017         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3018           encoders: add quality level tuning
3019           This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
3020           in gstreamer-vaapi encoders:
3021           The encoding quality could be set through this structure, if the
3022           implementation supports multiple quality levels. The quality level set
3023           through this structure is persistent over the entire coded sequence, or
3024           until a new structure is being sent. The quality level range can be queried
3025           through the VAConfigAttribEncQualityRange attribute. A lower value means
3026           higher quality, and a value of 1 represents the highest quality. The quality
3027           level setting is used as a trade-off between quality and speed/power
3028           consumption, with higher quality corresponds to lower speed and higher power
3029           consumption.
3030           The quality level is set by the element's parameter "quality-level" with a
3031           hard-coded range of 1 to 8.
3032           Later, when the encoder is configured in run time, just before start
3033           processing, the quality level is scaled to the codec range. If
3034           VAConfigAttribEncQualityRange is not available in the used VA backend, then
3035           the quality level is set to zero, which means "disabled".
3036           All the available codecs now process this parameter if it is available.
3037           https://bugzilla.gnome.org/show_bug.cgi?id=778733
3038           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3039
3040 2017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
3041
3042         * configure.ac:
3043         * meson.build:
3044           Back to development
3045
3046 === release 1.12.0 ===
3047
3048 2017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
3049
3050         * ChangeLog:
3051         * NEWS:
3052         * configure.ac:
3053         * gstreamer-vaapi.doap:
3054         * meson.build:
3055           Release 1.12.0
3056
3057 2017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3058
3059         * gst/vaapi/gstvaapidecodebin.c:
3060           Revert "vaapidecodebin: fix element's classification"
3061           This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
3062
3063 2017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
3064
3065         * configure.ac:
3066         * meson.build:
3067           build: Require libva < 0.99.0
3068           libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
3069           fail to configure instead of failing late in the build.
3070           This libva is bundled in msdk[1] and it is ahead in time with
3071           respect the official and open source libva[2]. GStreamer-VAAPI
3072           only supports the latter for now.
3073           1. https://software.intel.com/en-us/media-sdk/download
3074           2. https://github.com/01org/libva/
3075           https://bugzilla.gnome.org/show_bug.cgi?id=781866
3076
3077 2017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
3078
3079         * gst/vaapi/gstvaapidecodebin.c:
3080           vaapidecodebin: fix element's classification
3081           This bin should have similar classification as decodebin which is
3082           "Generic/Bin/Decoder" otherwise it will appear wrongly as video
3083           decoder.
3084           Signed-off-by: Victor Toso <victortoso@redhat.com>
3085           https://bugzilla.gnome.org/show_bug.cgi?id=782063
3086
3087 === release 1.11.91 ===
3088
3089 2017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
3090
3091         * ChangeLog:
3092         * NEWS:
3093         * configure.ac:
3094         * gstreamer-vaapi.doap:
3095         * meson.build:
3096           Release 1.11.91
3097
3098 2017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3099
3100         * gst/vaapi/gstvaapipluginutil.c:
3101           Revert "plugins: reject pixel-aspect-ratio with value 0/1"
3102           This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
3103
3104 2017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3105
3106         * gst/vaapi/gstvaapipluginutil.c:
3107           plugins: reject pixel-aspect-ratio with value 0/1
3108           Do not negotiate a pixel-aspect-ratio of 0/1.
3109           https://bugzilla.gnome.org/show_bug.cgi?id=781759
3110
3111 2017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3112
3113         * gst/vaapi/gstvaapipostprocutil.c:
3114         * gst/vaapi/gstvaapisink.c:
3115           plugins: handle pixel-aspect-ratio with value 0/1
3116           When downstream negotiates a pixel-aspect-ratio of 0/1, the
3117           calculations for resizing and formatting in vaapipostproc and
3118           vaapisink, respectively, failed, and thus the pipeline.
3119           This patch handles this situation by converting p-a-r of 0/1 to
3120           1/1. This is how other sinks, such as glimagesink, work.
3121           https://bugzilla.gnome.org/show_bug.cgi?id=781759
3122
3123 2017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
3124
3125         * gst/vaapi/gstvaapivideobufferpool.c:
3126           vaapivideobufferpool: fix leak of created allocator
3127           Since it's created by itself, it should be unref-counted
3128           after gst_buffer_pool_config_set_allocator call. Afterwards,
3129           this allocator will be ref-counted again when assigning to priv->allocator.
3130           https://bugzilla.gnome.org/show_bug.cgi?id=781577
3131
3132 2017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3133
3134         * gst/vaapi/gstvaapivideobufferpool.c:
3135           vaapivideobufferpool: create or reconfig allocator
3136           Sometimes a video decoder could set different buffer pool
3137           configurations, because their frame size changes. In this case we
3138           did not reconfigure the allocator.
3139           This patch enables this use case, creating a new allocator inside
3140           the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
3141           If so, it is just reconfigured, since it doesn't have a surface pool.
3142           https://bugzilla.gnome.org/show_bug.cgi?id=781577
3143
3144 2017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3145
3146         * tests/elements/Makefile.am:
3147           test: elements: fix compilation flags
3148           This issue was spotten on bug #766704
3149           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
3150
3151 2017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
3152
3153         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3154           libs: windows: wayland: fix leak if failure of sync
3155           Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
3156           during destruction.
3157           In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
3158           This surface is not attached to anything at this moment, so we should release
3159           it manually.
3160           https://bugzilla.gnome.org/show_bug.cgi?id=781695
3161
3162 2017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
3163
3164         * common:
3165           Automatic update of common submodule
3166           From 60aeef6 to 48a5d85
3167
3168 2017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
3169
3170         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3171           libs: window: wayland: mark frames as done
3172           When the frame listener callbacks 'done', the number of pending
3173           frames are decreased. Nonetheless, there might be occasions where
3174           the buffer listener callbacks 'release', without calling previously
3175           frame's 'done'. This leads to problem with
3176           gst_vaapi_window_wayland_sync() operation.
3177           This patch marks as done those frames which were callbacked, but if
3178           the buffer callbacks 'release' and associated frame is not marked
3179           as 'done' it is so, thus the number of pending frames keeps correct.
3180           https://bugzilla.gnome.org/show_bug.cgi?id=780442
3181           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3182
3183 2017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3184
3185         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3186           libs: window: wayland: don't sync at destroy()
3187           Don't call gst_vaapi_window_wayland_sync() when destroying the
3188           wayland window instance, since it might lead to a lock at
3189           gst_poll_wait() when more than one instances of vaapisink are
3190           rendering in the same pipeline, this is because they share the
3191           same window.
3192           Since now all the frames are freed we don't need to freed the
3193           private last_frame, since its address is invalid now.
3194           https://bugzilla.gnome.org/show_bug.cgi?id=780442
3195           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
3196
3197 2017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
3198
3199         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3200           libs: window: wayland: null buffer at destroy()
3201           Fix leakage of the last wl buffer.
3202           VAAPI wayland sink needs to send a null buffer while destruction,
3203           it assures that all the wl buffers are released. Otherwise, the last
3204           buffer's callback might be not called, which leads to leak of
3205           GstVaapiDisplay.
3206           This was inspired by gstwaylandsink.
3207           https://bugzilla.gnome.org/show_bug.cgi?id=774029
3208           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3209
3210 2016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
3211
3212         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3213           libs: window: wayland: rt event queue at destroy()
3214           The proxy object of wl_buffer for the last frame remains in the
3215           wl_map. Even though we call wl_buffer_destroy() in
3216           frame_release_callback(), the proxy object remains without being
3217           removed, since proxy object is deleted when wayland server sees the
3218           delete request and sends 'delete_id' event.
3219           We need to call roundtrip before destroying event_queue so that the
3220           proxy object is removed. Otherwise, it would be mess up as receiving
3221           'delete_id' event from previous play, when playing in the next
3222           va/wayland window with the same wl_display connection.
3223           https://bugzilla.gnome.org/show_bug.cgi?id=773689
3224           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3225
3226 2017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3227
3228         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3229           libs: window: wayland: cancel read at poll message
3230           Always call wl_display_cancel_read() when an errno is set, but
3231           different to EAGAIN or EINTR.
3232           https://bugzilla.gnome.org/show_bug.cgi?id=780442
3233
3234 2017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
3235
3236         * gst/vaapi/gstvaapidecodebin.c:
3237         * gst/vaapi/gstvaapidecodebin.h:
3238           vaapidecodebin: skips configuration once it's done
3239           Skips configuration of creation of vpp/capsfilter and link them once it's done.
3240           Otherwise, it always fails when it's trying to re-start playback.
3241           https://bugzilla.gnome.org/show_bug.cgi?id=781573
3242
3243 2017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3244
3245         * gst/vaapi/gstvaapipostprocutil.c:
3246           vaapipostproc: fixes for memory leaks
3247           The use of gst_vaapi_value_set_format() and gst_structure_*_value()
3248           requires to clear the used GValue to avoid a memory leak.
3249
3250 2016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3251
3252         * gst/vaapi/gstvaapipluginbase.c:
3253         * gst/vaapi/gstvaapipluginbase.h:
3254           plugins: enable direct rendering with envvar
3255           Direct rendering (use vaDeriveImage rather than vaPutImage) has better
3256           performance in some Intel platforms (Haswell, for example) but in others
3257           (Skylake) is the opposite.
3258           In order to have some control, the patch enables the direct rendering
3259           through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
3260           Also it seems to generating some problems with gallium/radeon backend.
3261           See bug #779642.
3262           https://bugzilla.gnome.org/show_bug.cgi?id=775848
3263
3264 2017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
3265
3266         * gst/vaapi/gstvaapidecode.c:
3267           vaapidecode: Don't renegotiate on every flush
3268           If caps don't actually change, don't update the
3269           decoder and don't set the do_renego flag forcing
3270           downstream renegotiation
3271           https://bugzilla.gnome.org/show_bug.cgi?id=781142
3272
3273 2017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
3274
3275         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3276           h264 decoder: Implement reset() for faster flush
3277           Implement a custom reset() function for faster flushes
3278           that just clear the reference pictures but don't reallocate
3279           the DPB or clear out SPS/PPS
3280           https://bugzilla.gnome.org/show_bug.cgi?id=781142
3281
3282 2017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
3283
3284         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3285         * gst-libs/gst/vaapi/gstvaapidecoder.h:
3286         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3287         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3288         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
3289         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
3290         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
3291         * gst/vaapi/gstvaapidecode.c:
3292           Implement decoder reset on flush, rather than recreating
3293           Clear decoders out on a flush but keep the same instance,
3294           rather than completely recreating them. That avoids
3295           unecessarily freeing and recreating surface pools
3296           and contexts, which can be quite expensive
3297           https://bugzilla.gnome.org/show_bug.cgi?id=781142
3298
3299 2017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3300
3301         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3302           libs: window: don't add an unused function
3303           The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
3304           a function that is never used, thus when compiling we might see
3305           this warning (clang):
3306           gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
3307           GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
3308           ^
3309           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3310
3311 2017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3312
3313         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3314         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
3315           libs: window: remove surface_format member
3316           Since we always convert to NV12, there is no need to keep a
3317           variable for that. Let us hard code it.
3318           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3319
3320 2017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
3321
3322         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3323         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3324         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
3325           libs: window: x11/wayland: use new api for conversion
3326           Since gst_vaapi_window_vpp_convert_internal is created,
3327           GstVaapiWindowX11/Wayland can use it for conversion.
3328           Note that once it chooses to use vpp, it's going to use vpp
3329           until the session is finished.
3330           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3331
3332 2017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
3333
3334         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3335         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
3336           libs: window: add gst_vaapi_window_vpp_convert_internal()
3337           If a backend doesn't support specific format, we can use vpp for conversion
3338           and make it playing.
3339           This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
3340           so that GstVaapiWindowX11 could use it.
3341           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3342
3343 2017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
3344
3345         * gst-libs/gst/vaapi/gstvaapiwindow.c:
3346         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
3347         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3348         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3349         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
3350           libs: window: x11/wayland: chaining up to GstVaapiWindow
3351           Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
3352           This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
3353           https://bugzilla.gnome.org/show_bug.cgi?id=759533
3354
3355 2017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
3356
3357         * gst/vaapi/gstvaapipluginutil.c:
3358           plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
3359           When these definitions are false, they are undef in the
3360           preprocessor, not a defined value of 0. When they are unset the
3361           compile fails with:
3362           'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
3363           https://bugzilla.gnome.org/show_bug.cgi?id=780948
3364
3365 2017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
3366
3367         * common:
3368           Automatic update of common submodule
3369           From 39ac2f5 to 60aeef6
3370
3371 === release 1.11.90 ===
3372
3373 2017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
3374
3375         * ChangeLog:
3376         * NEWS:
3377         * configure.ac:
3378         * gstreamer-vaapi.doap:
3379         * meson.build:
3380           Release 1.11.90
3381
3382 2017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3383
3384         * gst/vaapi/gstvaapiencode_h265.c:
3385           vaapiencode: h265: add main-10 in caps template
3386           This patch adds h265's main-10 profile in encoder src caps template.
3387           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3388
3389 2017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3390
3391         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3392           libs: encoder: h265: chroma and luma with format
3393           If the profile is main-10 the bit_depth_luma_minus8, in the sequence
3394           parameter buffer, shall be the color format bit depth minus 8, 10-8
3395           which is 2. Also for bit_depth_chroma_minus8.
3396           This patch gets the negotiated sink caps format and queries its
3397           luma's depth and uses that value to fill the mentioned parameters.
3398           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3399
3400 2017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3401
3402         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3403           libs: encoder: admit YUV420_10BPP as valid chroma
3404           Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
3405           type.
3406           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3407
3408 2017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3409
3410         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3411           libs: encoder: h265: ensures profile given format
3412           Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
3413           configured color format is P010_10LE.
3414           Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
3415           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3416
3417 2017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3418
3419         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3420           libs: encode: merge all possible surface formats
3421           When the function gst_vaapi_encoder_get_surface_formats() was added
3422           it was under the assumption that any VA profile of the specific codec
3423           supported the same format colors. But it is not, for example the
3424           profiles that support 10bit formats.
3425           In other words, different VA profiles of a same codec may support
3426           different color formats in their upload surfaces.
3427           In order to expose all the possible color formats, if no profile is
3428           specified via source caps, or if the encoder doesn't have yet a
3429           context, all the possible VA profiles for the specific codec are
3430           iterated and their color formats are merged.
3431           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3432
3433 2017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3434
3435         * gst/vaapi/gstvaapiencode.c:
3436         * gst/vaapi/gstvaapiencode.h:
3437         * gst/vaapi/gstvaapiencode_h264.c:
3438         * gst/vaapi/gstvaapiencode_h265.c:
3439           vaapiencode: add get_profile() vmethod
3440           This new virtual method, get_profile(), if implemented by specific
3441           encoders, will return the VA profile potentially determined by the
3442           source caps.
3443           Also it is implemented by h264 and h265 encoders, which are the main
3444           users of this vmethod.
3445           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3446
3447 2017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3448
3449         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3450         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3451         * gst/vaapi/gstvaapiencode.c:
3452           libs: encoder: pass profile to get_surface_formats()
3453           In order to get the supported surface formats within a specific
3454           profile this patch adds the GstVaapiProfile as property to
3455           gst_vaapi_encoder_get_surface_formats().
3456           Currently the extracted formats are only those related with the
3457           default profile of the element's codec.
3458           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3459
3460 2017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3461
3462         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3463           libs: encoder: dummy context for get_surface_formats()
3464           Instead of creating (if it doesn't exist, yet) the encoder's context
3465           the method gst_vaapi_encoder_get_surface_formats() now it creates
3466           dummy contexts, unless the encoder has it already created.
3467           The purpose of this is to avoid setting a encoder's context with a
3468           wrong profile.
3469           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3470
3471 2017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3472
3473         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3474           libs: encoder: refactor init_context_info()
3475           In order to generate vaapi contexts iterative, the function
3476           init_context_info() is refactored to pass, as parameters the
3477           GstVaapiContextInfo and the GstVaapiProfile.
3478           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3479
3480 2017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3481
3482         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3483         * gst-libs/gst/vaapi/gstvaapiutils.c:
3484         * gst-libs/gst/vaapi/gstvaapiutils.h:
3485           libs: encoder: initialize chroma_type
3486           Instead of initialize the chroma_type with a undefined value, which
3487           will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
3488           this patch queries the VA config, given the received
3489           GstVaapiContextInfo's parameters, and gets the first response.
3490           In order to get the GstVaapiChromaType value, also it was needed to
3491           add a new utility function: to_GstVaapiChromaType(), which, given a
3492           VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
3493           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3494
3495 2017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3496
3497         * gst/vaapi/gstvaapiencode.c:
3498           vaapiencode: enhance logs of negotiated caps
3499           https://bugzilla.gnome.org/show_bug.cgi?id=771291
3500
3501 2017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
3502
3503         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3504           libs: encoder: vp9: Fix initialization of ref_list
3505           gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
3506           'memset' used with length equal to number of elements without
3507           multiplication by element size [-Werror=memset-elt-size]
3508           https://bugzilla.gnome.org/show_bug.cgi?id=780947
3509
3510 2017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3511
3512         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3513           encoder: h264: Fix Backward ReferencePicture flag setting
3514           This is a regression introduced by e829b62 which
3515           override the reference flags and caused issues with
3516           latest intel-vaapi-driver.
3517
3518 2017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3519
3520         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3521           libs: encoder: h265: fix code style
3522           Trivial patch to remove a double ';' as end of instruction.
3523
3524 2017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3525
3526         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3527           encoder: h264: Fix B frame encoding artifacts
3528           The current implementation is updating the POC values only
3529           in Slice parameter Buffer.But we are not filling the
3530           picture order count and reference flags in VAPictureH264
3531           while populating VA Picture/Slice structures.The latest
3532           intel-vaapi-driver is directly accessing the above fields
3533           from VAPicutreH264 provided as RefPicLists, which resulted
3534           some wrong maths and prediction errors in driver.
3535           https://bugzilla.gnome.org/show_bug.cgi?id=780620
3536
3537 2017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3538
3539         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3540           libs: encoder: h265: remove unused macro definition
3541           Since the h265 encoder doesn't use GValueArray, there is no need to
3542           disable the Glib deprecation warnings, thus removing the macro
3543           definition.
3544
3545 2017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3546
3547         * gst/vaapi/gstvaapidecode.c:
3548         * gst/vaapi/gstvaapiencode.c:
3549         * gst/vaapi/gstvaapipostproc.c:
3550         * gst/vaapi/gstvaapisink.c:
3551           plugins: when debug disabled, default category is NULL
3552           As in gstreamer-vaapi a common base class is used, the specific
3553           default category is passed to the base-plugin initializator, thus
3554           the log messages are categorized with the used plugin.
3555           Nonetheless, when the gst-debug is disabled in compilation time,
3556           it is needed to pass NULL to the base-plugin initializator. This
3557           patch does that.
3558           https://bugzilla.gnome.org/show_bug.cgi?id=780302
3559
3560 2017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
3561
3562         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3563         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3564         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
3565         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
3566           libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
3567           Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
3568           unit length and data to a bitwriter.
3569           Note that this helper function applies EPB (Emulation Prevention
3570           Bytes), since otherwise produced codec_data might be broken when
3571           decoder/parser considering EPB, starts parsing.
3572           See sections 7.3 and 7.4 of the H264 and H264 specifications, which
3573           describes the emulation_prevention_three_byte.
3574           https://bugzilla.gnome.org/show_bug.cgi?id=778750
3575           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3576
3577 2017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
3578
3579         * gst-libs/gst/vaapi/Makefile.am:
3580         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3581         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3582         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
3583         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
3584         * gst-libs/gst/vaapi/meson.build:
3585           libs: utils: h26x: create vaapiutils_h26x
3586           Since there is duplicated code in h264/265 encoder, we could
3587           refactor it to avoid duplicated code.
3588           https://bugzilla.gnome.org/show_bug.cgi?id=778750
3589           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3590
3591 2017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
3592
3593         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3594         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3595           libs: encoder: h264/5: fix wrong return value
3596           https://bugzilla.gnome.org/show_bug.cgi?id=778750
3597
3598 2017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
3599
3600         * gst/vaapi/gstvaapiencode_h264.c:
3601         * gst/vaapi/gstvaapiencode_h265.c:
3602           docs: h264/h265: put parser to the example pipeline
3603           https://bugzilla.gnome.org/show_bug.cgi?id=778749
3604
3605 2017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
3606
3607         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3608           libs: encoder: h265: fix reserved length of bits
3609           Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
3610           https://bugzilla.gnome.org/show_bug.cgi?id=778749
3611
3612 2017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3613
3614         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
3615         * tests/test-display.c:
3616           O_CLOEXEC needs _GNU_SOURCE defined
3617           From man open(2):
3618           The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
3619           in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
3620           2.12, one can obtain their definitions by defining either
3621           _POSIX_C_SOURCE with a value greater than or equal to 200809L or
3622           _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
3623           2.11 and earlier, one obtains the definitions by defining
3624           _GNU_SOURCE.
3625           And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
3626           _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
3627           gstreamer-vaapi with the uClibc C library.
3628           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3629           https://bugzilla.gnome.org/show_bug.cgi?id=779953
3630
3631 2017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3632
3633         * README:
3634           README: fix "Sources" section
3635           Update the URL where the release source tarballs can be downloaded.
3636
3637 2017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3638
3639         * README:
3640           README: fix "Reporting bugs" section
3641           The "Reporting bugs" section gives
3642           https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
3643           link to report a bug, but this link says "Sorry, entering a bug into the
3644           product gstreamer-vaapi has been disabled.".
3645           This commit fixes the URL to point to the proper location, and also
3646           removes the following paragraph that is no longer correct.
3647           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3648           https://bugzilla.gnome.org/show_bug.cgi?id=779954
3649
3650 2017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3651
3652         * gst/vaapi/gstvaapipluginutil.c:
3653           plugins: retry to create the VA display
3654           Particularly in GNOME Wayland, the negotiated or created GL context
3655           defines a GLX environment, but VAAPI fails to create a GLX VA
3656           display because there is no a DRI2 connection.
3657           This patch retries to create the VA display if VA cannot create one
3658           with the GL context parameters. Now using the old list of display
3659           types.
3660           This should also work in the case of systems with two GPU, when the
3661           non-VAAPI has the graphics environment, and the VAAPI-enabled one
3662           shall work headless.
3663           https://bugzilla.gnome.org/show_bug.cgi?id=772838
3664
3665 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
3666
3667         * gst/vaapi/gstvaapipostproc.c:
3668           vaapipostproc: texture upload if driver supports GL
3669           Removes GstVideoGLTextureUploadMeta caps feature if the driver
3670           doesn't support opengl.
3671           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3672           https://bugzilla.gnome.org/show_bug.cgi?id=772838
3673
3674 2016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3675
3676         * gst/vaapi/gstvaapidecode.c:
3677           vaapidecode: texture upload if driver supports GL
3678           When the allowed source pad caps are generated, the GLTextureUpload caps are
3679           only inserted if the driver support OpenGL.
3680           https://bugzilla.gnome.org/show_bug.cgi?id=772838
3681
3682 2017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
3683
3684         * configure.ac:
3685           configure: Add missing compiler flags
3686           The AC_CHECK_HEADERS macro was failing to locate some headers, in
3687           particular the va_enc_* headers due to missing compiler flags.
3688           https://bugzilla.gnome.org/show_bug.cgi?id=779101
3689           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3690
3691 2017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
3692
3693         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3694           libs: window: wayland: handle more VAStatus to use vpp
3695           Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
3696           we should consider more returned VAStatus to use vpp.
3697           https://bugzilla.gnome.org/show_bug.cgi?id=779400
3698
3699 2017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
3700
3701         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3702           libs: encoder: ensure profile when context initialization
3703           We can't be sure that encoder's profile is assgined already or not
3704           at context initialization.
3705           https://bugzilla.gnome.org/show_bug.cgi?id=779120
3706
3707 2017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
3708
3709         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3710           libs: encoder: set rate control info only when query succeed
3711           Currently, it set rate control information even when query fails.
3712           In addition, it doesn't update any more since the flag
3713           got_rate_control_mask is set to TRUE.
3714           https://bugzilla.gnome.org/show_bug.cgi?id=779120
3715
3716 2017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
3717
3718         * meson.build:
3719           meson: Update version
3720
3721 2017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
3722
3723         * configure.ac:
3724           Back to development
3725
3726 === release 1.11.2 ===
3727
3728 2017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
3729
3730         * ChangeLog:
3731         * NEWS:
3732         * configure.ac:
3733         * gstreamer-vaapi.doap:
3734           Release 1.11.2
3735
3736 2017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3737
3738         * gst/vaapi/gstvaapiencode.c:
3739           vaapiencode: merge tags for downstream's info
3740           Add encoder and codec name and the bitrate into the output for
3741           informational purposes. Some muxers or application use it as
3742           media metadata.
3743           https://bugzilla.gnome.org/show_bug.cgi?id=778781
3744
3745 2017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3746
3747         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3748           libs: encoder: caps can change at any time
3749           The encoder should be able to change its caps even it is already
3750           processing a stream.
3751           This is suppose to happen after a flush so the codedbuf_queue should
3752           be empty.
3753           https://bugzilla.gnome.org/show_bug.cgi?id=775490
3754
3755 2017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3756
3757         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3758           libs: encoder: h265: bail if nal unit type fails
3759           Bail out if the NAL unit type is not recognized.
3760           https://bugzilla.gnome.org/show_bug.cgi?id=778782
3761
3762 2017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3763
3764         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3765         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3766           libs: decoder: h264,h265 avoid uninitialized variable
3767           Configuring GCC to verify possible usage of uninitialized variables,
3768           shows that found_index might be used without previous assignation.
3769           This patch assigns a initial value to found_index, also avoid a
3770           branching when returning the result value.
3771           https://bugzilla.gnome.org/show_bug.cgi?id=778782
3772
3773 2017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
3774
3775         * configure.ac:
3776         * gst-libs/gst/vaapi/Makefile.am:
3777         * gst/vaapi/gstvaapidecode.c:
3778         * gst/vaapi/gstvaapidecodebin.c:
3779           build: rename USE_HEVC_DECODER to USE_H265_DECODER
3780           Rename to be consistent with H.264 and also H.265 encoder. The
3781           meson build assumed this was already consistently named, and so
3782           previously was not able to actually build the H.265 decoder.
3783           https://bugzilla.gnome.org/show_bug.cgi?id=778576
3784
3785 2017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
3786
3787         * meson.build:
3788           meson: gstreamer-codecparsers is a required dep
3789           Just like in configure.ac.
3790
3791 2017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
3792
3793         * Makefile.am:
3794           meson: dist meson build files
3795           Ship meson build files in tarballs, so people who use tarballs
3796           in their builds can start playing with meson already.
3797
3798 2017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
3799
3800         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3801           libs: encoder: vp8: add CBR encoding mode
3802           This patch enables the Constant BitRate encoding mode in VP8 encoder.
3803           Basically it adds the configuration parameters required by libva to
3804           CBR enconding.
3805           Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3806           https://bugzilla.gnome.org/show_bug.cgi?id=749950
3807
3808 2017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
3809
3810         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3811           libs: encoder: vp8: fix bitrate calculation
3812           Base encoder's unit of bitrate is in Kbps. We should honor it so
3813           we use the value of bitrate in VA, in which is expressed in bps.
3814           https://bugzilla.gnome.org/show_bug.cgi?id=749950
3815
3816 2017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3817
3818         * gst/vaapi/gstvaapipluginbase.c:
3819           plugins: fix build when gcc
3820           In commit a8e482f9 we added a function without parameters, but gcc
3821           doesn't like that.
3822
3823 2017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
3824
3825         * gst-libs/gst/base/meson.build:
3826         * gst-libs/gst/meson.build:
3827         * gst-libs/gst/vaapi/meson.build:
3828         * gst-libs/meson.build:
3829         * gst/meson.build:
3830         * gst/vaapi/meson.build:
3831         * meson.build:
3832         * meson_options.txt:
3833           vaapi: add meson build
3834           https://bugzilla.gnome.org/show_bug.cgi?id=778250
3835
3836 2017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
3837
3838         * configure.ac:
3839         * gst-libs/gst/vaapi/Makefile.am:
3840         * gst-libs/gst/vaapi/gstvaapidisplay.c:
3841         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
3842           make: remove gstvaapiversion.h generation
3843           https://bugzilla.gnome.org/show_bug.cgi?id=778250
3844
3845 2016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
3846
3847         * gst/vaapi/gstvaapipluginbase.c:
3848           plugins: use linear storage if not the same device
3849           When dmabuf is negotiated downstream and decoding and rendering are
3850           not done on the same device, the layout has to be linear in order for
3851           the memory to be shared accross devices, since each device has its
3852           own way to do tiling.
3853           Right now this code is rather just a to-do comment, since we are not
3854           fetching the device ids.
3855           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3856
3857 2017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
3858
3859         * gst-libs/gst/vaapi/gstvaapiutils.c:
3860           libs: utils: add HEVC profiles representation
3861           https://bugzilla.gnome.org/show_bug.cgi?id=778318
3862
3863 2017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
3864
3865         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3866           libs: decoder: h264: reduce frame number of gaps
3867           Reduce frame num gaps so that we don't have to create unnecessary
3868           dummy pictures, just throw them away.
3869           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3870           https://bugzilla.gnome.org/show_bug.cgi?id=777506
3871
3872 2016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3873
3874         * gst/vaapi/gstvaapidecode.c:
3875           vaapidecode: don't GLTextureUpload if dmabuf
3876           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
3877           element can handle dmabuf-based buffers, avoiding its negotiation.
3878
3879 2016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
3880
3881         * gst/vaapi/gstvaapidecode.c:
3882           vaapidecode: make pool to export decoder's surface
3883           Use new -base API gst_video_decoder_allocate_output_frame_full() to
3884           pass the current proxy/surface to the pool.
3885           The pool will will export thins given surface instead of exporting a
3886           brand new surface that will never be filled in with meaningfull data.
3887           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3888
3889 2017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3890
3891         * gst/vaapi/gstvaapipluginbase.c:
3892           plugins: decoder can negotiate dmabuf downstream
3893
3894 2016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
3895
3896         * gst/vaapi/gstvaapivideobufferpool.c:
3897           vaapivideobufferpool: override acquire_buffer()
3898           Overriding the vmethod acquire_buffer() it is possible to attach the
3899           right GstMemory to the current acquired buffer.
3900           As a matter of fact, this acquired buffer may contain any instantiated
3901           GstFdmemory, since this buffer have been popped out from the buffer
3902           pool, which is a FIFO queue. So there is no garantee that this buffer
3903           matches with the current processed surface. Evenmore, the VA driver
3904           might not use a FIFO queue. Therefore, it is no way to guess on the
3905           ordering.
3906           In short, acquire_buffer on the VA driver and on the buffer pool return
3907           none matching data, we have to manually attach the right GstFdMemory to
3908           the acquired GstBuffer. The right GstMemory is the one associated with
3909           the current surface.
3910           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3911
3912 2016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
3913
3914         * gst/vaapi/gstvaapivideobufferpool.c:
3915         * gst/vaapi/gstvaapivideomemory.c:
3916           vaapivideomemory: export surface if it is provided
3917           gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
3918           had to create that surface. Now it can also export an already provided
3919           surface. It is useful to export decoder's surfaces (from VA context).
3920           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3921
3922 2016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
3923
3924         * gst/vaapi/gstvaapivideobufferpool.h:
3925           vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
3926           Useful to let the pool know the current surface proxy when calling
3927           gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
3928           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3929
3930 2016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
3931
3932         * gst-libs/gst/vaapi/gstvaapisurface.c:
3933         * gst-libs/gst/vaapi/gstvaapisurface.h:
3934           libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
3935           These functions are useful when a dmabuf-based memory is instantiated in
3936           order to relate the generated buffer @proxy with the processed @surface.
3937           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3938
3939 2016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
3940
3941         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3942         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
3943         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
3944           libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
3945           This patch adds a GstMemory as a variable member of the buffer proxy,
3946           because we will need to associate the buffer proxy with the memory
3947           which exposes it. Later, we will know which memory, in the video buffer
3948           pool, is attached to the processed surface.
3949           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3950
3951 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
3952
3953         * gst/vaapi/gstvaapipostproc.c:
3954           vaapipostproc: don't GLTextureUpload if dmabuf
3955           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
3956           element can handle dmabuf-based buffers, avoiding its negotiation.
3957           Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
3958           feature if can dmabuf"
3959           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3960
3961 2016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3962
3963         * gst/vaapi/gstvaapipluginbase.c:
3964           plugins: enable DMAbuf allocator to downstream
3965           If the negotiated caps are raw caps and downstream supports the
3966           EGL_EXT_image_dma_buf_import extension, then the created allocator
3967           is the DMAbuf, configured to downstream.
3968           At this moment, the only element which can push dmabuf-based buffers
3969           to downstream, is vaapipostproc.
3970
3971 2016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
3972
3973         * gst/vaapi/gstvaapipluginbase.c:
3974         * gst/vaapi/gstvaapipluginbase.h:
3975           plugins: check if negotiate dmabuf with downstream
3976           In order to enable, in the future, dmabuf-based buffers, the vaapi base
3977           plugin needs to check if downstream can import dmabuf buffers.
3978           This patch checks if downstream can handle dmabuf, by introspecting the
3979           shared GL context. If the GL context is EGL/GLES2 and have the extension
3980           EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
3981           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
3982
3983 2016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
3984
3985         * gst/vaapi/gstvaapivideomemory.c:
3986           vaapivideomemory: release proxy's data if downstream
3987           The surface created for downstream is going to be filled by VAAPI
3988           elements. So, the driver needs write access on that surface.
3989           This patch releases the derived image held by the proxy, thus the
3990           surface is unmarked as busy.
3991           This is how it has to be done as discussed on libva mailing list.
3992           https://bugzilla.gnome.org/show_bug.cgi?id=755072
3993
3994 2016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
3995
3996         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3997         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
3998           libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
3999           Adds an API to request the user's data release in the buffer proxy.
4000           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4001
4002 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
4003
4004         * gst/vaapi/gstvaapipluginbase.c:
4005         * gst/vaapi/gstvaapivideomemory.c:
4006         * gst/vaapi/gstvaapivideomemory.h:
4007           vaapivideomemory: add direction to dmabuf allocator
4008           Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
4009           we later could do different thing when the allocated memory is for
4010           upstream or dowstream, as required by VA-API.
4011           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4012
4013 2016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
4014
4015         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4016           libs: utils: return NULL if failed to get surface formats
4017           Thus, when generating the allowed caps, the element will throw a
4018           warning and it will use its caps template.
4019           This behavior might be a bug in the VA driver.
4020           https://bugzilla.gnome.org/show_bug.cgi?id=775490
4021
4022 2015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4023
4024         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4025           Revert "vaapidisplay: mark X11 display as compatible with EGL"
4026           This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
4027
4028 2017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
4029
4030         * gst/vaapi/gstvaapipostproc.c:
4031           vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
4032           A value of width/height property should be set to out caps,
4033           if negotiation had been going properly.
4034           So we can use srcpad_info when making decision of scaling.
4035           https://bugzilla.gnome.org/show_bug.cgi?id=778010
4036
4037 2017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4038
4039         * gst/vaapi/gstvaapidecode.c:
4040         * gst/vaapi/gstvaapiencode.c:
4041         * gst/vaapi/gstvaapipluginutil.c:
4042         * gst/vaapi/gstvaapipluginutil.h:
4043         * gst/vaapi/gstvaapipostproc.c:
4044         * gst/vaapi/gstvaapisink.c:
4045           plugins: handle GL params through context query
4046           If the element instantiated the GL display and context, they should
4047           handle them too through the context query.
4048           https://bugzilla.gnome.org/show_bug.cgi?id=777409
4049
4050 2017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4051
4052         * gst/vaapi/gstvaapipluginbase.c:
4053         * gst/vaapi/gstvaapipluginbase.h:
4054         * gst/vaapi/gstvaapipluginutil.c:
4055           plugins: create a GL context on certain conditions
4056           If a GstVaapiDisplay is not found in the GStreamer context sharing,
4057           then VAAPI elements look for a local GstGLContext in gst context
4058           sharing mechanism ('gst.gl.local.context').
4059           If this GstGLContext not found either then, only the VAAPI decoders
4060           and the VAAPI post-processor, will try to instantiate a new
4061           GstGLContext.
4062           If a valid GstGLContext is received, then a new GstVaapiDisplay will
4063           be instantiated with the platform, API and windowing specified by the
4064           instantiated GstGLContext.
4065           Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
4066           https://bugzilla.gnome.org/show_bug.cgi?id=777409
4067
4068 2016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4069
4070         * gst/vaapi/gstvaapivideocontext.c:
4071           vaapivideocontext: context type can be rejected
4072           Instead of calling g_return_val_if_fail() to check the context type, we
4073           should use a normal conditional, since it is possible that other context types
4074           can arrive and try to be assigned. Otherwise a critical log message is
4075           printed.
4076           This happens when we use playbin3 with vaapipostproc as video-filter.
4077           https://bugzilla.gnome.org/show_bug.cgi?id=777409
4078
4079 2017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4080
4081         * gst/vaapi/gstvaapipostprocutil.c:
4082           vaapipostproc: use sink caps par if not requested
4083           Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
4084           is not already set.
4085           https://bugzilla.gnome.org/show_bug.cgi?id=777395
4086
4087 2017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4088
4089         * gst/vaapi/gstvaapipostproc.c:
4090         * gst/vaapi/gstvaapipostprocutil.c:
4091           vaapipostproc: set interlace mode
4092           if the vaapipostproc is configured to not do deinterlacing, the
4093           interlace-mode in the src caps should be the same as the input caps.
4094           https://bugzilla.gnome.org/show_bug.cgi?id=777395
4095
4096 2017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4097
4098         * gst/vaapi/gstvaapisink.c:
4099           vaapisink: fix gcc compiler warning
4100           warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
4101
4102 2017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4103
4104         * gst/vaapi/gstvaapisink.c:
4105           vaapisink: don't use member variable outside lock
4106           Thus a race condition segfault is avoided.
4107           Original-patch-by: Matt Staples <staples255@gmail.com>
4108           https://bugzilla.gnome.org/show_bug.cgi?id=777146
4109
4110 2017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4111
4112         * gst/vaapi/gstvaapipluginbase.c:
4113         * gst/vaapi/gstvaapipostproc.c:
4114           plugins: avoid log flood when activating pool
4115           Every time a new buffer is allocated, the pool is activated. This
4116           doesn't impact in performance since gst_buffer_pool_set_active()
4117           checks the current state of the pool. Nonetheless it logs out a
4118           message if the state is the same, and it floods the logging subsystem
4119           if it is enabled.
4120           To avoid this log flooding first the pool state is checked before
4121           changing it.
4122
4123 2017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4124
4125         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4126         * gst-libs/gst/vaapi/gstvaapidecoder.h:
4127         * gst/vaapi/gstvaapidecode.c:
4128         * gst/vaapi/gstvaapidecode.h:
4129           vaapidecode: update internal decoder sink caps
4130           When a new sink caps arrive the internal decoder state is updated
4131           and, if it is, request a downstream renegotiation.
4132           Previously, when new caps arrived the whole decoder where destroyed
4133           and recreated. Now, if the caps are compatible or has the same codec,
4134           the internal decoder is kept, but a downstream renegotiation is
4135           requested.
4136           https://bugzilla.gnome.org/show_bug.cgi?id=776979
4137
4138 2017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
4139
4140         * configure.ac:
4141           Back to development
4142
4143 === release 1.11.1 ===
4144
4145 2017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
4146
4147         * ChangeLog:
4148         * NEWS:
4149         * configure.ac:
4150         * gstreamer-vaapi.doap:
4151           Release 1.11.1
4152
4153 2017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4154
4155         * gst-libs/gst/vaapi/gstvaapiutils.c:
4156           vaapi: bump ifdef to API 0.40.0 for log redirect
4157           vaSetInfoCallback() is not released yet. It is going to appear in
4158           VA-API 0.40.0
4159
4160 2017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
4161
4162         * gst-libs/gst/vaapi/gstvaapiutils.c:
4163           vaapiutils: Fix compilation with latest and previous libva releases
4164           vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
4165           0.39.5 instead.
4166
4167 2017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4168
4169         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4170         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4171         * gst-libs/gst/vaapi/gstvaapiutils.c:
4172         * gst-libs/gst/vaapi/gstvaapiutils.h:
4173           libs: display: redirect logging at initialize
4174           Redirect libva's logs to GStreamer logging mechanism. This is
4175           particularly useful when VA is initialized, because it always logs
4176           out the drivers details.
4177           In order to achieve this a new helper function was added as a wrapper
4178           for the vaInitialize() function.
4179           https://bugzilla.gnome.org/show_bug.cgi?id=777115
4180
4181 2017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
4182
4183         * gst/vaapi/gstvaapipluginbase.c:
4184           plugins: provide at least two buffers in sink pool
4185           Adds two buffers as the default value of minimum buffer.
4186           This would be used when creating and proposing vaapi bufferpool for
4187           sink pad, hence the upstream element will keep, at least, these two
4188           buffers.
4189           https://bugzilla.gnome.org/show_bug.cgi?id=775203
4190           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4191
4192 2017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
4193
4194         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4195           libs: decoder: h264: don't update cloned attributes
4196           If the frame is a cloned picture, its PTS comes from its parent
4197           picture.  In addition, the base decoder doesn't set a valid PTS to
4198           the frame corresponding to the cloned picture.
4199           https://bugzilla.gnome.org/show_bug.cgi?id=774254
4200
4201 2017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4202
4203         * gst/vaapi/gstvaapivideomemory.c:
4204           vaapivideomemory: check for display
4205           This patch fixes the check of display, rather than check for the
4206           meta, which it is known it exists.
4207
4208 2017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4209
4210         * gst/vaapi/gstvaapivideomemory.c:
4211         * gst/vaapi/gstvaapivideomemory.h:
4212           vaapivideomemory: rename dmabuf allocator parameters
4213           Rename the parameters 'vip' and 'flags' to 'alloc_info' and
4214           'surface_alloc_flags' respectively. The purpose of this change is
4215           to auto-document those parameters.
4216           Also, aligned to this patch, the local 'alloc_info' variable was
4217           renamed as 'surface_info', because it stores the possible surface's
4218           video info, not the allocate one.
4219
4220 2017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4221
4222         * gst/vaapi/gstvaapivideomemory.c:
4223         * gst/vaapi/gstvaapivideomemory.h:
4224           vaapivideomemory: rename vip to alloc_info parameter
4225           In order to auto-document the code, this patch renames the 'vip'
4226           parameter in the functions related to gst_vaapi_video_allocator_new ()
4227           to 'alloc_info', since it declares the allocation video info from
4228           the vaapi buffer pool.
4229
4230 2017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4231
4232         * gst/vaapi/gstvaapivideomemory.c:
4233           vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
4234           Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
4235           the video format string.
4236
4237 2017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4238
4239         * gst/vaapi/gstvaapivideomemory.c:
4240           vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
4241           gst_vaapi_surface_new_with_format() is a wrapper for
4242           gst_vaapi_surface_new_full (). In this case, the former is simpler
4243           than the first. This patch changes that.
4244
4245 2017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
4246
4247         * gst/vaapi/gstvaapipostproc.c:
4248           vaapipostproc: notify if src pad caps changed
4249           If src pad caps have changed, it needs to notify it downstream. In
4250           addition, do not set passthrough if they have changed.
4251           Otherwise, transform sometimes starts processing before caps change.
4252           The passthrough value will be set in fixate later in this case.
4253           https://bugzilla.gnome.org/show_bug.cgi?id=775204
4254
4255 2016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4256
4257         * gst/vaapi/gstvaapidecodebin.c:
4258           vaapidecodebin: capsfilter to optimize negotiation
4259           Add a capsfilter forcing the caps
4260           "video/x-raw(memory:VASurface), format=(string)NV12" between the
4261           queue and the vaapipostproc so no renegotiation is required.
4262           https://bugzilla.gnome.org/show_bug.cgi?id=776175
4263
4264 2016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
4265
4266         * gst/vaapi/gstvaapivideomemory.c:
4267           vaapivideomemory: fail surface/image configuration
4268           To detect and handle errors during allocator_configure_surface_info()
4269           and allocator_conigure_image_info().
4270           https://bugzilla.gnome.org/show_bug.cgi?id=776084
4271           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4272
4273 2016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
4274
4275         * gst/vaapi/gstvaapisink.c:
4276           vaapisink: ensures raw caps at start()
4277           Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
4278           race conditions at get_caps(), especially with multiple src elements.
4279           https://bugzilla.gnome.org/show_bug.cgi?id=776303
4280
4281 2016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4282
4283         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
4284           libs: surface: fix error handling code style
4285
4286 2016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4287
4288         * gst/vaapi/gstvaapivideomemory.c:
4289           vaapivideomemory: add gst_video_info_update_from_surface()
4290           With this function is possible to refactor and remove duplicated code
4291           between dmabuf configuration and direct rendering/uploading
4292           configuration.
4293
4294 2016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4295
4296         * gst/vaapi/gstvaapivideomemory.c:
4297           vaapivideomemory: no log object at initialization
4298           When an instance of GstVaapiVideoAllocator fails at initializing, the
4299           log message should not include the allocator's object, because it is
4300           going to be unrefed.
4301
4302 2016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4303
4304         * gst/vaapi/gstvaapidecode.c:
4305           vaapidecode: lock stream when setting caps
4306
4307 2016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4308
4309         * gst/vaapi/gstvaapidecode.c:
4310           Revert "vaapidecode: implement negotiate() vmethod"
4311           This reverts commit 3285121181295c544480fc6ba756845b16285d30.
4312           videodecode's negotiate() vmethod is also called when events arrive,
4313           but this would mean that the proper configuration of sink pad might
4314           not be complete, thus we should not update the src pad.
4315           Let's keep the old non-vmethod negotitate().
4316
4317 2016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4318
4319         * gst/vaapi/gstvaapi.c:
4320           Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
4321           This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
4322
4323 2016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
4324
4325         * gst/vaapi/gstvaapiencode.c:
4326         * gst/vaapi/gstvaapiencode.h:
4327           vaapiencode: get surface formats in get_caps()
4328           Query for the supported surface formats in config at get_caps() vmethod.
4329           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4330           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4331
4332 2016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
4333
4334         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4335         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4336           libs: encoder: add gst_vaapi_encoder_get_surface_formats()
4337           This method will return the valid surface formats in the current
4338           config. If the are no VAConfig it is created with the information
4339           available.
4340           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4341           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4342
4343 2016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
4344
4345         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4346           libs: encoder: split set_context_info()
4347           Split set_context_info() adding init_context_info() which only
4348           initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
4349           required for VAConfig.
4350           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4351           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4352
4353 2016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
4354
4355         * gst-libs/gst/vaapi/gstvaapicontext.c:
4356           libs: context: skip VAContext if no frame size
4357           If GstVaapiContextInfo has just initial information, without frame's
4358           width and height, skip the creation of the VAContext, just keep the
4359           VAConfig.
4360           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4361           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4362
4363 2016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
4364
4365         * gst-libs/gst/vaapi/gstvaapicontext.c:
4366           libs: context: split context_create()
4367           Split the funcion context_create() into context_create() and
4368           config_create().
4369           Decoupling VAConfig and VAContext during context creation, we could
4370           query the VAConfig for the supported surface's formats without creating
4371           a VAContext.
4372           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4373
4374 2016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4375
4376         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4377           libs: drm: find render node in hybrid system
4378           Originally the drm backend only tried to open the first render node
4379           found. But in hybrid system this first render node might not support
4380           VA-API (propietary Nvidia driver, for example).
4381           This patch tries all the available nodes until a finding one with a
4382           VA-API supported driver.
4383           https://bugzilla.gnome.org/show_bug.cgi?id=774811
4384           Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
4385           Reza Razavi <reza@userful.com>
4386
4387 2016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4388
4389         * gst/vaapi/gstvaapivideomemory.c:
4390           vaapivideomemory: refactor code for readability
4391           Added the inlined function allocator_configure_pools() moving out code
4392           from gst_vaapi_video_allocator_new() to make clear that it is a
4393           post-initalization of the object.
4394
4395 2016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4396
4397         * gst/vaapi/gstvaapivideomemory.c:
4398           vaapivideomemory: log error if not VA image
4399           Log an error message if the test image for surface downloading
4400           cannot be allocated or mapped.
4401
4402 2016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4403
4404         * gst/vaapi/gstvaapivideomemory.c:
4405           vaapivideomemory: remove unused macros
4406           These macros are not used. Let us remove them.
4407
4408 2016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4409
4410         * gst/vaapi/gstvaapivideomemory.c:
4411         * gst/vaapi/gstvaapivideomemory.h:
4412           vaapivideomemory: rename video for allocation_info
4413           Since video_info stores the GstVideoInfo of the allocation caps,
4414           it is clear if we rename it as allocation_info, to distinguish it
4415           later from negotiation_info.
4416
4417 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
4418
4419         * gst/vaapi/gstvaapivideomemory.c:
4420         * gst/vaapi/gstvaapivideomemory.h:
4421           vaapivideomemory: add real GstVaapiDmaBufAllocator
4422           Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
4423           GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
4424           GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
4425           from GstDmaBufAllocator.
4426           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4427           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4428
4429 2016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
4430
4431         * gst/vaapi/gstvaapivideomemory.c:
4432           vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
4433           Add a helper function to initialize the gst_debug_vaapivideomemory,
4434           to use it either by the GstVaapiVideoAllocatorClass or
4435           GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
4436           Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
4437           https://bugzilla.gnome.org/show_bug.cgi?id=755072
4438
4439 2016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
4440
4441         * gst/vaapi/gstvaapiencode.c:
4442           vaapiencode: release internal encoder at stop()
4443           As the internal encoder is created at start(), let's release it at
4444           stop() vmethod, to be consistent.
4445           gst_vaapiencode_destroy() is called since it also resets the input and
4446           output states, which is something that the base class does internally
4447           after calling stop() vmethod.
4448           https://bugzilla.gnome.org/show_bug.cgi?id=769266
4449           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4450
4451 2016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
4452
4453         * common:
4454           Automatic update of common submodule
4455           From f49c55e to 39ac2f5
4456
4457 2016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
4458
4459         * gst/vaapi/gstvaapiencode.c:
4460           vaapiencode: call ensure_encoder() at start()
4461           Currently, specific encoder is created during set_format(). This might
4462           lead to race condition when creating profiles with multiple encoders.
4463           This patch moves ensure_encoder() call to start() vmethod to ensure
4464           avoiding the race condition.
4465           https://bugzilla.gnome.org/show_bug.cgi?id=773546
4466
4467 2016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4468
4469         * gst/vaapi/gstvaapidecodebin.c:
4470           vaapidecodebin: bring back dynamic configuration
4471           In commit ca0c3fd6 we remove the dynamic configuration if the bin
4472           because we assumed that the bin will be always static as it is
4473           registered.
4474           Nonetheless we were wrong, because it is possible to request, with a
4475           property, to avoid the use of the post-processor.
4476           Since we want to add a way to disable the post-processor through
4477           environment variables, this remove feature is required again.
4478           If the environment variable GST_VAAPI_DISABLE_VPP is defined the
4479           postprocessor inside of the vaapidecodebin is disabled, then
4480           vaapidecodebin is an alias of the old vaapidecode.
4481           https://bugzilla.gnome.org/show_bug.cgi?id=775041
4482
4483 2016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4484
4485         * gst/vaapi/gstvaapidecode.c:
4486           vaapidecode: implement negotiate() vmethod
4487           Instead of decorating the negotiate() method, let us override it,
4488           so the stream is locked while called.
4489           https://bugzilla.gnome.org/show_bug.cgi?id=775040
4490
4491 2016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
4492
4493         * .gitmodules:
4494           common: use https protocol for common submodule
4495           https://bugzilla.gnome.org/show_bug.cgi?id=775110
4496
4497 2016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
4498
4499         * gst-libs/gst/vaapi/Makefile.am:
4500           build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
4501           In case libva-wayland has its headers not installed in default
4502           locations (like /usr/include), the build fails to include "wayland-client.h":
4503           CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
4504           In file included from gstvaapidisplay_wayland.h:27:0,
4505           from gstvaapidisplay_egl.c:35:
4506           /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
4507           #include <wayland-client.h>
4508           As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
4509           our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
4510           for libva-wayland.pc in configure and use this in other places as well. It is thus only
4511           correct and consequent, to do it also at this spot.
4512           https://bugzilla.gnome.org/show_bug.cgi?id=773946
4513
4514 2015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4515
4516         * gst/vaapi/gstvaapivideocontext.c:
4517           vaapivideocontext: log a message if no bus
4518           Raise a warning if there is no bus when the element tries to post a
4519           message.
4520
4521 2015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4522
4523         * gst/vaapi/gstvaapisink.c:
4524           vaapisink: create display at open()
4525           Instead of creating the VA display before setting the bus to the
4526           element, it is created when the element is opened.
4527           Basically, this commit is a revert of
4528           5e5d62cac79754ba60057fc2516135aad8d7de35
4529           That was done when the GStreamer's context sharing was not mature
4530           enough as now. There is no reason to keep this hack.
4531
4532 2016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4533
4534         * gst/vaapi/gstvaapidecode.c:
4535           vaapidecode: don't add video crop meta
4536           Since the differentiation of negotiation caps and allocation caps,
4537           there is no need to add a video crop meta with the negotiation caps.
4538           Hence, removing it.
4539           https://bugzilla.gnome.org/show_bug.cgi?id=773948
4540
4541 2015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4542
4543         * gst/vaapi/gstvaapivideobuffer.c:
4544         * gst/vaapi/gstvaapivideometa.c:
4545         * gst/vaapi/gstvaapivideometa.h:
4546           remove the video converter from vaapi buffer meta
4547           Since all the video converter were deprecated in gstreamer-1.2, we don't need
4548           to handle them anymore in the vaapi's buffer meta.
4549           This patch removes its usage and the buffer meta's API for that.
4550           https://bugzilla.gnome.org/show_bug.cgi?id=745728
4551
4552 2016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4553
4554         * gst/vaapi/gstvaapipluginbase.c:
4555           plugins: destroy source pad allocator and pool
4556           First, deactivate source pad pool when the out caps change, and if so,
4557           destroy texture map, the source pad allocator and pool only if the
4558           new caps are different from the ones already set.
4559
4560 2016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4561
4562         * gst/vaapi/gstvaapipluginbase.c:
4563           plugins: don't destroy sink pad allocator
4564           Don't destroy sink pad allocator at _set_caps() because it will be done at
4565           ensure_sinkpad_buffer_pool() if it is required.
4566
4567 2016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4568
4569         * gst/vaapi/gstvaapipluginbase.c:
4570           plugins: first validate the out caps
4571           When calling _set_caps() first validate the out caps before doing
4572           anything else.
4573
4574 2016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4575
4576         * gst/vaapi/gstvaapidecode.c:
4577           vaapidecode: negotiate after destroying allocator
4578           This is related with bug 758907 when no vaapipostproc is used (no
4579           vaapidecodebin). In order to negotiate downstream we need to destroy
4580           the source pad allocator, otherwise the same allocated buffers are
4581           used, failing the mapping.
4582
4583 2016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4584
4585         * gst/vaapi/gstvaapivideomemory.c:
4586           vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
4587           Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
4588           GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
4589           was created.
4590           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4591
4592 2016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4593
4594         * gst/vaapi/gstvaapipluginbase.c:
4595           plugins: update the src pad allocator video info
4596           Update the size, stride and offset of the source pad allocator video
4597           info, so the pool could set the correct GstVideoMeta
4598           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4599
4600 2016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4601
4602         * gst/vaapi/gstvaapivideomemory.c:
4603           vaapivideomemory: add missing documentation
4604           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4605
4606 2016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4607
4608         * gst/vaapi/gstvaapipluginbase.c:
4609           plugins: use early return without goto
4610           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4611
4612 2016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4613
4614         * gst/vaapi/gstvaapipluginbase.c:
4615         * gst/vaapi/gstvaapivideomemory.c:
4616         * gst/vaapi/gstvaapivideomemory.h:
4617           plugins: add allocator to allocation query
4618           This patch adds the created allocator to the allocation query either
4619           in decide_allocation() and propose_allocation() vmehtods.
4620           With it, there's no need to set the modified allocator's size in the
4621           pool configuration.
4622           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4623
4624 2016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
4625
4626         * gst/vaapi/gstvaapivideobufferpool.c:
4627           vaapivideobufferpool: set correct buffer size
4628           We should set the correct buffer size when we are configuring the pool,
4629           otherwise the buffer will be discarded when it returns to the pool.
4630           Indeed when the ref-count of a buffer reaches zero, its pool will queue
4631           it back (and ref it) if, and only if, the buffer size matches the
4632           configured buffer size on the pool.
4633           This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
4634           https://bugzilla.gnome.org/show_bug.cgi?id=774782
4635
4636 2016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4637
4638         * gst/vaapi/gstvaapivideomemory.c:
4639           vaapivideomemory: check for memory allocator
4640           When calling gst_vaapi_video_memory_copy() the allocator of the memory
4641           to copy should be allocated by the vaapi allocator.
4642           This patch does this verification.
4643
4644 2016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4645
4646         * gst/vaapi/gstvaapivideomemory.c:
4647           vaapivideomemory: code style fixes
4648           A cosmetic commit for enhance readability of the casts and method
4649           preconditions.
4650
4651 2016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4652
4653         * gst/vaapi/gstvaapivideomemory.c:
4654           vaapivideomemory: unroll gst_vaapi_video_allocator_free()
4655           Instead of having a gst_vaapi_video_memory_free() that is only going to
4656           be called by gst_vaapi_video_allocator_free(), let's just remove the first
4657           and merged into the second.
4658
4659 2016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4660
4661         * gst/vaapi/gstvaapivideomemory.c:
4662           vaapivideomemory: avoid virtual methods casting
4663           Use the expected virtual method signatures for readability.
4664
4665 2016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4666
4667         * gst/vaapi/gstvaapivideomemory.c:
4668           vaapivideomemory: remove unimplemented methods
4669           Remove unimplemented method for allocator mem_share() and mem_is_span().
4670
4671 2016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4672
4673         * gst/vaapi/gstvaapivideomemory.c:
4674           vaapivideomemory: fail if frame map can't get plane
4675           If map() vmethod in GstVideMeta cannot get the plane data, return false,
4676           thus the caller will not try to read invalid memory.
4677           https://bugzilla.gnome.org/show_bug.cgi?id=774213
4678
4679 2016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4680
4681         * gst/vaapi/gstvaapivideomemory.c:
4682         * gst/vaapi/gstvaapivideomemory.h:
4683           vaapivideomemory: lock map and unmap operations
4684           In order to avoid race condition when two threads call map/unmap the same
4685           VA surface, this patch mutex these operations.
4686           https://bugzilla.gnome.org/show_bug.cgi?id=774213
4687
4688 2016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4689
4690         * gst/vaapi/gstvaapivideomemory.c:
4691           vaapivideomemory: refactor vaapi memory unmapping
4692           There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
4693           gst_vaapi_video_memory_unmap() when unmapping.
4694           This patch refactors both methods adding the common function
4695           unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
4696           is correctly reset.
4697           Additionally, only when mapping flag has the WRITE bit, it set the image as
4698           current, which was done in gst_video_meta_map_vaapi_memory() but no in
4699           gst_vaapi_video_memory_map().
4700           In order to make this, the mapping flags were required, so instead of
4701           overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
4702           https://bugzilla.gnome.org/show_bug.cgi?id=774213
4703
4704 2016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4705
4706         * gst/vaapi/gstvaapivideomemory.c:
4707           vaapivideomemory: refactor vaapi memory mapping
4708           There were duplicated code in gst_video_meta_map_vaapi_memory() and
4709           gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
4710           This patch refactors both methods adding the common function
4711           map_vaapi_memory().
4712           Additionally, only when flag has the READ bit it calls
4713           ensure_images_is_current(), which was done in
4714           gst_video_meta_map_vaapi_memory() but no in
4715           gst_vaapi_video_memory_map().
4716           https://bugzilla.gnome.org/show_bug.cgi?id=772151
4717
4718 2016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4719
4720         * gst/vaapi/gstvaapidecode.c:
4721           vaapidecode: unref allowed_sinkpad_caps at close()
4722           The variable member allowed_sinkpad_caps is constructed querying the
4723           current VA display. Bearing that in mind, the variable shall be freed
4724           when the VA display changes or is removed.
4725           This patch moves the freeing of allowed_sinkpad_caps to close(), when
4726           the VA display is freed.
4727
4728 2016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
4729
4730         * gst/vaapi/gstvaapisink.c:
4731           vaapisink: finish event thread at stop()
4732           The thread that handles window's events should be finished during
4733           pipeline's shutdown, otherwise it will remain alive during pipeline
4734           re-activation, leading to unexpected problems.
4735           This patch fixes failures of intensive_state_change scenario of
4736           gst-validate
4737           https://bugzilla.gnome.org/show_bug.cgi?id=774241
4738
4739 2016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4740
4741         * gst/vaapi/gstvaapipostproc.c:
4742           vaapipostproc: enhance debug message
4743           "gst_pad_push" is not a good description of the event.
4744
4745 2016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
4746
4747         * gst/vaapi/gstvaapipostproc.c:
4748           postproc: honor gst_pad_push() return value
4749           Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
4750           deadlock during seek.
4751           This patch returns the same error of gst_pad_push() and log out the
4752           return value.
4753           https://bugzilla.gnome.org/show_bug.cgi?id=774030
4754
4755 2016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4756
4757         * gst/vaapi/gstvaapidecode.c:
4758           vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
4759           In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
4760           compiled with out EGL/GLX support: it shall not support
4761           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
4762           This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
4763           allowed src caps for vaapedecode if EGL/GLX.
4764
4765 2016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4766
4767         * gst/vaapi/gstvaapivideomemory.c:
4768           vaapivideomemory: increment map counter only if succeeded
4769           Previously the frame map counter increased independently if the map succeeded
4770           or not. This leaded to critical messages and crashes if the frame was unable
4771           to be mapped, but the counter increased.
4772           This patch increases the map counter only if the map operation occurred.
4773           https://bugzilla.gnome.org/show_bug.cgi?id=773939
4774
4775 2016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4776
4777         * gst/vaapi/gstvaapipluginbase.c:
4778           plugins: set negotiation caps in src allocator
4779           When the allocator is created, it stores the allocation caps. But sometimes
4780           the "allocation caps" may be different from the "negotiation caps".
4781           In this case, the allocator should store the negotiation caps since they
4782           are the ones used for frame mapping with GstVideoMeta.
4783           When vaapispostproc is used, this is not a problem since the element is assume
4784           to resize. But when using a vaapi decoder only, with a software renderer, it
4785           fails in this case.
4786           https://bugzilla.gnome.org/show_bug.cgi?id=773323
4787
4788 2016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4789
4790         * gst/vaapi/gstvaapidecode.c:
4791         * gst/vaapi/gstvaapidecode.h:
4792           vaapidecode: generate source pad caps
4793           Just as vaapipostproc, VA decoder's context can be queried to get the possible
4794           raw formats, so, the src caps can negotiate the exact caps that the context
4795           supports.
4796
4797 2016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4798
4799         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4800         * gst-libs/gst/vaapi/gstvaapidecoder.h:
4801           libs: decoder: add _get_surface_formats()
4802           This function exposes the available formats of the surfaces in the the current
4803           context to the plugins.
4804
4805 2016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4806
4807         * gst-libs/gst/vaapi/gstvaapicontext.c:
4808         * gst-libs/gst/vaapi/gstvaapicontext.h:
4809           libs: context: ensure context formats
4810           This patch ensures to get the formats, as filter does, available in the
4811           decoder / encoder context.
4812           The context fills up the array as soon it is created, otherwise the pipeline
4813           could get stalled (perhaps this is a bug in my HSW backend).
4814           https://bugzilla.gnome.org/show_bug.cgi?id=752958
4815
4816 2016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4817
4818         * gst-libs/gst/vaapi/gstvaapifilter.c:
4819         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4820         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
4821           libs: move get_surface_formats to utils_core
4822           The query of all the supported formats for a VA config were only used by the
4823           postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
4824           negotiate a suitable raw format with downstream, we need to query these
4825           formats against the decoder's config.
4826           This patch is the first step: moves the code in filter's ensure_image() to a
4827           generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
4828           shared later by the decoder.
4829           https://bugzilla.gnome.org/show_bug.cgi?id=752958
4830
4831 2016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4832
4833         * gst/vaapi/gstvaapipluginbase.c:
4834           plugins: remove set_sinkpad_dmabuf_allocator()
4835           Since when the sink pad allocator is created, it is decided if the required
4836           one is vaapi allocator or dmabuf allocator, there is no need to force its set
4837           again.
4838
4839 2016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4840
4841         * gst/vaapi/gstvaapipluginbase.c:
4842           plugins: ensure display when getting raw caps
4843           When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
4844           meanwhile it is transforming caps. The problem is that stop() calls
4845           gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
4846           the va display is used in tranform_caps() when it is extracting the possible
4847           format conversions. This display disappearing generates warning messages.
4848           This patch holds a local reference of va display at ensure_allowed_raw_caps()
4849           hence it doesn't go away meanwhile it is used, even if the
4850           gst_vaapi_plugin_base_close() is called in other thread.
4851           https://bugzilla.gnome.org/show_bug.cgi?id=773593
4852
4853 2016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4854
4855         * gst/vaapi/gstvaapiencode_h264.c:
4856         * gst/vaapi/gstvaapiencode_h265.c:
4857           plugins: fix code style for errors
4858
4859 2016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4860
4861         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
4862         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
4863         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
4864         * gst-libs/gst/vaapi/gstvaapicontext.c:
4865         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
4866         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4867         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
4868         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4869         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4870         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
4871         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
4872         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
4873         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
4874         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
4875         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4876         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
4877         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4878         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4879         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4880         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
4881         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
4882         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
4883         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
4884         * gst-libs/gst/vaapi/gstvaapifilter.c:
4885         * gst-libs/gst/vaapi/gstvaapiimage.c:
4886         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
4887         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
4888         * gst-libs/gst/vaapi/gstvaapipixmap.c:
4889         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
4890         * gst-libs/gst/vaapi/gstvaapisurface.c:
4891         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
4892         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
4893         * gst-libs/gst/vaapi/gstvaapitexture.c:
4894         * gst-libs/gst/vaapi/gstvaapiutils.c:
4895         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
4896         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
4897         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4898         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
4899         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4900           libs: fix code style for errors
4901
4902 2016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4903
4904         * gst/vaapi/gstvaapipluginbase.c:
4905         * gst/vaapi/gstvaapivideocontext.c:
4906           plugins: update GstGL deprecated symbol
4907           GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
4908
4909 2016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4910
4911         * gst/vaapi/gstvaapipluginbase.c:
4912           plugins: direct render when raw video
4913           Enable the direct rendering with linear surfaces if the negotiated src caps
4914           are video/x-raw without features.
4915           Pass also the caps, since they are needed to know the requested caps features.
4916
4917 2016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4918
4919         * gst/vaapi/gstvaapipluginbase.c:
4920           plugins: move src allocator error to instantiator
4921           Just as we did in ensure_sinkpad_allocator(), let's move the error message
4922           into the ensure_srcpad_allocator() from the caller,
4923           gst_vaapi_plugin_base_decide_allocation()
4924
4925 2016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4926
4927         * gst/vaapi/gstvaapipluginbase.c:
4928           plugins: enable direct upload if raw video
4929           Enable the direct upload with linear surfaces if the negotiated sink caps are
4930           video/x-raw without features.
4931
4932 2016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4933
4934         * gst/vaapi/gstvaapipluginutil.c:
4935         * gst/vaapi/gstvaapipluginutil.h:
4936           pluginutil: add gst_caps_is_video_raw()
4937
4938 2016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4939
4940         * gst/vaapi/gstvaapipluginbase.c:
4941           plugins: receive caps in ensure_sinkpad_allocator()
4942           Instead of receiving the GstVideoInfo structure as parameter, get the original
4943           GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
4944           which allocator instantiate.
4945
4946 2016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4947
4948         * gst/vaapi/gstvaapivideomemory.c:
4949           vaapivideomemory: destroy derived image at unmap
4950           If the allocator was configured to use direct upload or rendering, the
4951           generated derived image created at mapping needs to be destroyed after
4952           unmapping, because, in order to process the surface, it should not be marked
4953           as "busy" by the driver.
4954
4955 2016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4956
4957         * gst/vaapi/gstvaapivideomemory.c:
4958           vaapivideomemory: enhance logs for direct modes
4959           Print, conditionally, only the enabled direct mode.
4960
4961 2016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4962
4963         * gst/vaapi/gstvaapivideomemory.c:
4964         * gst/vaapi/gstvaapivideomemory.h:
4965           vaapivideomemory: add direct upload flag
4966           Adds the direct-upload flag in the GstVaapiVideoAllocator and
4967           GstVaapiVideoMemory.
4968           It still doesn't apply any functional change.
4969
4970 2016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4971
4972         * gst/vaapi/gstvaapipluginbase.c:
4973         * gst/vaapi/gstvaapivideomemory.c:
4974         * gst/vaapi/gstvaapivideomemory.h:
4975           vaapivideomemory: set direct rendering at run-time
4976           The way to experiment with the direct rendering is through and internal
4977           compiler pre-processor flag.
4978           The current change set enables a way to specified at run-time, as a flag
4979           passed to the allocator at instanciation time.
4980
4981 2016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4982
4983         * gst/vaapi/gstvaapivideomemory.c:
4984           vaapivideomemory: log in perf category when copy
4985           Log in performance category when the derive image handling fails, falling back
4986           to memory copy.
4987
4988 2016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4989
4990         * gst/vaapi/gstvaapivideomemory.c:
4991           vaapivideomemory: error log is derive image fails
4992           Instead of a silently failure of the derive image, this patch log an error
4993           message according to the failure.
4994
4995 2016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
4996
4997         * gst/vaapi/gstvaapivideomemory.c:
4998           vaapivideomemory: store surface alloc flags in qdata
4999           For sake of consistency, we should add the requested surface allocation flags
5000           to the object's qdata structure.
5001
5002 2016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5003
5004         * gst/vaapi/gstvaapivideomemory.c:
5005           vaapivideomemory: category init when object define
5006           Move the Gstreamer debug category initialize to the GObject definition.
5007
5008 2016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5009
5010         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
5011           libs: vaapitexturemap: trivial code-style fix
5012
5013 2016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5014
5015         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5016           libs: display: egl: avoid recreate native display
5017           Instead of passing the native descriptor of the display, just pass the received
5018           GstVaapiDisplay and reuse it.
5019
5020 2016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5021
5022         * gst/vaapi/gstvaapipluginbase.c:
5023           plugins: log the GstVaapiDisplay name
5024           Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
5025           name. Log it instead of the memory address.
5026
5027 2016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
5028
5029         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
5030           libs: window: egl: pass native va display
5031           When creating a GstVaapiWindowEGL, it also creates native window by its own
5032           native display. It should pass the native display, either X11 or Wayland.
5033           https://bugzilla.gnome.org/show_bug.cgi?id=768266
5034
5035 2016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
5036
5037         * gst-libs/gst/vaapi/gstvaapidebug.h:
5038         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5039         * gst-libs/gst/vaapi/gstvaapidisplay.h:
5040         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
5041         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
5042         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
5043         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5044         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
5045         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
5046         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
5047         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
5048         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
5049         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
5050         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5051         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
5052         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
5053         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
5054         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
5055         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
5056         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
5057         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
5058         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
5059         * gst/vaapi/gstvaapivideocontext.c:
5060           libs: display: GstVaapiDisplay as GstObject descendant
5061           This patch is to change the inheritance of GstVaapiDisplay to GstObject,
5062           instead of GstVaapiMiniObject. In this way we can use all the available
5063           infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
5064           In addition, a new debug category for GstVaapiDisplay is created to make it
5065           easier to trace debug messages. It is named "vaapidisplay" and it transverse
5066           all the VA display backends (DRM, GLX, EGL, Wayland, ...)
5067           This patch is a step forward to expose GstVaapiDisplay for users in a future
5068           library.
5069           https://bugzilla.gnome.org/show_bug.cgi?id=768266
5070           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5071
5072 === release 1.11.0 ===
5073
5074 2016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
5075
5076         * configure.ac:
5077           Back to development
5078
5079 === release 1.10.0 ===
5080
5081 2016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
5082
5083         * ChangeLog:
5084         * NEWS:
5085         * configure.ac:
5086         * gstreamer-vaapi.doap:
5087           Release 1.10.0
5088
5089 2016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5090
5091         * gst/vaapi/gstvaapidecodebin.c:
5092           vaapidecodebin: resurrect disable-vpp property
5093           https://bugzilla.gnome.org/show_bug.cgi?id=773589
5094
5095 2016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5096
5097         * gst/vaapi/gstvaapidecodebin.c:
5098           vaapidecodebin: name the internal queue
5099           https://bugzilla.gnome.org/show_bug.cgi?id=773589
5100
5101 2016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5102
5103         * gst/vaapi/gstvaapidecodebin.c:
5104         * gst/vaapi/gstvaapidecodebin.h:
5105           vaapidecodebin: remove unused variables
5106           Since vaapipostproc is only registered if the driver supports it, all the
5107           support for dynamic loading were removed. Though some leftovers remained.
5108           https://bugzilla.gnome.org/show_bug.cgi?id=773589
5109
5110 2016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5111
5112         * docs/plugins/Makefile.am:
5113         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
5114         * docs/plugins/running.xml:
5115           docs: document environment variables
5116           https://bugzilla.gnome.org/show_bug.cgi?id=773544
5117
5118 2016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5119
5120         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
5121         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
5122         * gst/vaapi/Makefile.am:
5123         * gst/vaapi/gstvaapidecode.c:
5124         * gst/vaapi/gstvaapidecodebin.c:
5125         * gst/vaapi/gstvaapidecodedoc.c:
5126           docs: replace vaapidecode with each codec
5127           In the spirit of the codec split, this patch removes the documentation of
5128           vaapidecode and adds a page per each possible decoder.
5129           Nonetheless, only those available in the compilation system are going to be
5130           instrospected, because the rest are not registered.
5131
5132 2016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5133
5134         * gst/vaapi/gstvaapipluginutil.c:
5135         * gst/vaapi/gstvaapivideobuffer.c:
5136         * gst/vaapi/gstvaapivideometa.c:
5137           docs: add missing long descriptions
5138
5139 2016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5140
5141         * gst/vaapi/gstvaapipostproc.c:
5142           vaapipostproc: use GST_*_OBJECT when possible
5143           Since we can have several vaapipostproc operating in a pipeline, it is useful
5144           to know which one is generating the logging message.
5145           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5146
5147 2016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5148
5149         * gst/vaapi/gstvaapidecode.c:
5150         * gst/vaapi/gstvaapidecode.h:
5151           vaapidecode: rename member to allowed_sinkpad_caps
5152           vaapidecode has a member named allowed_caps, but this name is not enough
5153           explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
5154           No functional changes were included.
5155           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5156
5157 2016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5158
5159         * gst/vaapi/gstvaapiencode_h264.c:
5160         * gst/vaapi/gstvaapiencode_h265.c:
5161         * gst/vaapi/gstvaapisink.c:
5162         * gst/vaapi/gstvaapivideomemory.c:
5163         * gst/vaapi/gstvaapivideometa.c:
5164         * gst/vaapi/gstvaapivideometa_texture.c:
5165           plugins: fix code style for errors
5166           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5167
5168 2016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5169
5170         * gst/vaapi/gstvaapivideomemory.c:
5171           vaapivideomemory: comment style
5172           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5173
5174 2016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5175
5176         * gst/vaapi/gstvaapivideomemory.c:
5177         * gst/vaapi/gstvaapivideomemory.h:
5178           vaapivideomemory: rename input parameter
5179           In order to clarify the use of flag as input parameter, it is renamed to
5180           surface_alloc_flag, since it is used when creating a VA surface with certain
5181           properties.
5182           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5183
5184 2016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5185
5186         * gst/vaapi/gstvaapidecode.c:
5187           vaapidecode: rename element description
5188           So encoders and decoders have similar descriptions.
5189           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5190
5191 2016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5192
5193         * gst/vaapi/gstvaapiencode_h264.c:
5194         * gst/vaapi/gstvaapiencode_h265.c:
5195           vaapiencode: h264, h265: rename codec name
5196           So encoder and decoders have the same codec name.
5197           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5198
5199 2016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5200
5201         * gst/vaapi/gstvaapipluginbase.c:
5202           plugins: simplify code
5203           Merge two lines of variable declarations.
5204           https://bugzilla.gnome.org/show_bug.cgi?id=773497
5205
5206 2016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
5207
5208         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5209         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
5210         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
5211         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
5212           libs: minor correction for logical consistency
5213           GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
5214           use its methods, even though it doesn't change functionality.
5215           GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
5216           GstVaapiObject, hence its methods shall be used.
5217           https://bugzilla.gnome.org/show_bug.cgi?id=772554
5218
5219 2016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
5220
5221         * gst/vaapi/gstvaapivideomemory.c:
5222           vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
5223           In short GstFdMemory is configured to call close when using
5224           GstDmabufMemory.
5225           https://bugzilla.gnome.org/show_bug.cgi?id=755072
5226
5227 2016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5228
5229         * configure.ac:
5230         * gst-libs/gst/vaapi/Makefile.am:
5231           build: clean up the dlopen usage
5232
5233 2016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5234
5235         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5236         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5237           encoder: h264,h265: fix regression in offset count
5238           In commit dc35dafa a bug was introduced because I assumed that
5239           GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
5240           https://bugzilla.gnome.org/show_bug.cgi?id=772259
5241
5242 2016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5243
5244         * README:
5245           docs: update README
5246
5247 2016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5248
5249         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5250           libs: display: egl: remove unused header include
5251           The header gmodule.h is not used since the library dynamic loading for EGL
5252           display was removed.
5253           https://bugzilla.gnome.org/show_bug.cgi?id=772599
5254
5255 === release 1.9.90 ===
5256
5257 2016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
5258
5259         * ChangeLog:
5260         * NEWS:
5261         * common:
5262         * configure.ac:
5263         * gstreamer-vaapi.doap:
5264           Release 1.9.90
5265
5266 2016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
5267
5268         * gst/vaapi/gstvaapidecode.c:
5269         * gst/vaapi/gstvaapidecodebin.c:
5270         * gst/vaapi/gstvaapiencode_h264.c:
5271         * gst/vaapi/gstvaapiencode_h265.c:
5272         * gst/vaapi/gstvaapiencode_jpeg.c:
5273         * gst/vaapi/gstvaapiencode_mpeg2.c:
5274         * gst/vaapi/gstvaapiencode_vp8.c:
5275         * gst/vaapi/gstvaapipostproc.c:
5276         * gst/vaapi/gstvaapisink.c:
5277           vaapi: use new gst_element_class_add_static_pad_template()
5278           https://bugzilla.gnome.org/show_bug.cgi?id=763083
5279           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5280
5281 2016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
5282
5283         * gst/vaapi/gstvaapipluginbase.c:
5284           plugins: reset textures at negotiation/shutdown
5285           When caps reconfiguration is called, the new downstream frame size might be
5286           different. Thus, if the downstream caps change,the display's texture map is
5287           reset.
5288           In addition, during pipeline shutdown, textures in texture map have to be
5289           released, since each one have a reference to the GstVaapiDisplay object, which
5290           is a dangerous circular reference.
5291           https://bugzilla.gnome.org/show_bug.cgi?id=769293
5292           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5293
5294 2016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
5295
5296         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5297         * gst-libs/gst/vaapi/gstvaapidisplay.h:
5298         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5299         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
5300         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
5301         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
5302         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
5303         * gst/vaapi/gstvaapivideometa_texture.c:
5304           libs: display{egl,glx}: cache GstVaapiTextures
5305           instances when created and reuse
5306           This patch improves performance when glimagesink uploads a GL texture.
5307           It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
5308           instance of GstVaapiTextureMap, so our internal texture structure can be found
5309           by matching the GL texture id for each frame upload process, avoiding the
5310           internal texture structure creation and its following destruction.
5311           https://bugzilla.gnome.org/show_bug.cgi?id=769293
5312           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5313
5314 2016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
5315
5316         * gst-libs/gst/vaapi/Makefile.am:
5317         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
5318         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
5319           libs: vaapitexturemap: implement GstVaapiTextureMap
5320           Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
5321           reused. Internally it is a hash table.
5322           Note that it is GstObject based rather than GstVaapiObject, as part of the future
5323           converstion to GstObject of most of the code.
5324           https://bugzilla.gnome.org/show_bug.cgi?id=769293
5325           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5326
5327 2016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5328
5329         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5330           encoder: vp8: Increase the allocation size for coded buffer
5331           We are not getting enough compression for some streams and
5332           encoded frame end up with more size than allocated.
5333           Assuming a compression ratio of 4, which should be good enough
5334           for holding the frames.
5335           https://bugzilla.gnome.org/show_bug.cgi?id=771528
5336
5337 2016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5338
5339         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
5340           encoder: vp9: Fix refresh frame flag setting
5341           While doing the mode-1 referece picture selection,
5342           the circular buffer logic was not correctly setting the
5343           refresh frame flags as per VP9 spec.
5344           Make sure refresh_flag[0] get updated correclty after
5345           each cycle of GST_VP9_REF_FRAMES.
5346           https://bugzilla.gnome.org/show_bug.cgi?id=771507
5347
5348 2016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5349
5350         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5351           vaapidecode: codec_data minimal size is 7
5352           When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
5353           stream, not in the codec_data, so the size of codec_data might be 7.
5354           This patch reduces the minimal size of the codec_data buffer from 8 to 7.
5355           https://bugzilla.gnome.org/show_bug.cgi?id=771441
5356
5357 2016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5358
5359         * gst/vaapi/gstvaapidecode.c:
5360           vaapidecode: reset decoder hard when set_format()
5361           set_format() is called by upstream when the stream capabilites has changed.
5362           Before, if the new stream is compatible with the old one the VA decoder was
5363           not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
5364           when the upstreamer parsers gets more details of the stream, such as the
5365           framerate. Hence, when the src caps are negotiates, the further sink caps
5366           updates are ignored.
5367           This patch forces the VA decoder destroying and recreation when set_format()
5368           is called.
5369           https://bugzilla.gnome.org/show_bug.cgi?id=770921
5370
5371 2016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
5372
5373         * configure.ac:
5374           configure: Depend on gstreamer 1.9.2.1
5375
5376 2016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5377
5378         * gst/vaapi/gstvaapivideomemory.c:
5379           Revert "vaapivideomemory: load VA Image when mapping to write"
5380           This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
5381
5382 2016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
5383
5384         * common:
5385           Automatic update of common submodule
5386           From b18d820 to f980fd9
5387
5388 2016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
5389
5390         * common:
5391           Automatic update of common submodule
5392           From f49c55e to b18d820
5393
5394 2016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
5395
5396         * gst/vaapi/gstvaapipluginbase.c:
5397           plugins: set allocator's image size to sinkpad bufferpool
5398           Otherwise the buffer is always ditched by the bufferpool, losing performance.
5399           https://bugzilla.gnome.org/show_bug.cgi?id=771035
5400
5401 2016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5402
5403         * gst-libs/gst/vaapi/gstvaapisurface.c:
5404           libs: surface: ensure composite overlay is not bigger
5405           Ensure the composition overlay rectangle (subtitles) is not bigger than
5406           the surface where it is going to be composited and rendered.
5407           https://bugzilla.gnome.org/show_bug.cgi?id=766978
5408
5409 2016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
5410
5411         * gst/vaapi/gstvaapivideomemory.c:
5412           vaapivideomemory: load VA Image when mapping to write
5413           When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
5414           ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
5415           in this case.
5416           https://bugzilla.gnome.org/show_bug.cgi?id=766978
5417
5418 2016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5419
5420         * gst/vaapi/gstvaapidecode.c:
5421           vaapidecode: merge vc1 and wmv3 elements
5422           This patch merges vaapivc1dec and vaapiwmv3dec into a single
5423           vaapivc1dec. Also, removed the WMVA format, since it is not
5424           supported by libva.
5425           https://bugzilla.gnome.org/show_bug.cgi?id=734093
5426
5427 2016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5428
5429         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5430           decoder: vc1: fails only on advanced profile
5431           In commit 2eb4394 the frame coding mode was verified for progressive
5432           regardless the profile. But the FCM is only valid in the advanced
5433           profile. This patch checks for the advanced profile before verifying FCM for
5434           progressive.
5435           https://bugzilla.gnome.org/show_bug.cgi?id=769250
5436
5437 2016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5438
5439         * gst/vaapi/gstvaapi.c:
5440           vaapi: DISPLAY envvar as dependency
5441           In a multiple video cards system, a X11 environment may have different VA
5442           capabilities. This patch tracks the DISPLAY environment variable to
5443           invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
5444           https://bugzilla.gnome.org/show_bug.cgi?id=770357
5445
5446 2016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5447
5448         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5449           decoder: vc1: Fail only on actual interlaced frames
5450           In the earlier patch:
5451           f31d9f3 decoder: vc1: Print error on interlaced content
5452           Decoding would error out if the interlace flag was set in the
5453           sequence bdu. This isn't quite right because a video can have this
5454           flag set and yet not have any interlaced pictures.
5455           Here instead we error out when either parsing a field bdu or
5456           decoding a frame bdu which has fcm set to anything other than
5457           progressive.
5458           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
5459           https://bugzilla.gnome.org/show_bug.cgi?id=769250
5460
5461 2016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
5462
5463         * configure.ac:
5464           Back to development
5465
5466 === release 1.9.2 ===
5467
5468 2016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
5469
5470         * ChangeLog:
5471         * NEWS:
5472         * configure.ac:
5473         * gstreamer-vaapi.doap:
5474           Release 1.9.2
5475
5476 2016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
5477
5478         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5479           decoder: vc1: Print error on interlaced content
5480           Interlaced video is as yet unsupported in the vc1 element. Print
5481           an error to make that more obvious.
5482           https://bugzilla.gnome.org/show_bug.cgi?id=769250
5483
5484 2016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5485
5486         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5487           encoder: h264: fix C90 mixed declarations and code
5488           Commit 4259d1a introduced this compilation error. This patch fixes it.
5489
5490 2016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5491
5492         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5493         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5494         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5495         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
5496           encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
5497           Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
5498           to avoid overflows, underflows and loss of precision.
5499           https://bugzilla.gnome.org/show_bug.cgi?id=768458
5500
5501 2016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5502
5503         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5504         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5505           vaapiencode: h264,h265: validate fps numerator
5506           Validate that fps numerator is non-zero so it can be used to calculate
5507           the duration of the B frame.
5508           Also it gst_util_uint64_scale() is used instead of normal arithmetic in
5509           order to aviod overflows, underflows and loss of precision.
5510           https://bugzilla.gnome.org/show_bug.cgi?id=768458
5511
5512 2016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
5513
5514         * gst/vaapi/gstvaapi.c:
5515           encoders: demote to RANK_NONE since not fit for autoplugging yet
5516           Encoders claim to support a whole bunch of input formats but then
5517           just error out if the format is not actually supported, even if
5518           there's a converter in front. This means they're not fit for
5519           autoplugging in encodebin or camerabin yet and therefore should
5520           not have a rank. People can still use them in custom pipelines.
5521           https://bugzilla.gnome.org/show_bug.cgi?id=769266
5522
5523 2016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5524
5525         * gst/vaapi/gstvaapipluginbase.c:
5526           plugins: check dmabuf-import for sink pad allocator
5527           Check earlier if upstream video source has activated the dmabuf-import
5528           io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
5529           new allocator.
5530
5531 2016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5532
5533         * gst/vaapi/gstvaapipluginbase.c:
5534           plugins: reset allocators if video info changed
5535           If the frame size or format, change, the allocators are reset, so a new ones
5536           can be created with the new video info.
5537
5538 2016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5539
5540         * gst/vaapi/gstvaapipluginbase.c:
5541           plugins: remove sink pad allocator if caps change
5542           If the negotiated sinkpad caps change, destroy the assignated allocator,
5543           because it is not valid anymore.
5544
5545 2016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5546
5547         * gst/vaapi/gstvaapipluginutil.c:
5548         * gst/vaapi/gstvaapipluginutil.h:
5549           pluginutil: const params to gst_video_info_changed()
5550           Since they are not modified, we should mark them as const.
5551
5552 2016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5553
5554         * gst/vaapi/gstvaapipluginbase.c:
5555         * gst/vaapi/gstvaapivideomemory.c:
5556         * gst/vaapi/gstvaapivideomemory.h:
5557           gstvaapivideomemory: allocator's image size getter
5558           Add the method gst_allocator_get_vaapi_image_size() for the
5559           GstVaapiVideoAllocator, which gets the size of the allocated images with the
5560           current video info.
5561           This method replaces the direct call to the allocator's image info when the
5562           pool is configured.
5563
5564 2016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
5565
5566         * gst/vaapi/gstvaapipluginbase.c:
5567           plugins: update buffer pool size with new allocator's image size
5568           Depends on media, video size is sometimes updated with new allocator.
5569           It leads to dismatch between bufferpool's set size and real allocated buffer size.
5570           In this case, it causes every buffer is freed during release in bufferpool,
5571           which should be reused. This affects performance.
5572           https://bugzilla.gnome.org/show_bug.cgi?id=769248
5573
5574 2016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5575
5576         * configure.ac:
5577           configure: remove gmodule-2.0 EGL dependency
5578           Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
5579           thus the dependency to gmodule-2.0 is not mandatory anymore.
5580
5581 2016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
5582
5583         * configure.ac:
5584           configure: Fix non-fatal PKG_CHECK_MODULES invocations
5585           Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
5586           the package is missing, but action-if-not-found was given as an empty
5587           string which still causes the default action to run, which halts
5588           execution.
5589           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
5590           https://bugzilla.gnome.org/show_bug.cgi?id=769237
5591
5592 2016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5593
5594         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5595           libs: egl: remove dynamic library loading code
5596           Since the upstream of gstreamer-vaapi, the library is not a public shared
5597           object anymore. But the EGL support depended on this dynamic library, so the
5598           EGL support was broken.
5599           This patch removes the dynamic library loading code and instantiates the
5600           EGL display using either X11 or Wayland if available.
5601           https://bugzilla.gnome.org/show_bug.cgi?id=767203
5602
5603 2016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5604
5605         * gst/vaapi/gstvaapi.c:
5606         * gst/vaapi/gstvaapidecode.c:
5607         * gst/vaapi/gstvaapidecode.h:
5608           vaapidecode: register only the available decoders
5609           In order to register only the available decoders, this patch queries the
5610           created test VA display, which uses the currently used back-end (X11, Wayland,
5611           DRM, …) on the used display device.
5612           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5613
5614 2016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5615
5616         * gst/vaapi/gstvaapi.c:
5617         * gst/vaapi/gstvaapipluginutil.c:
5618         * gst/vaapi/gstvaapipluginutil.h:
5619           vaapi: register only the available encoders
5620           In order to register only the available encoders, this patch queries the
5621           created test VA display, which uses the currently used back-end (X11,
5622           Wayland, DRM, …) on the used display device.
5623           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5624
5625 2016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5626
5627         * gst/vaapi/gstvaapidecode.c:
5628         * gst/vaapi/gstvaapidecodebin.c:
5629           vaapidecode: split all the codecs
5630           Split the vaapidecode to all the supported codecs with the format
5631           vaapi{codec}dec.
5632           vaapidecode is stil registered as a GObject type, but not as a
5633           GStreamer feature, so it can be used internally by vaapidecodebin without
5634           changing its code too much.
5635           https://bugzilla.gnome.org/show_bug.cgi?id=734093
5636
5637 2016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5638
5639         * gst/vaapi/gstvaapidecodebin.c:
5640           vaapidecodebin: simplify the code
5641           Since the elements dependant of the VA video processor are now only registered
5642           if it is available, vaapidecodebin code can be simplified a lot, removing all
5643           the code required to check if the VA video processor was available.
5644           https://bugzilla.gnome.org/show_bug.cgi?id=768899
5645
5646 2016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5647
5648         * gst/vaapi/gstvaapidecode.c:
5649           vaapidecode: delay the GstVaapiDisplay instantiating
5650           Delay the GstVaapiDisplay instantiating until when changing the state from
5651           READY to PAUSE. In this way the element has more chances to find an already
5652           created GstVaapiDisplay, or a GL context, in the pipeline.
5653           https://bugzilla.gnome.org/show_bug.cgi?id=766206
5654
5655 2016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5656
5657         * gst/vaapi/gstvaapipluginutil.c:
5658           pluginutil: set GLX display type
5659           The function gst_vaapi_create_display_from_gl_context() cretes a
5660           GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
5661           when the GL platform was GLX, but a plain X11 VA display.
5662           This patch fixes that, by querying the GL platform earlier.
5663           https://bugzilla.gnome.org/show_bug.cgi?id=766206
5664
5665 2016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5666
5667         * gst/vaapi/gstvaapipluginbase.c:
5668         * gst/vaapi/gstvaapivideocontext.c:
5669         * gst/vaapi/gstvaapivideocontext.h:
5670           plugins: add gst_vaapi_plugin_base_find_gl_context()
5671           Using the GstContext mechanism, it is possible to find if the pipeline
5672           shares a GstGLContext, even if we are not to negotiating GLTextureUpload
5673           meta. This is interesting because we could negotiate system memory caps
5674           feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
5675           https://bugzilla.gnome.org/show_bug.cgi?id=766206
5676
5677 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5678
5679         * gst/vaapi/gstvaapipluginbase.c:
5680         * gst/vaapi/gstvaapipluginbase.h:
5681           plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
5682           Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
5683           it is deleted.
5684
5685 2016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5686
5687         * gst/vaapi/gstvaapipluginbase.h:
5688           plugins: remove common change_state() vmethod
5689           Remove the common change_state() vmethod for all the plugins, since no one is
5690           using it.
5691
5692 2016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5693
5694         * gst/vaapi/gstvaapidecode.c:
5695           vaapidecode: remove change_state() vmethod
5696           Since the driver checkup is done at registering, there is no need to do it
5697           when changing the element state from NULL to READY. This patch remove this
5698           vmethod from vaapidecode.
5699
5700 2016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5701
5702         * gst/vaapi/gstvaapi.c:
5703           vaapi: register vaapipostproc only if supported
5704           Query the GstVaapiDisplay to know if the driver supports video
5705           postprocessing. If does, then register vaapipostproc and vaapidecodebin
5706           elements.
5707           This patch will simplify the design of vaapidecodebin.
5708           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5709
5710 2016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5711
5712         * gst/vaapi/gstvaapi.c:
5713           vaapi: don't register if VA driver is unsupported
5714           Using the test VA display, the driver name is queried, and if it is not
5715           white-listed, the plugin rejects to register any element.
5716           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5717
5718 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5719
5720         * gst/vaapi/gstvaapipluginbase.c:
5721         * gst/vaapi/gstvaapipluginutil.c:
5722         * gst/vaapi/gstvaapipluginutil.h:
5723           plugins: add gst_vaapi_driver_is_whitelisted()
5724           Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
5725           new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
5726           when registering the plugin's feature set with the test VA display.
5727           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5728
5729 2016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5730
5731         * gst/vaapi/gstvaapi.c:
5732           vaapi: instantiate a VA display when registering
5733           This patch tries to instantiate a GstVaapiDisplay when registering the plugin
5734           features, if it fails, no gstreamer-vaapi element is registering.
5735           The purpose of this patch is to avoid a situation where the user has
5736           gstreamer-vaapi installed but their VA-API setup is not functional, which may
5737           lead to unexpected behavior.
5738           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5739
5740 2016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5741
5742         * configure.ac:
5743         * gst/vaapi/gstvaapi.c:
5744           vaapi: declare external dependencies
5745           There are two main external dependencies that define the feature set of this
5746           plugin: a) the kernel and b) the VA driver
5747           This patch tracks both dependencies, if any of them change, GStreamer will
5748           re-inspect the plugin.
5749           The kernel is tracked through the device files /dev/dri/card*
5750           The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
5751           where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
5752           the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
5753           since they modify the driver lookup.
5754           Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
5755           https://bugzilla.gnome.org/show_bug.cgi?id=724352
5756
5757 2016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5758
5759         * gst/vaapi/gstvaapidecode.c:
5760           vaapidecode: remove unneeded initializations
5761           GObject's memory is set to zero, so there is no need to initialize to zero or
5762           NULL it's class variables.
5763
5764 2016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5765
5766         * gst/vaapi/gstvaapipluginbase.h:
5767           plugins: remove undefined macros
5768
5769 2016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5770
5771         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
5772           Revert "gstvaapisurface_drm: release image when done"
5773           This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
5774           372a03a9e38acbf435eb80bf31d9a9844069e504.
5775           While the dmabuf handle is exported, the derive image must exist, otherwise
5776           the image's VA buffer is invalid, thus the dmabuf handle is never released,
5777           leading into a file descriptors leak.
5778
5779 2016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5780
5781         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5782           encoder: h265: fix code-style
5783
5784 2016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5785
5786         * gst/vaapi/gstvaapipostproc.c:
5787           vaapipostproc: update filters at color balance
5788           This is a fix for a regression of previous commit, which updates the filters
5789           only when the property is set, because it is also required to update the
5790           filter when the color balance interface change its values.
5791
5792 2016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
5793
5794         * gst/vaapi/gstvaapipostproc.c:
5795         * gst/vaapi/gstvaapipostproc.h:
5796           vaapipostproc: make it enable/disable pass-through mode
5797           In case that sink caps and src caps are same, and no filtering parameter set,
5798           pass-through mode is enabled.
5799           If new filtering parameter is set during playback, it makes it reconfiguring,
5800           so that pass-through mode is changed
5801           In addition, updating filter is performed during reconfiguration, if needed.
5802           https://bugzilla.gnome.org/show_bug.cgi?id=751876
5803
5804 2016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
5805
5806         * gst-libs/gst/vaapi/gstvaapifilter.c:
5807         * gst-libs/gst/vaapi/gstvaapifilter.h:
5808         * gst/vaapi/gstvaapipostproc.c:
5809           vaapipostproc: checking and updating filter parameter only when it's set
5810           This patch is to avoid checking filter value at every frame.
5811           https://bugzilla.gnome.org/show_bug.cgi?id=751876
5812
5813 2016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
5814
5815         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5816           decoder: h265: handle the SEI NAL units included in codec_data
5817           The prefix/suffix SEI nal units can appear in codec_data too
5818           which weren't handled before. Parse these SEI headers to
5819           fix the segfault.
5820           https://bugzilla.gnome.org/show_bug.cgi?id=768544
5821
5822 2016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5823
5824         * docs/plugins/Makefile.am:
5825           build: doc: do not redefine MAINTAINERCLEANFILES
5826           MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
5827           overload it, the files should be added.
5828
5829 2016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
5830
5831         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5832           encoder: h264: Fix MVC encode while enabling dct8x8
5833           Pack the transform_8x8_mode_flag and other necessary rbsp data
5834           in packed_pps header for MVC encode.
5835           https://bugzilla.gnome.org/show_bug.cgi?id=768647
5836
5837 2016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5838
5839         * gst/vaapi/gstvaapisink.c:
5840           vaapisink: demote a debug message to trace
5841           Reduces noise when debugging.
5842
5843 2016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
5844
5845         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5846           wayland: Error check before using cached wl_display
5847           A planar(or some other) buffer allocation may fail on the driver, then
5848           the wayland connection becomes invalid, not able to send request or
5849           receive any event. So we need to set up a new wayland connection if
5850           there's an error detected on the cached wl_display.
5851           https://bugzilla.gnome.org/show_bug.cgi?id=768761
5852           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5853
5854 2016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
5855
5856         * common:
5857           Automatic update of common submodule
5858           From ac2f647 to f49c55e
5859
5860 2016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5861
5862         * gst/vaapi/gstvaapiencode.c:
5863           vaapiencode: demote a log to trace level
5864           Removes noise when debugging.
5865
5866 2016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
5867
5868         * gst/vaapi/gstvaapiencode.c:
5869           vaapiencode: implement flush() vmethod
5870           In order to handle correctly seek and other operations, vaapiencode should
5871           flush all the remaining data from the encoder without pushing it downstream.
5872           This patch implements the flush() vmethod, only after of pausing the
5873           source pad task, and restarting it again after the flush stop.
5874           https://bugzilla.gnome.org/show_bug.cgi?id=767176
5875           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5876
5877 2016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5878
5879         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5880           decoder: vc1: flush dpb only if opened
5881           Flush the decode picture buffer, if and only if, the decoder is
5882           started. Otherwise the dpb structure might be NULL.
5883           https://bugzilla.gnome.org/show_bug.cgi?id=742922
5884
5885 2016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
5886
5887         * gst/vaapi/gstvaapidecode.c:
5888         * gst/vaapi/gstvaapidecode.h:
5889           vaapidecode: drop non-keyframe in reverse playback
5890           To avoid surface-exhausted situation during reverse playback,
5891           drop frames except for key frame.
5892           Also, to avoid the corruption of the parser state, flush() vmethod
5893           doesn't destroy the VA decoder when playing in reverse.
5894           https://bugzilla.gnome.org/show_bug.cgi?id=742922
5895           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5896
5897 2016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5898
5899         * gst/vaapi/gstvaapidecode.c:
5900           vaapidecode: unref output frame earlier
5901           The queue in GstVaapiDecode adds an extra reference to the frames. This patch
5902           unref that extra reference earlier making the code simpler to follow.
5903           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5904
5905 2016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5906
5907         * gst/vaapi/gstvaapidecode.c:
5908           vaapidecode: remove gst_vaapidecode_internal_flush()
5909           As gst_vaapidecode_finish() is the only callee of
5910           gst_vaapidecode_internal_flush(), it is better to inline it.
5911           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5912
5913 2016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5914
5915         * gst/vaapi/gstvaapidecode.c:
5916           vaapidecode: flush output adapter at drain()
5917           Calling drain() vmethod means "decode any data it can at this point, but that
5918           more data may arrive after". Hence, vaapidecode should check if there is data
5919           in the output adapter and process them, without destroying the decoded picture
5920           buffer (dpb).
5921           Since this operation is done by gst_vaapidecode_internal_flush(), the operation
5922           was refactored into a new function gst_vaapidecode_flush_output_adapter().
5923           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5924
5925 2016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5926
5927         * gst/vaapi/gstvaapidecode.c:
5928           vaapidecode: call purge at flush()
5929           Calling flush() vmethod means "to flush all remaining data from the decoder
5930           without pushing it downstream".
5931           Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
5932           gst_video_decoder_have_frame() if there is still something in the input
5933           adapter, which may push buffers to downstream by calling handle_frame().
5934           This patch changes this behavior by calling gst_vaapidecode_purge() rather
5935           than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
5936           decoder and releases all the rest of decoded frames.
5937           https://bugzilla.gnome.org/show_bug.cgi?id=768652
5938
5939 2016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5940
5941         * tests/elements/Makefile.am:
5942         * tests/elements/test-vaapisink.c:
5943           test: elements: remove spurious linkage
5944           Element tests only need to link against gstreamer libraries.
5945
5946 2016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
5947
5948         * configure.ac:
5949           configure: Require GLib >= 2.40 like everywhere else
5950
5951 2016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
5952
5953         * configure.ac:
5954           Back to development
5955
5956 === release 1.9.1 ===
5957
5958 2016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
5959
5960         * ChangeLog:
5961         * NEWS:
5962         * common:
5963         * configure.ac:
5964         * gstreamer-vaapi.doap:
5965           Release 1.9.1
5966
5967 2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5968
5969         * tests/elements/test-vaapisink.c:
5970           tests: elements: rotate orientation event
5971
5972 2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
5973
5974         * configure.ac:
5975         * tests/Makefile.am:
5976         * tests/elements/Makefile.am:
5977         * tests/elements/test-vaapisink.c:
5978           tests: elements: Add testsuite for vaapisink
5979           https://bugzilla.gnome.org/show_bug.cgi?id=765798
5980
5981 2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
5982
5983         * gst-libs/gst/vaapi/gstvaapitypes.h:
5984         * gst-libs/gst/vaapi/gstvaapivalue.c:
5985         * gst/vaapi/gstvaapisink.c:
5986         * gst/vaapi/gstvaapisink.h:
5987           vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
5988           https://bugzilla.gnome.org/show_bug.cgi?id=765798
5989
5990 2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
5991
5992         * gst/vaapi/gstvaapipostproc.c:
5993           vaapipostproc: return caps template if no display
5994           This patch is a fix for my bad review of commit 6d73ca8d. The element should
5995           be able to return the available raw caps handled by the VA display, but that
5996           only should happen when there a VA display. If there's none, the element
5997           should use the caps template.
5998           https://bugzilla.gnome.org/show_bug.cgi?id=768161
5999
6000 2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
6001
6002         * gst/vaapi/gstvaapipostproc.c:
6003           vaapipostproc: don't require a vaapi display for all caps queries
6004           This delays the requirement of having a GstVaapiDisplay until later
6005           https://bugzilla.gnome.org/show_bug.cgi?id=768161
6006
6007 2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6008
6009         * gst-libs/gst/vaapi/gstvaapiutils.c:
6010           utils: report VP9 profiles
6011           Add VP9Profile0-3 name mapping.
6012
6013 2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6014
6015         * gst/vaapi/gstvaapi.c:
6016           vaapi: nest includes under USE_ENCODER macro
6017           This is a missed changeset from commit 1c05c53, since also header includes
6018           should be nested.
6019
6020 2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6021
6022         * gst/vaapi/gstvaapi.c:
6023           vaapi: nest encoders under USE_ENCODER macro
6024           Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
6025           macro, it is clearer to nest them, showing explicitly the dependency relation.
6026
6027 2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6028
6029         * gst/vaapi/gstvaapivideocontext.c:
6030           vaapivideocontext: check if query context is NULL
6031           Under certain conditions the element might receive a positive context query
6032           but without a context instance. This situation will lead to a segmentation
6033           fault when traversing the context list in the pipeline.
6034           https://bugzilla.gnome.org/show_bug.cgi?id=767946
6035
6036 2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6037
6038         * gst-libs/gst/vaapi/Makefile.am:
6039         * gst-libs/gst/vaapi/glibcompat.h:
6040         * gst-libs/gst/vaapi/sysdeps.h:
6041           remove unused glibcompat.h
6042           glibcompat.h is no longer doing anything. Remove it.
6043           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6044           https://bugzilla.gnome.org/show_bug.cgi?id=767886
6045
6046 2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6047
6048         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6049           encoder: h264: Use high profile by default
6050           Change defaults for max-bframes, cabac, and dct8x8 to be enabled
6051           by default. This will cause the default profile to be high instead
6052           of baseline. In most situations this is the right decision, and
6053           the profile can still be lowered in the case of caps restrictions.
6054           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6055           https://bugzilla.gnome.org/show_bug.cgi?id=757941
6056
6057 2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6058
6059         * gst/vaapi/gstvaapidecodebin.c:
6060           vaapidecodebin: element warning if missing element
6061           Raise an element warning if a required element is not available, thus the
6062           pipeline will post a warning message and the application will be informed.
6063
6064 2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
6065
6066         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6067           decoder: h265: fix to release all dpb pictures
6068           Without this, all dpb pictures are not released during flush,
6069           because we used the global dpb_count variable for checking the
6070           dpb fullness which get decremented in dpb_remove_index()
6071           routine during each loop iteration.
6072           https://bugzilla.gnome.org/show_bug.cgi?id=767934
6073
6074 2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6075
6076         * common:
6077           Automatic update of common submodule
6078           From ac2f647 to f363b32
6079
6080 2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
6081
6082         * gst/vaapi/gstvaapidecode.c:
6083         * gst/vaapi/gstvaapipostproc.c:
6084           vaapi: fix minor leaks
6085           https://bugzilla.gnome.org/show_bug.cgi?id=767868
6086
6087 2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6088
6089         * gst/vaapi/gstvaapi.c:
6090           vaapi: remove an already included header
6091           gst/gst.h is already included in gstcompat.h
6092
6093 2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6094
6095         * gst/vaapi/gstvaapidecodebin.c:
6096           vaapidecodebin: add vp9 in sink pad template
6097
6098 2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6099
6100         * gst/vaapi/gstvaapisink.c:
6101           vaapisink: return caps template if no display
6102           If vaapisink received a caps query before getting a VA display, it returned
6103           only the surfaces related caps. This behavior broke the autovideosink
6104           negotiation.
6105           This patch returns the pad's template caps if no VA display, otherwise the
6106           caps are crafted as before.
6107           https://bugzilla.gnome.org/show_bug.cgi?id=767699
6108
6109 2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6110
6111         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6112           decoder: vp9: Update comment about context resets
6113           Clarify that vaapi context resets are never needed for vp9, but
6114           that ensure_context() needs called when the size increases so that
6115           new surfaces can be allocated.
6116           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6117           https://bugzilla.gnome.org/show_bug.cgi?id=767474
6118
6119 2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6120
6121         * gst-libs/gst/vaapi/gstvaapicontext.c:
6122         * gst-libs/gst/vaapi/gstvaapicontext.h:
6123         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
6124           gstvaapicontext: control reset_on_resize with option
6125           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6126           https://bugzilla.gnome.org/show_bug.cgi?id=767474
6127
6128 2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6129
6130         * gst/vaapi/gstvaapivideobufferpool.c:
6131           vaapivideobufferpool: add video meta to config when needed
6132           In cases where we know the video meta must be present, add it to
6133           the pool configuration.
6134           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6135           https://bugzilla.gnome.org/show_bug.cgi?id=766184
6136
6137 2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6138
6139         * gst/vaapi/gstvaapipluginbase.c:
6140           plugins: retry pool config
6141           if gst_buffer_pool_set_config returns FALSE, check the modified
6142           config and retry set_config if the config is still acceptable.
6143           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6144           https://bugzilla.gnome.org/show_bug.cgi?id=766184
6145
6146 2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6147
6148         * gst/vaapi/gstvaapivideomemory.h:
6149           vaapivideomemory: internal attributes to methods
6150           Mark as internal the functions used by VA-API dmabuf allocator.
6151
6152 2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6153
6154         * gst/vaapi/gstvaapipluginbase.c:
6155           plugins: remove precondition for decide_allocation()
6156           There's no need to check for the display in the plugin object when
6157           decide_allocation() vmethod is called, because the display will created or
6158           re-created along the method execution.
6159
6160 2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6161
6162         * gst/vaapi/gstvaapipluginbase.c:
6163           plugins: avoid possible memory leaks
6164           Get the pool config just before use it, to avoid a memory leak if the
6165           allocator cannot be instantiated. Similarly, return FALSE if the configuration
6166           cannot be set, avoid keep a not used allocator in the pool.
6167
6168 2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6169
6170         * gst/vaapi/gstvaapipluginbase.c:
6171           plugins: use GstParentBufferMeta
6172           Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
6173           use the GStreamer's GstParentBufferMeta.
6174           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6175
6176 2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6177
6178         * gst/vaapi/gstvaapipluginbase.c:
6179           plugins: cache VASurfaces from dmabufs
6180           This patch avoids the creation of a VASurface each time a new input buffer is
6181           processed, caching them in the input buffer itself.
6182           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6183
6184 2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6185
6186         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6187         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
6188         * gst/vaapi/gstvaapipluginbase.c:
6189           libs: change gst_vaapi_surface_new_with_dma_buf_handle()
6190           Instead of passing the data already in GstVideoInfo, let's just pass the
6191           GstVideoInfo structure.
6192           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6193
6194 2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6195
6196         * gst/vaapi/gstvaapipluginbase.c:
6197         * gst/vaapi/gstvaapipluginbase.h:
6198           plugins: use an unique allocator per pad
6199           Instead of instantiating an allocator per vaapivideobufferpool, only one
6200           allocator is instantiated per element's pad and shared among future pools.
6201           If the pad's caps changes, the allocator is reset.
6202           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6203
6204 2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6205
6206         * gst/vaapi/gstvaapipluginbase.c:
6207         * gst/vaapi/gstvaapivideobufferpool.c:
6208         * gst/vaapi/gstvaapivideobufferpool.h:
6209           vaapivideobufferpool: share options flag with pluginbase
6210           Originally, vaapivideobufferpool has a set of boolean variables for the
6211           buffer configuration options.
6212           This pach changes these boolean variables for a single bitwise, just as
6213           it is used in pluginbase. Hence, the internal enum was moved to
6214           vaapivideobufferpool header.
6215           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6216
6217 2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6218
6219         * gst/vaapi/gstvaapipluginbase.c:
6220           plugins: add gst_vaapi_plugin_base_create_pool()
6221           This patch refactors the code in pluginbase in order to centralize the buffer
6222           pool instantiation. As the buffer pool config may have different options, these
6223           are gathered using a bitwise flag.
6224           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6225
6226 2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6227
6228           pluginbase negotiates allocator with bufferpool
6229           Originally vaapivideobufferpool instantiates its own allocator regardless the
6230           received configuration, and it relies in custom configuration options to
6231           choose which kind of allocator instantiate.
6232           This patch transfers the responsibility of the allocator instantiate to
6233           vaapipluginbase and pass it to the vaapivideobufferpool through its
6234           configuration.
6235           * gst/vaapi/gstvaapipluginbase.c
6236           + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
6237           + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
6238           bufferpool configuration
6239           + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
6240           needed.
6241           + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
6242           allocator in bufferpool configuration
6243           * gst/vaapi/gstvaapivideobufferpool.c
6244           + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
6245           allocator, process the received one through its configuration.
6246           * gst/vaapi/gstvaapivideobufferpool.h: removed
6247           GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
6248           * gst/vaapi/gstvaapivideomemory.c
6249           + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
6250           allocator with the vaapi qdata.
6251           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6252
6253 2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6254
6255         * gst/vaapi/gstvaapivideobufferpool.c:
6256           vaapivideobufferpool: keep only current video info
6257           Instead of keeping old and new GstVideoInfo video structure, we only keep one,
6258           the current one, the negotiated. The old one is not needed at all.
6259           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6260
6261 2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6262
6263         * gst/vaapi/gstvaapipluginbase.c:
6264         * gst/vaapi/gstvaapipluginutil.c:
6265         * gst/vaapi/gstvaapipluginutil.h:
6266         * gst/vaapi/gstvaapivideomemory.c:
6267           pluginutil: add gst_video_info_force_nv12_if_encoded()
6268           This lines repeat a couple times in the code, so it would be better to put it
6269           a helper function.
6270           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6271
6272 2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6273
6274         * gst/vaapi/gstvaapipluginutil.c:
6275         * gst/vaapi/gstvaapipluginutil.h:
6276         * gst/vaapi/gstvaapipostproc.c:
6277         * gst/vaapi/gstvaapivideobufferpool.c:
6278           pluginutil: add gst_video_info_changed() helper
6279           This function is shared among different elements, so let factorized it.
6280           https://bugzilla.gnome.org/show_bug.cgi?id=765435
6281
6282 2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
6283
6284         * gst/vaapi/gstvaapipostprocutil.c:
6285           vaapipostproc: Add colorimetry attributes to src caps
6286           https://bugzilla.gnome.org/show_bug.cgi?id=766596
6287
6288 2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
6289
6290         * gst/vaapi/gstvaapidecode.c:
6291           vaapidecode: remove chroma-site and colorimetry from src caps
6292           https://bugzilla.gnome.org/show_bug.cgi?id=766596
6293
6294 2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
6295
6296         * gst/vaapi/gstvaapipostproc.c:
6297         * gst/vaapi/gstvaapipostproc.h:
6298           vaapipostproc: add postproc_lock to protect data members
6299           Add a mutex to postproc to protect concurrent access to data members.
6300           Previously set_caps() could release the allowed_srcpad_caps while
6301           transform_caps was in the middle of using it.
6302           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
6303           https://bugzilla.gnome.org/show_bug.cgi?id=766940
6304
6305 2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6306
6307         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6308         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
6309           encoder: vp9: Add simple algorithms for reference picture selection
6310           Added two modes(as properties) for reference picture selection:
6311           ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
6312           and LastRef is pointing to the previous frame.
6313           ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
6314           and n-2 th frame as AltRef
6315           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6316
6317 2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6318
6319         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6320           encoder: vp9: Define Max frame width and height
6321           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6322
6323 2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6324
6325         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6326         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
6327           encoder: vp9: Add more propertis for tuning encode quality
6328           Added three tuning properties:
6329           1: filter_level
6330           2: sharpness_level
6331           3: luma ac quant-table index
6332           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6333
6334 2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6335
6336         * gst/vaapi/Makefile.am:
6337         * gst/vaapi/gstvaapi.c:
6338         * gst/vaapi/gstvaapiencode_vp9.c:
6339         * gst/vaapi/gstvaapiencode_vp9.h:
6340           Add vp9 encode element to "vaapi" plugin
6341           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6342
6343 2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6344
6345         * gst-libs/gst/vaapi/Makefile.am:
6346         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
6347         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
6348           Add vp9 encoder support in libgstvaapi
6349           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6350
6351 2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6352
6353         * configure.ac:
6354           build: Add check for VP9 encode API support in libva
6355           https://bugzilla.gnome.org/show_bug.cgi?id=766048
6356
6357 2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6358
6359         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6360           gstvaapisurface_drm: fix internal documentation
6361
6362 2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6363
6364         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6365           gstvaapisurface_drm: fix code-style
6366
6367 2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6368
6369         * gst/vaapi/gstvaapipluginbase.c:
6370           plugins: remove unused header
6371           Remove the include of gst/allocators/allocators.h since it is not used.
6372
6373 2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6374
6375         * gst/vaapi/gstvaapivideobufferpool.h:
6376           vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
6377           Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
6378           keep compatibility definition.
6379           This patch removes the definition of
6380           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
6381           gst-plugins-base version 1.2.2
6382
6383 2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6384
6385         * gst/vaapi/gstvaapipluginbase.c:
6386           plugins: add gst_vaapi_buffer_pool_caps_is_equal()
6387           This is a helper function to improve the readability of
6388           ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
6389           re-instantiated.
6390
6391 2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6392
6393         * gst/vaapi/gstvaapipluginbase.c:
6394           plugins: deactivate buffer pool before unref
6395           This buffer pool may still be processing buffers when a caps renegotiation is
6396           done. This one-liner patch deactivates the pool to drain it before it
6397           de-allocation.
6398
6399 2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6400
6401         * gst/vaapi/gstvaapipluginbase.c:
6402           plugins: no sinkpad bufferpool when decoder
6403           Right now, the decoders create a buffer pool for their sink pad which is not
6404           used at all, because the decoders have never proposed it to upstream.
6405           This patch avoids the buffer pool instantiating when the element inherits from
6406           the GstVideoDecoder class.
6407
6408 2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6409
6410         * gst/vaapi/gstvaapipluginbase.c:
6411           plugins: avoid to get/set pool config twice
6412           This patch is a bit of optimization, since the bufferpool configuration is get
6413           when the pool is created. Hence, we only need to request it when the pool from
6414           the allocation query is reused.
6415
6416 2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6417
6418         * gst/vaapi/gstvaapipluginbase.c:
6419           plugins: destroy pool earlier if non-vaapi
6420           If the offered pool in decide_allocation() vmethod doesn't have the
6421           VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
6422           so it could be created later.
6423
6424 2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6425
6426         * gst/vaapi/gstvaapivideobufferpool.c:
6427           vaapivideobufferpool: split caps validation
6428           When validating the caps from bufferpool config, this patch distinguishes the
6429           error from no caps received (NULL) from the invalid caps (cannot be converted
6430           into GstVideoInfo structure).
6431
6432 2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6433
6434         * gst/vaapi/gstvaapidecode.c:
6435         * gst/vaapi/gstvaapipluginbase.c:
6436           plugins: check for caps in query earlier
6437           Check for caps as soon gst_query_parse_allocation() returns.
6438
6439 2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6440
6441         * gst/vaapi/gstvaapipluginbase.c:
6442         * gst/vaapi/gstvaapipluginbase.h:
6443           plugins: remove unused variables
6444           This variables stopped to be used since commit 001a5c63, which removed the
6445           gstvaapiuploader.
6446
6447 2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6448
6449         * gst/vaapi/gstvaapipluginbase.c:
6450           plugins: fix potential memleak from commit 9159328
6451           If gst_video_info_from_caps() fails it is required to unref the instantiated
6452           pool.
6453
6454 2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6455
6456         * gst/vaapi/gstvaapipostproc.c:
6457           vaapipostproc: handle if gst_video_info_from_caps() fails
6458           Return FALSE is the received caps cannot be transformed into a GstVideoInfo
6459           structure.
6460
6461 2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6462
6463         * gst/vaapi/gstvaapipluginbase.c:
6464           plugins: handle if gst_video_info_from_caps() fails
6465           Let's play safe and return error if, somehow, the received caps are wrong.
6466
6467 2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6468
6469         * gst/vaapi/gstvaapipluginbase.c:
6470           plugins: relate errors to instance
6471           Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
6472           will show the name of the vaapipluginbase instance that failed.
6473           Also, the code-style is fixed, where some error labels need to be surrounded
6474           by braces.
6475
6476 2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6477
6478         * gst/vaapi/gstvaapipluginbase.c:
6479         * gst/vaapi/gstvaapipluginutil.c:
6480         * gst/vaapi/gstvaapisink.c:
6481           plugins: use GstVideoInfo accessors
6482           Instead of access to GstVideInfo members directly, use their accessors
6483           macros. This patch makes more resistance to future changes in GStreamer core.
6484
6485 2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6486
6487         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6488         * gst/vaapi/gstvaapipluginbase.c:
6489         * gst/vaapi/gstvaapipostproc.c:
6490         * tests/simple-encoder.c:
6491           remove spurious gst_video_info_init()
6492           gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
6493           gst_video_info_init(), hence it is not required to call it before them. This
6494           patch removes these spurious calls.
6495
6496 2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6497
6498         * gst/vaapi/gstvaapipluginbase.c:
6499           vaapipluginbase: code-style: rename goto label
6500           The error labels have error_ prefix, but this one.
6501
6502 2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6503
6504         * gst/vaapi/gstvaapivideomemory.c:
6505           vaapivideomemory: use allocator custom alloc flag
6506           Instead of a dummy alloc() vmethod, the allocator instance set the flag
6507           GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
6508           gst_allocator_alloc() on the allocator.
6509
6510 2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6511
6512         * gst/vaapi/gstvaapivideobufferpool.c:
6513           vaapivideobufferpool: relate errors to instance
6514           Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
6515           the vaapivideobufferpool instance that failed.
6516
6517 2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6518
6519         * gst/vaapi/gstvaapipluginbase.c:
6520           plugins: remove gst_vaapi_plugin_base_set_pool_config()
6521           This function helper make sense for GStreamer 1.2, but it is not helpful for
6522           greater version since the validation is already done in the API implementation.
6523           Thus, it is removed.
6524
6525 2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6526
6527         * gst/vaapi/gstvaapipluginbase.c:
6528           gstvaapipluginbase: Fix typo in doc
6529
6530 2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6531
6532         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6533           encoder : h264: Disable b-frame encode in low-power mode
6534           This is a workaround since vaapi-intel-driver doesn't have
6535           support for B-frame encode when utilizing low-power-enc
6536           hardware block.
6537           Fixme :We should query the VAConfigAttribEncMaxRefFrames
6538           instead of blindly disabling b-frame support and set b/p frame count,
6539           buffer pool size etc based on the query result.
6540           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6541
6542 2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6543
6544         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6545         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6546           encoder: h264 : Use "tune=low-power" for enabling lowpower encode
6547           Remove the duplicate property "low-power-enc" and use the
6548           tune property for enabling low power encoding mode.
6549           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6550
6551 2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6552
6553         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6554           gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
6555           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6556
6557 2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6558
6559         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6560         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6561         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6562           encoder: h264: Add support of low power/high performance encoding mode
6563           Added a new property "low-power-enc" for enabling low power
6564           encoding mode. Certain encoding tools may not be available
6565           with the VAEntrypointEncSliceLP.
6566           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6567
6568 2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6569
6570         * gst-libs/gst/vaapi/gstvaapitypes.h:
6571         * gst-libs/gst/vaapi/gstvaapiutils.c:
6572         * gst-libs/gst/vaapi/gstvaapivalue.c:
6573           Add mapping for Macroblock level rate control (VA_RC_MB)
6574
6575 2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6576
6577         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6578           gstvaapidisplay: Add VAEntrypointEncSliceLP support
6579           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6580
6581 2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6582
6583         * gst-libs/gst/vaapi/gstvaapiprofile.c:
6584         * gst-libs/gst/vaapi/gstvaapiprofile.h:
6585           gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
6586           This is for implementations that supports low_power/high_performance
6587           variant for slice level encode.
6588           https://bugzilla.gnome.org/show_bug.cgi?id=766050
6589
6590 2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6591
6592         * gst/vaapi/gstvaapipostprocutil.c:
6593           vaapipostproc: negotiate frame size fixation
6594           Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
6595           using the sink caps, also it use the next capsfilter.
6596           This code is a shameless copy of gst_video_scale_fixate_caps() from
6597           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
6598           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6599
6600 2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
6601
6602         * gst/vaapi/gstvaapipostprocutil.c:
6603           vaapipostproc: don't use GstVideoInfo for src caps
6604           Instead of using gst_video_info_to_caps () to generated the fixed src caps,
6605           this patch enables the first step for caps negotiation with a possible
6606           following caps filter.
6607           _get_preferred_caps() will traverse the possible src caps looking for the one
6608           wit the preferred feature and the preferred color format. Then the color
6609           format, the frame size and the frame rate are fixated.
6610           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6611
6612 2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6613
6614         * gst/vaapi/gstvaapipostproc.c:
6615         * gst/vaapi/gstvaapipostprocutil.c:
6616         * gst/vaapi/gstvaapipostprocutil.h:
6617           vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
6618           Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
6619           No functional changes.
6620           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6621
6622 2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6623
6624         * gst/vaapi/gstvaapipostproc.c:
6625           vaapipostproc: simplify code
6626           Change a convoluted snippet to find the preferred color format in the peer
6627           caps.
6628           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6629
6630 2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6631
6632         * gst/vaapi/gstvaapipostproc.c:
6633           vaapipostproc: use othercaps for preferred caps
6634           Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
6635           from fixate_caps() vmethod to find the preferred caps feature and color
6636           format.
6637           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6638
6639 2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
6640
6641         * gst/vaapi/gstvaapipostproc.c:
6642           vaapipostproc: add fixate_caps() vmethod
6643           Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
6644           implements the fixate_caps() vmethod and moves code around.
6645           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6646
6647 2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6648
6649         * gst/vaapi/Makefile.am:
6650         * gst/vaapi/gstvaapipostproc.c:
6651         * gst/vaapi/gstvaapipostprocutil.c:
6652         * gst/vaapi/gstvaapipostprocutil.h:
6653           vaapipostproc: set early properties restrictions
6654           When running transform_caps() vmethod, returning the srcpad caps, the caps are
6655           early restricted to the element properties set: width, height, format and
6656           force keep aspect.
6657           A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
6658           are stored.
6659           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6660
6661 2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6662
6663         * gst/vaapi/gstvaapipostproc.c:
6664           vaapipostproc: log the caps transformation
6665           https://bugzilla.gnome.org/show_bug.cgi?id=758548
6666
6667 2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6668
6669         * gst/vaapi/gstvaapipostproc.c:
6670           vaapipostproc: no GLTextureUpload in sinkpad
6671           As the vaapipostproc does not process frames with the VideoGLTextureUpload
6672           meta, the feature is removed from the sink pad template.
6673           https://bugzilla.gnome.org/show_bug.cgi?id=765931
6674
6675 2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
6676
6677         * gst/vaapi/gstvaapivideobufferpool.c:
6678           vaapibufferpool: do not create texture upload meta if dmabuf
6679           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6680
6681 2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6682
6683         * git.mk:
6684           build: update git.mk
6685
6686 2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6687
6688         * gst/vaapi/gstvaapipluginbase.h:
6689           plugin: fix macro processor check
6690           Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
6691           defined in config.h, but it would be 0 or 1 depending on the configure output.
6692           https://bugzilla.gnome.org/show_bug.cgi?id=765702
6693
6694 2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6695
6696         * tests/test-display.c:
6697           tests: display: guard possible unused variables
6698           https://bugzilla.gnome.org/show_bug.cgi?id=765702
6699
6700 2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6701
6702         * tests/codec.c:
6703         * tests/decoder.c:
6704         * tests/image.c:
6705         * tests/output.c:
6706         * tests/simple-decoder.c:
6707         * tests/test-decode.c:
6708         * tests/test-display.c:
6709         * tests/test-filter.c:
6710         * tests/test-h264.c:
6711         * tests/test-jpeg.c:
6712         * tests/test-mpeg2.c:
6713         * tests/test-mpeg4.c:
6714         * tests/test-subpicture-data.c:
6715         * tests/test-subpicture.c:
6716         * tests/test-surfaces.c:
6717         * tests/test-textures.c:
6718         * tests/test-vc1.c:
6719         * tests/test-windows.c:
6720           tests: inforce gstreamer code-style
6721
6722 2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6723
6724         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6725           encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
6726           It seems driver requires enablement of cu_qp_delta_enabled_flag
6727           for modifying QP values to controll the CBR mode bitrate.
6728           https://bugzilla.gnome.org/show_bug.cgi?id=749852
6729
6730 2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6731
6732         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6733           encoder: h265: Add CBR Encoding support
6734           https://bugzilla.gnome.org/show_bug.cgi?id=749852
6735
6736 2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
6737
6738         * gst-libs/gst/vaapi/gstvaapisurface.c:
6739           gstvaapisurface: explicitely clear TILING flag if dmabuf
6740           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6741
6742 2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
6743
6744         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
6745           gstvaapisurface_drm: release image when done
6746           Otherwise intel-vaapi-driver will fail to process the exported surface because
6747           it will find it is currently derived, so considered as busy.
6748           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6749
6750 2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
6751
6752         * gst/vaapi/gstvaapipostproc.c:
6753           vaapipostproc: already have a surface proxy if dmabuf
6754           https://bugzilla.gnome.org/show_bug.cgi?id=755072
6755
6756 2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
6757
6758         * gst/vaapi/gstvaapipostproc.c:
6759           various gst-indent
6760
6761 2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6762
6763         * gst/vaapi/gstvaapidecode.c:
6764         * gst/vaapi/gstvaapipluginbase.c:
6765         * gst/vaapi/gstvaapipluginbase.h:
6766           vaapidecode: search driver in whitelist
6767           If the backend driver vendor string is not in a white-list, and the
6768           environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
6769           change it state from NULL to READY, hence the auto-plug mechanism will look
6770           for another decoder.
6771           This patch assumes the GstContext has already being shared along the pipeline
6772           and the element has a valid GstVaapiDisplay instance.
6773           https://bugzilla.gnome.org/show_bug.cgi?id=764673
6774
6775 2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6776
6777         * gst/vaapi/gstvaapidecode.c:
6778         * gst/vaapi/gstvaapiencode.c:
6779         * gst/vaapi/gstvaapipluginbase.c:
6780         * gst/vaapi/gstvaapipluginbase.h:
6781         * gst/vaapi/gstvaapipostproc.c:
6782         * gst/vaapi/gstvaapisink.c:
6783           plugins: rework set_context() vmethod definition
6784           In bug 757598 was added the set_context() vmethod chain up in
6785           GstVaapiPluginBase. But it is buggy, since the parent_class address is
6786           assigned to the last element which called gst_vaapi_plugin_base_class_init().
6787           No error has shown up since none of the element's base classes redefined
6788           set_context() vmethod from GstElement, so always the correct function was
6789           called. Still this code is wrong and this patch make it right.
6790           Since set_context() is the same code, a macro is used to implement that code
6791           in all the gst-vaapi elements.
6792           https://bugzilla.gnome.org/show_bug.cgi?id=765368
6793
6794 2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6795
6796         * gst/vaapi/gstvaapipostproc.c:
6797           vaapipostproc: resize if negotiated and allocation caps are different
6798           Since commit 859a2b2, in vaapidecode, allocation query can be different from
6799           the negotiated caps.
6800           When connecting the vaapidecoder to the vaapipostprocessor, the last one will
6801           resize the frame to the negotiated, if and only if, some other parameter is
6802           activated to avoid the passthrough. If it is not, the surface won't be mapped
6803           into a image. If not, the image won't be resized and the output buffer would be
6804           mapped.
6805           This patch will break the passthrough if the allocation query is different
6806           from the negotiation caps, forcing the resizing.
6807           https://bugzilla.gnome.org/show_bug.cgi?id=765095
6808
6809 2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6810
6811         * gst/vaapi/gstvaapidecode.c:
6812           vaapidecode: improve code readability
6813           No functional changes.
6814
6815 2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6816
6817         * gst/vaapi/gstvaapidecode.c:
6818           vaapidecode: move GstCapsFeatures near to its use
6819           Move the handling of the GstCapsFeatures just after it is used, in order to
6820           avoid handling its memory.
6821
6822 2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6823
6824         * gst/vaapi/gstvaapidecode.c:
6825           vaapidecode: caps negotiation checks
6826           Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
6827           compiled with GL support.
6828
6829 2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6830
6831         * gst/vaapi/gstvaapidecode.c:
6832         * gst/vaapi/gstvaapipluginbase.c:
6833         * gst/vaapi/gstvaapipluginbase.h:
6834         * gst/vaapi/gstvaapipostproc.c:
6835           plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
6836
6837 2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6838
6839         * gst/vaapi/gstvaapidecode.c:
6840           vaapidecode: bail early if not caps in decide_allocation()
6841
6842 2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6843
6844         * gst/vaapi/gstvaapidecode.c:
6845         * gst/vaapi/gstvaapipluginbase.c:
6846         * gst/vaapi/gstvaapipluginutil.c:
6847         * gst/vaapi/gstvaapipluginutil.h:
6848         * gst/vaapi/gstvaapipostproc.c:
6849           plugin: use allowed caps filter from element
6850           Instead of using the srcpad template caps for filtering the peer caps, the
6851           function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
6852           for the element's allowed caps.
6853           With this modification, the vaapipostproc element simplifies a bit its code.
6854           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6855
6856 2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6857
6858         * gst/vaapi/gstvaapidecode.c:
6859         * gst/vaapi/gstvaapipluginbase.c:
6860         * gst/vaapi/gstvaapipluginutil.c:
6861         * gst/vaapi/gstvaapipluginutil.h:
6862         * gst/vaapi/gstvaapipostproc.c:
6863           plugin: remove function parameter
6864           The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
6865           saved if the out format is used for both: in and out. Thus the code is more
6866           readable.
6867           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6868
6869 2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6870
6871         * gst/vaapi/gstvaapidecode.c:
6872           vaapidecode: warns if driver will do color conversions
6873           If the downstream feature is system memory, the surface has to be mapped,
6874           hence a warning message is logged saying that the driver has to do color
6875           conversions. This might be troublesome because not all the color conversion
6876           combinations are supported by the VA-API drivers, and there is not a reliable
6877           way to know them before hand.
6878           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6879
6880 2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6881
6882         * gst/vaapi/gstvaapipluginutil.c:
6883           plugin: honour negotiated format
6884           Instead of setting the requested format by the caller, the function
6885           gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
6886           the negotiated format.
6887           A new helper function was added: gst_vaapi_find_preferred_format(), which,
6888           given the format list from the negotiated caps, will choose the best one, if
6889           possible, given the native format.
6890           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6891
6892 2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6893
6894         * gst/vaapi/gstvaapipluginutil.c:
6895           plugin: simplify caps feature selection
6896           This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
6897           Instead of intersecting custom caps to find the preferred feature, the peer
6898           caps are traversed in order to find the preferred feature, according to an
6899           ordered feature priority list.
6900           In the case of GLTextureUploadMeta, the colour format is computed using
6901           GstVideoInfo of the selected fixed caps.
6902           https://bugzilla.gnome.org/show_bug.cgi?id=765223
6903
6904 2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6905
6906         * gst/vaapi/gstvaapidecode.c:
6907           vaapidecode: use macros for GstVideoInfo
6908           Instead of accessing directly to the members of the structure, use the macros.
6909
6910 2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6911
6912         * gst/vaapi/gstvaapidecode.c:
6913           vaapidecode: refactor is_display_resolution_changed()
6914           Make the comparisons more readable and simple.
6915           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6916
6917 2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6918
6919         * gst/vaapi/gstvaapidecode.c:
6920         * gst/vaapi/gstvaapidecode.h:
6921           vaapidecode: keep only display_{width,height}
6922           Instead of keeping the structure GstVideoInfo when we are using its width and
6923           height, we only keep these two guints.
6924           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6925
6926 2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6927
6928         * gst/vaapi/gstvaapidecode.c:
6929           vaapidecode: decoded_info is valid at src caps update
6930           As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
6931           is called, then we don't need to verify or replace it with the sinkpad info
6932           (reference state).
6933           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6934
6935 2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6936
6937         * gst/vaapi/gstvaapidecode.c:
6938           vaapidecode: always a valid format in decoded_info
6939           Always set a valid format in decoded_info class variable.
6940           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6941
6942 2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6943
6944         * gst/vaapi/gstvaapidecode.c:
6945           vaapidecode: code style fixes
6946           No functional changes.
6947           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6948
6949 2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6950
6951         * gst/vaapi/gstvaapidecode.c:
6952           vaapidecode: init {decoded,display}_info at open()
6953           It is required to initialize {decoded,display}_info variables when the decoder
6954           is open, not only at instance initialization.
6955           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6956
6957 2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6958
6959         * gst/vaapi/gstvaapidecode.c:
6960         * gst/vaapi/gstvaapidecode.h:
6961           vaapidecode: remove spurious class variables
6962           active, do_pool_renego and do_outstate_renego class variables were used to
6963           indicate when negotiate downstream once, but now that each time a new surface
6964           resolution is pop out a renegotation verified, these variable are not required
6965           anymore.
6966           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6967
6968 2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6969
6970         * gst/vaapi/gstvaapidecode.c:
6971         * gst/vaapi/gstvaapipluginbase.c:
6972         * gst/vaapi/gstvaapipluginbase.h:
6973         * gst/vaapi/gstvaapipostproc.c:
6974           remove custom allocation query
6975           When resolving bug 753914, a custom allocation query was added, overlapping
6976           the responsibilities of GstVideoDecoder.
6977           But with the merge of the patches from bug 764421 this overlapping was not
6978           required anymore. This patch restores this situation setting the
6979           allocation_caps in the GstVideoCodecState when needed.
6980           https://bugzilla.gnome.org/show_bug.cgi?id=764316
6981
6982 2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
6983
6984         * common:
6985           Automatic update of common submodule
6986           From 6f2d209 to ac2f647
6987
6988 2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6989
6990         * gst/vaapi/gstvaapidecode.c:
6991         * gst/vaapi/gstvaapidecodebin.c:
6992         * gst/vaapi/gstvaapipostproc.c:
6993           plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
6994           The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
6995           their caps templates if they were not compiled either with GLX or EGL support.
6996
6997 2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
6998
6999         * gst/vaapi/gstvaapipluginutil.c:
7000           plugins: fix compilation when EGL/GLX is disabled
7001           The compiler might complain of gst_vaapi_create_display_from_handle() being
7002           unused if both EGL and GLX are disabled. This patch avoid that compilation
7003           error.
7004
7005 2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
7006
7007         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
7008           libs: fix deleting a GstVaapiCodedBufferPool object
7009           Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
7010           Otherwise it is not called when the pool is destroyed and all objects
7011           referenced by the GstVaapiVideoPool are never released.
7012           https://bugzilla.gnome.org/show_bug.cgi?id=764993
7013
7014 2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7015
7016         * gst-libs/gst/vaapi/gstvaapisurface.c:
7017           surface: destroy derived image
7018           If gst_vaapi_image_new_with_image() fails, the created derived image should be
7019           destroyed, otherwise the surface cannot be processed because is being used.
7020           https://bugzilla.gnome.org/show_bug.cgi?id=764607
7021
7022 2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7023
7024         * gst/vaapi/gstvaapidecode.c:
7025           vaapidecode: add stop function
7026           Clear any status on the current stream:
7027           stored frames, caps and decoder configuration
7028           https://bugzilla.gnome.org/show_bug.cgi?id=763460
7029
7030 2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7031
7032         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7033           decoder: vp9: Align with the ABI changes in vp9 codecparser
7034           The subsampling_x, subsampling_y, bit_depth, color_space and color_range
7035           fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
7036           These fields are only present in keyframe or intra-only frame, no need to
7037           duplicate them for inter-frames.
7038           https://bugzilla.gnome.org/show_bug.cgi?id=764082
7039
7040 2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7041
7042         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7043           decoder: vp9 : Add 10bit decoding support (Profile2)
7044           https://bugzilla.gnome.org/show_bug.cgi?id=764082
7045
7046 2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7047
7048         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7049         * gst-libs/gst/vaapi/gstvaapiprofile.h:
7050           gstvaapiporfile: Add more VP9 profile definitions
7051           https://bugzilla.gnome.org/show_bug.cgi?id=764082
7052
7053 2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7054
7055         * Makefile.am:
7056         * configure.ac:
7057           build: possibility to disable tests
7058           The configuration option --disable-examples will disable the compilation of
7059           the sample apps in tests/ directory.
7060
7061 2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7062
7063         * gst/vaapi/gstvaapiencode_h264.c:
7064         * gst/vaapi/gstvaapiencode_h265.c:
7065         * gst/vaapi/gstvaapiencode_jpeg.c:
7066         * gst/vaapi/gstvaapiencode_mpeg2.c:
7067         * gst/vaapi/gstvaapiencode_vp8.c:
7068         * gst/vaapi/gstvaapipluginutil.h:
7069         * gst/vaapi/gstvaapisink.c:
7070           unify caps template for VAAPI encoders and decoders
7071           There is no difference in VAAPI surface caps between encoders and decoders.
7072           Thus, the patch makes a simplification by removing encoders specific caps and
7073           shares the same definition of VAAPI surfaces caps for all the elements.
7074
7075 2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7076
7077         * gst/vaapi/gstvaapidecode.c:
7078           vaapidecode: move gst_vaapidecode_negotiate() code
7079           With it we can remove a function declaration, making the code a bit
7080           more readable.
7081           https://bugzilla.gnome.org/show_bug.cgi?id=764316
7082
7083 2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7084
7085         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7086         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
7087         * gst/vaapi/gstvaapidecode.c:
7088           docs: generate vaapijpegdec documentation
7089           https://bugzilla.gnome.org/show_bug.cgi?id=764314
7090
7091 2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7092
7093         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7094           decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
7095           The array_completeness, reserved bit and num_nal_units fields
7096           in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
7097           but not for each occurance of similar headers.
7098           https://bugzilla.gnome.org/show_bug.cgi?id=764274
7099
7100 2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7101
7102         * gst-libs/gst/vaapi/video-format.c:
7103           video-format: Keep the HW order preference while mapping to GstVideoFormats
7104
7105 2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7106
7107         * gst/vaapi/gstvaapidecode.c:
7108         * gst/vaapi/gstvaapipluginbase.c:
7109         * gst/vaapi/gstvaapipluginutil.c:
7110         * gst/vaapi/gstvaapipluginutil.h:
7111         * gst/vaapi/gstvaapivideomemory.c:
7112           gst/vaapi: keep precedence for NV12 over I420
7113           Use NV12 as default "assumption" format all over.
7114           NV12 is the default high priority format used my most of the
7115           vaapi-drivers.
7116
7117 2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7118
7119         * gst/vaapi/gstvaapidecode.c:
7120           vaapidecode: Use video format derived from decoded surface as default src pad format
7121           Use the surface format derived from first decoded surface
7122           to negotiate the downstream video format capabilities.
7123           https://bugzilla.gnome.org/show_bug.cgi?id=759181
7124
7125 2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
7126
7127         * gst-libs/gst/vaapi/gstvaapiimage.c:
7128         * gst-libs/gst/vaapi/video-format.c:
7129         * gst/vaapi/gstvaapidecode.c:
7130         * gst/vaapi/gstvaapipluginutil.h:
7131         * gst/vaapi/gstvaapisink.c:
7132           Add P010 video format support
7133           The P010 video format is the native format used by the vaapi intel driver
7134           for HEVCMain10 decode . Add support for planes and images of this video format.
7135           https://bugzilla.gnome.org/show_bug.cgi?id=759181
7136
7137 2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
7138
7139         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
7140           libs: x11: allows 30-bit colour depth
7141           The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
7142           fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
7143           with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
7144           work as expected.
7145           https://bugzilla.gnome.org/show_bug.cgi?id=764256
7146
7147 2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7148
7149         * gst/vaapi/gstvaapivideometa_texture.c:
7150           gltextureupload: use an array for texture type
7151           Instead of using a single value for the texture type, use an array with 4
7152           elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
7153           overflow.
7154           https://bugzilla.gnome.org/show_bug.cgi?id=764231
7155
7156 2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7157
7158         * gst/vaapi/gstvaapidecode.c:
7159         * gst/vaapi/gstvaapipluginbase.c:
7160           vaapidecode: Fix decide_allocation handling
7161           Set the already configured pool in decide_allocation query
7162           in cases where pool renegotiation is not required.
7163           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7164
7165 2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7166
7167         * gst/vaapi/gstvaapidecode.c:
7168           vaapidecode: Derive and save the decoded surface format
7169           After the decoding of first frame, try to extract the exact
7170           decoded surface format using vaDeriveImage and keep this
7171           as the format in decoded_info.
7172           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7173
7174 2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7175
7176         * gst/vaapi/gstvaapidecode.c:
7177         * gst/vaapi/gstvaapidecode.h:
7178         * gst/vaapi/gstvaapipluginbase.c:
7179         * gst/vaapi/gstvaapipluginbase.h:
7180         * gst/vaapi/gstvaapipostproc.c:
7181           Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
7182           -- Maintaing decoded surface resoluton and actual display resoultion separately
7183           -- Before pushing every frames downstream, check for the requirement of pool negoation and
7184           output_state negotiation: This is needed to avoid multiple issuses with cropping,
7185           multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
7186           possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
7187           We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
7188           This is slight overhead, but safe enough. Optimization could be possible though.
7189           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7190
7191 2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7192
7193         * gst/vaapi/gstvaapidecode.c:
7194           vaapidecode: Delay the output format setting until we have a decoded surface
7195           This will help to consoidate the out caps negotiation to a single place,
7196           which will make the code simpler, allows to get the exact decoded format
7197           if needed and the selected chroma type too.
7198           https://bugzilla.gnome.org/show_bug.cgi?id=753914
7199
7200 2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7201
7202         * gst/vaapi/gstvaapidecode.h:
7203           vaapidecode: GST_VAAPIDECODE macro is a cast
7204           This patch is the continuation of commit 1e1d3b1d because the function
7205           gst_vaapidecode_get_type() got undefined since then.
7206           Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
7207           structure. The rest of the GObject handling macros were deleted too.
7208
7209 2016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
7210
7211         * configure.ac:
7212           Back to development
7213
7214 === release 1.8.0 ===
7215
7216 2016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
7217
7218         * ChangeLog:
7219         * NEWS:
7220         * configure.ac:
7221         * gstreamer-vaapi.doap:
7222           Release 1.8.0
7223
7224 === release 1.7.91 ===
7225
7226 2016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
7227
7228         * ChangeLog:
7229         * NEWS:
7230         * configure.ac:
7231         * gstreamer-vaapi.doap:
7232           Release 1.7.91
7233
7234 2016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7235
7236         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7237           decoder: h265: Fix offset calculation in codec_data parsing
7238           https://bugzilla.gnome.org/show_bug.cgi?id=762922
7239
7240 2016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7241
7242         * gst/vaapi/gstvaapidecodebin.c:
7243           vaapidecodebin: don't handle jpeg decoding
7244           As JPEG decoder has been split and demoted, it cannot be handled by
7245           vaapidecodebin
7246           Added a fixme comment regarding the future removal of vaapidecode.
7247           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7248
7249 2016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7250
7251         * gst/vaapi/gstvaapidecode.c:
7252           vaapidecode: split out jpeg decoder
7253           Split, as a different element, the JPEG decoder.
7254           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7255
7256 2016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7257
7258         * gst/vaapi/gstvaapi.c:
7259         * gst/vaapi/gstvaapidecode.c:
7260         * gst/vaapi/gstvaapidecode.h:
7261           vaapidecode: register decoder with internal GType
7262           Don't expose the the vaapidecode GType, instead expose a function
7263           which will register element.
7264           This is the first step to split the decoder by codecs.
7265           https://bugzilla.gnome.org/show_bug.cgi?id=734093
7266
7267 2016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7268
7269         * gst/vaapi/gstvaapidecode.c:
7270           vaapidecode: remove unused function declaration
7271           There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
7272           code-style of the other pre-declared functions.
7273
7274 2016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7275
7276         * docs/plugins/Makefile.am:
7277           build: git ignore gtkdoc generated files
7278
7279 2016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7280
7281         * m4/Makefile.am:
7282           build: handle git ignore in m4 directory
7283
7284 2016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7285
7286         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7287           vaapidecoder_h265: plug leak of h265 parsing info
7288           If something goes wrong while parsing, the info object is
7289           being leaked
7290           https://bugzilla.gnome.org/show_bug.cgi?id=763121
7291
7292 2016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7293
7294         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7295           vaapidecoder_h264: plug leak of h264 parsing info
7296           If something goes wrong while parsing, the info object is
7297           being leaked
7298           https://bugzilla.gnome.org/show_bug.cgi?id=763121
7299
7300 2016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
7301
7302         * gst/vaapi/gstvaapipluginutil.c:
7303           plugins: fix gstgl and vaapi memory leaks
7304           1\ Unref gl_display and gl_window as soon they are not needed.
7305           2\ Remove an unneeded display type check, since is handled by
7306           gst_vaapi_created_display_from_handle()
7307           3\ Unref vaapi's display if the display cannot be bind to a GL API.
7308           Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7309           https://bugzilla.gnome.org/show_bug.cgi?id=763354
7310
7311 2016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
7312
7313         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7314           vaapidisplay: Fix uninitialized value error for VA attribute
7315           https://bugzilla.gnome.org/show_bug.cgi?id=763362
7316
7317 2016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7318
7319         * gst/vaapi/gstvaapidecode.c:
7320         * gst/vaapi/gstvaapiencode.c:
7321           plugins: proxy information from downstream caps
7322           Propagate to upstream the downstream information, such as fps, par, etc.
7323           This will fix several "getcaps" critical warnings in gst-validate.
7324           https://bugzilla.gnome.org/show_bug.cgi?id=763300
7325
7326 2016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7327
7328         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7329           decoder: vp9: Assign values for profile and bit_depth from frame header
7330           bit_depth field has added only in VA-API 0.39.0, added version check.
7331
7332 2016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
7333
7334         * Makefile.am:
7335           build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
7336           https://bugzilla.gnome.org/show_bug.cgi?id=763067
7337
7338 === release 1.7.90 ===
7339
7340 2016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
7341
7342         * ChangeLog:
7343         * NEWS:
7344         * configure.ac:
7345         * gstreamer-vaapi.doap:
7346           Release 1.7.90
7347
7348 2016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
7349
7350         * configure.ac:
7351           configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
7352
7353 2016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7354
7355         * gst/vaapi/gstvaapidecode.c:
7356           vaapidecode: intersect with filter in getcaps()
7357           In commit 6034734d I forgot to add the caps filter intersection in the
7358           getcaps() vmethod generating a regression when a capsfilter is set in the
7359           pipeline.
7360           This commit adds the caps filter intersection.
7361
7362 2016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
7363
7364         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7365           Add memset to initialize value for VAEncSliceParameterBufferJPEG
7366           https://bugzilla.gnome.org/show_bug.cgi?id=762850
7367
7368 2016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
7369
7370         * common:
7371           Automatic update of common submodule
7372           From b64f03f to 6f2d209
7373
7374 2016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7375
7376         * Makefile.am:
7377         * configure.ac:
7378         * m4/Makefile.am:
7379           build: add m4 directory
7380           Instead of rely on the automatic creation of m4 directory by aclocal, we
7381           already control it. Later we could create our own m4 scripts in order to
7382           unclutter configure.ac
7383           https://bugzilla.gnome.org/show_bug.cgi?id=762528
7384
7385 2016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
7386
7387         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7388           decoder: hevc: Fill dependent slice segment headers while parsing
7389           Copy the data into the dependent slice segment header from the
7390           corresponding independent slice segment header during parsing.
7391           Previously the reference to the "previous" independent header was
7392           held through the parsing phase and then dereferenced during the
7393           decoding phase. This caused all dependent headers to be populated
7394           with the data of the AU's last independent header instead of the
7395           proper corresponding header.
7396           https://bugzilla.gnome.org/show_bug.cgi?id=762352
7397           Changes since v1:
7398           - Reworded commit message
7399
7400 2016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7401
7402         * gst/vaapi/gstvaapidecode.c:
7403           vaapidecode: use video decoder getcaps()
7404           The usage of getcaps() vmethod is preferred than to handle manually the sink's
7405           caps query.
7406           In order to avoid function declarations, this patch moves the class_init()
7407           method to the end of the file.
7408
7409 2016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7410
7411         * gst/vaapi/gstvaapipluginbase.c:
7412           plugins: remove deprecated code
7413           Since we are only supporting current GStreamer version, since 1.3
7414           gst_buffer_pool_config_add_option() checks if the option to add is
7415           already set. There is no need to do it ourselves.
7416
7417 2016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7418
7419         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7420           vaapidecoder_h265: fix parsing of NALU aligned data
7421           Don't assume the whole buffer is a single NAL, instead look for the
7422           next start code in case there are multiple NALs per buffer.
7423           https://bugzilla.gnome.org/show_bug.cgi?id=762328
7424
7425 2016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7426
7427         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7428           vaapidecoder_h264: fix parsing of NALU aligned data
7429           Don't assume the whole buffer is a single NAL, instead look for the
7430           next start code in case there are multiple NALs per buffer.
7431           https://bugzilla.gnome.org/show_bug.cgi?id=762328
7432
7433 2016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
7434
7435         * gst/vaapi/gstvaapisink.c:
7436           vaapisink: Fix event,pad,structure memory leaks
7437           https://bugzilla.gnome.org/show_bug.cgi?id=762229
7438
7439 2016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
7440
7441         * gst/vaapi/gstvaapipluginbase.c:
7442           Add icamerasrc as dmabuf capable peer element
7443           icamerasrc is another gstreamer plugin using to capture RAW
7444           frames from camera device. It is based on libcamhal library.
7445           There are some properties available to control icamera behavior.
7446           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
7447           Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
7448           https://bugzilla.gnome.org/show_bug.cgi?id=759481
7449           Fixme: This is the similar workaround we done for v4l2src.
7450           The workaround will be removed once we fix #755072
7451
7452 2016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
7453
7454         * gst/vaapi/gstvaapipluginbase.c:
7455           vaapipluginbase: Fix structure memory leak
7456           config structure is not being freed in all cases
7457           https://bugzilla.gnome.org/show_bug.cgi?id=762172
7458
7459 2016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
7460
7461         * gst/vaapi/gstvaapidecode.c:
7462           vaapidecode: Fix videocodec state memory leak
7463           When state is not NULL and either width/height of video info is 0, then state leaks
7464           https://bugzilla.gnome.org/show_bug.cgi?id=762173
7465
7466 2016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
7467
7468         * gst/vaapi/gstvaapisink.c:
7469           vaapisink: post message for application for unhandled keyboard/mouse events
7470           Makes (most) keyboard shortcuts work in gst-play-1.0 when
7471           the video window has focus.
7472
7473 2016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
7474
7475         * gst/vaapi/gstvaapidecode.c:
7476           vaapidecode: Fix capsfeature memory leak
7477           https://bugzilla.gnome.org/show_bug.cgi?id=762116
7478
7479 2016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
7480
7481         * gst/vaapi/gstvaapisink.c:
7482           vaapisink: Fix capsfeature memory leak
7483           caps feature allocated is not being freeing in some cases
7484           https://bugzilla.gnome.org/show_bug.cgi?id=762111
7485
7486 2016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
7487
7488         * configure.ac:
7489         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
7490         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7491         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7492         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7493         * gst-libs/gst/vaapi/gstvaapifilter.c:
7494         * gst/vaapi/gstvaapidecodebin.c:
7495         * gst/vaapi/gstvaapipluginutil.c:
7496           vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
7497
7498 2016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
7499
7500         * configure.ac:
7501           configure: Fix setting of extra compiler warning flags
7502
7503 2016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7504
7505         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
7506           libs: fix build error
7507           gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
7508           functions are used only when libva's API version is greater than 0.36.0
7509           This patch guards those functions completely rather than just their
7510           content. The patch is a continuation of commit 38f8fea4
7511           Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
7512           https://bugzilla.gnome.org/show_bug.cgi?id=762055
7513
7514 2016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
7515
7516         * tests/simple-encoder.c:
7517           tests: simple-encoder: fix build error
7518           argument mismatch of gsize with 'long unsigned int'
7519           https://bugzilla.gnome.org/show_bug.cgi?id=762055
7520
7521 2016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7522
7523         * gst/vaapi/gstvaapisink.c:
7524           vaapisink: Fix wrong caps advertising
7525           The get_caps() should only report the supported formats.
7526           https://bugzilla.gnome.org/show_bug.cgi?id=761147
7527
7528 2016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
7529
7530         * common:
7531           Automatic update of common submodule
7532           From e97c9bb to b64f03f
7533
7534 2016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7535
7536         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7537         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
7538         * gst/vaapi/gstvaapi.c:
7539         * gst/vaapi/gstvaapiencode_h264.c:
7540         * gst/vaapi/gstvaapiencode_h265.c:
7541         * gst/vaapi/gstvaapiencode_jpeg.c:
7542         * gst/vaapi/gstvaapiencode_mpeg2.c:
7543         * gst/vaapi/gstvaapiencode_vp8.c:
7544           rename encoders to vaapi{codec}enc
7545           Trying to comply with GStreamer's element names, this patch renames the
7546           encoders using the name format vaapi{codec}enc.
7547           In this way, the plugin documentation is linked correctly.
7548           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7549
7550 2016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7551
7552         * configure.ac:
7553           Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
7554           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7555
7556 2016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7557
7558         * configure.ac:
7559           build: remove vp9 parser check
7560           Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
7561           the check of the parser, as we did for the others.
7562           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7563
7564 2016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7565
7566         * common:
7567         * configure.ac:
7568           Back to development
7569           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7570
7571 === release 1.6.0 ===
7572
7573 2016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7574
7575         * configure.ac:
7576           Release 1.6.0
7577
7578 2016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7579
7580         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7581         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7582         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7583           libs: fix compiler warnings
7584           After setting the release flags, the compiler warns about a couple
7585           initialized variables.
7586           Also marked a couple of set variables as unused, because they are only
7587           used for assertion.
7588           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7589
7590 2016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7591
7592         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7593         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
7594         * gst/vaapi/gstvaapidecode.c:
7595         * gst/vaapi/gstvaapidecodebin.c:
7596         * gst/vaapi/gstvaapiencode_h264.c:
7597         * gst/vaapi/gstvaapiencode_h265.c:
7598         * gst/vaapi/gstvaapiencode_jpeg.c:
7599         * gst/vaapi/gstvaapiencode_mpeg2.c:
7600         * gst/vaapi/gstvaapiencode_vp8.c:
7601         * gst/vaapi/gstvaapipostproc.c:
7602         * gst/vaapi/gstvaapisink.c:
7603           docs: update plugin documentation
7604           Update all the documentation of elements of the vaapi plugin.
7605           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7606
7607 2016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7608
7609         * Makefile.am:
7610         * configure.ac:
7611         * docs/Makefile.am:
7612         * docs/plugins/Makefile.am:
7613         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
7614         * docs/plugins/gstreamer-vaapi-plugins.types:
7615         * docs/reference/Makefile.am:
7616         * docs/reference/plugins/Makefile.am:
7617         * docs/reference/plugins/plugins-sections.txt:
7618         * docs/reference/plugins/plugins.types:
7619         * docs/version.entities.in:
7620           resurrect gtk-doc machinery
7621           Our auto-generated documentation has been a bit neglected. This patch replaces
7622           the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
7623           plugins, elements and libraries.
7624           This patch also re-enables documentation generation.
7625           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7626
7627 2016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7628
7629         * ChangeLog:
7630         * Makefile.am:
7631         * autogen.sh:
7632         * configure.ac:
7633           use gst-common submodule
7634           This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
7635           GStreamer common submodule.
7636           The documentation generation has been disable temporarily since it needs a
7637           major rework, which will be done in the following commit.
7638           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7639
7640 2016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7641
7642         * .gitmodules:
7643         * common:
7644           add gst-common submodule
7645           Pointing to branch 1.6
7646           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7647
7648 2016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7649
7650         * gstreamer-vaapi.doap:
7651           add doap descriptor
7652           DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
7653           describe software projects, in particular free and open source software.
7654           The description is used in GStreamer as in many other open source projects.
7655           This patch adds the doap description of this project.
7656           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7657
7658 2016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7659
7660         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
7661         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7662         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
7663         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
7664         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7665         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
7666         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
7667         * gst-libs/gst/vaapi/gstvaapiimage.c:
7668         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
7669         * gst-libs/gst/vaapi/gstvaapipixmap.c:
7670         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
7671         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7672         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
7673           libs: humongous code style fix
7674           As part of the upstreaming process of gstreamer-vaapi into the GStreamer
7675           umbrella, we need to comply with the project's code style. This meant to
7676           change a lot of code.
7677           It was decided to use a single massive patch to update the code style.
7678           I would like to apologize with the original developers of this code because of
7679           the history breakage.
7680           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7681
7682 2016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7683
7684         * gst-libs/gst/vaapi/gstvaapicontext.c:
7685         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7686         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
7687         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7688         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7689         * gst/vaapi/gstvaapivideomemory.c:
7690           libs: small refactors to enhance the code style
7691           As gst-indent generated ugly code in these cases, this patch changes the used
7692           idiomatic into other one.
7693           No functional changes were introduced.
7694           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7695
7696 2016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7697
7698         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
7699         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
7700         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
7701         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7702         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7703         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
7704         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7705         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7706         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7707         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7708         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7709         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
7710         * gst-libs/gst/vaapi/gstvaapifilter.c:
7711         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
7712         * gst-libs/gst/vaapi/gstvaapisurface.c:
7713         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
7714         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
7715         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
7716         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
7717         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
7718         * gst-libs/gst/vaapi/gstvaapiwindow.c:
7719         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
7720           libs: small code style fixes
7721           This a set of small code style fixes detected as-is by gst-indent.
7722           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7723
7724 2016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7725
7726         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
7727         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7728         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
7729         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
7730         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
7731         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
7732         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
7733         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
7734         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
7735           libs: trivial comment style fixes
7736           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7737
7738 2016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7739
7740         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
7741         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
7742           libs: avoid gst-indent mess up
7743           Guard pieces of code to avoid gst-ident to mess up the following code.
7744           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7745
7746 2016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7747
7748         * gst/vaapi/gstvaapidecode.c:
7749         * gst/vaapi/gstvaapidecodebin.c:
7750         * gst/vaapi/gstvaapipluginutil.c:
7751         * gst/vaapi/gstvaapisink.c:
7752         * gst/vaapi/gstvaapivideomemory.c:
7753           plugins: fix code style
7754           Minor code style changes by executing gst-indent in gst/vaapi directory.
7755           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7756
7757 2016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
7758
7759         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7760         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7761           Fix some more compiler warning
7762           Two (false) compiler warnings about variables potentially
7763           being used uninitialized, and one about a variable being
7764           set but not used.
7765           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7766
7767 2016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
7768
7769         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7770         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7771         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7772         * gst-libs/gst/vaapi/gstvaapifilter.c:
7773         * gst/vaapi/gstvaapidecode.c:
7774         * gst/vaapi/gstvaapipluginbase.c:
7775         * gst/vaapi/gstvaapipluginutil.c:
7776         * gst/vaapi/gstvaapipostproc.c:
7777         * tests/simple-encoder.c:
7778         * tests/test-filter.c:
7779           vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
7780           Declare variables at the beginning of a code block, which
7781           is how it's done in GStreamer.
7782           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7783
7784 2016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7785
7786         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7787           decoder: vp9: Fix crop rectangle setting
7788           Align with software vp9dec behaviour: Add crop rectangle
7789           only if display_width/display_height is less than the
7790           frame_hdr->width/frame_hdr->height
7791
7792 2016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7793
7794         * gst/vaapi/gstvaapidecode.c:
7795           vaapidecode: Fix renegotiation for resolution change
7796           Always renegotiate the pool if the immediate frame which going
7797           to be pushed has a different un-cropped resolution than the already
7798           configured one.
7799
7800 2016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7801
7802         * gst/vaapi/gstvaapipluginbase.h:
7803           plugins: use the same pre-processor macro
7804           In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
7805           code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
7806           HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
7807           We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
7808           in the header file.
7809           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7810
7811 2016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7812
7813         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7814           decoder: update a deprecated function
7815           Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
7816           deprecated since GStreamer 1.0.
7817           This patch replace it with gst_adapter_prev_pts()
7818           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7819
7820 2016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7821
7822         * configure.ac:
7823           build: honor configure's cache
7824           The user might enable --config-cache when calling configure script. If so, our
7825           configuration variables will not be correctly calculated.
7826           This patch extracts the value of our variables either from the cache or from
7827           the operation result.
7828           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7829
7830 2016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7831
7832         * configure.ac:
7833           build: use common version variables
7834           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7835
7836 2016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7837
7838         * configure.ac:
7839           build: hard-code an unneeded macro
7840           That macro is required for EGL's dynamic module loading, but since
7841           gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
7842           That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
7843           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7844
7845 2016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7846
7847         * configure.ac:
7848           build: refactorization of dependency tracking
7849           This patch tries to avoid branching in configure.ac using a more functional
7850           approach in macros usage.
7851           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7852
7853 2016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7854
7855         * configure.ac:
7856           build: check for OpenGL either GLX or EGL are requested
7857           Refactor some code in configure.ac to centralize $enable_opengl definition.
7858           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7859
7860 2016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7861
7862         * configure.ac:
7863           build: indent and add square braces
7864           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7865
7866 2016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7867
7868         * configure.ac:
7869           build: upgrade autotools version dependency
7870           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7871
7872 2016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7873
7874         * configure.ac:
7875           build: enhance string comparisons
7876           Add a 'x' as a prefix in string comparisons to watch out for edge cases where
7877           the string is empty or undefined.
7878           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7879
7880 2016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7881
7882         * configure.ac:
7883           build: remove unused variables
7884           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7885
7886 2016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7887
7888         * configure.ac:
7889           build: remove check for old version of gstreamer
7890           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7891
7892 2016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7893
7894         * configure.ac:
7895           build: remove GStreamer's parsers checks
7896           This patch removes almost all the parsers check since they are already in place,
7897           with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
7898           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7899
7900 2016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7901
7902         * configure.ac:
7903         * gst/vaapi/Makefile.am:
7904           build: add gstreamer-pbutils dependency
7905           This dependency was added in gstvaapidecodebin with the call
7906           gst_missing_element_message_new().
7907           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7908
7909 2016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7910
7911         * configure.ac:
7912           build: fix variable declaration
7913           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7914
7915 2016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7916
7917         * gst-libs/gst/vaapi/Makefile.am:
7918           build: fix when HEVC decoder is disabled
7919           This a very pathological situation: when we have a HEVC encoder but not a HEVC
7920           decoder.
7921           The encoder needs functions that are only available when the decoder is
7922           enabled.
7923           This patch moves the utils functions into the generic sources, such as the
7924           rest of the utils.
7925           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7926
7927 2016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7928
7929         * gst/vaapi/Makefile.am:
7930           build: remove unused EGL specific sources
7931           These Makefile variables are not used at all.
7932           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7933
7934 2016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7935
7936         * gst/vaapi/Makefile.am:
7937           build: remove check for GStreamer 1.2
7938           Since we are working for current stable GStreamer 1.6
7939           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7940
7941 2016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7942
7943         * gst/vaapi/gstvaapiparse.h:
7944           Remove more video parser crufts
7945           This header is not used anymore since it declares parsers that are
7946           already in GStreamer 1.6
7947           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7948
7949 2016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
7950
7951         * configure.ac:
7952         * docs/reference/Makefile.am:
7953         * docs/reference/libs/Makefile.am:
7954         * docs/reference/libs/libs-docs.xml.in:
7955         * docs/reference/libs/libs-overrides.txt:
7956         * docs/reference/libs/libs-sections.txt:
7957           docs: remove library documentation which is non-public now
7958           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7959
7960 2016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
7961
7962         * Makefile.am:
7963         * configure.ac:
7964         * debian.upstream/Makefile.am:
7965         * debian.upstream/changelog.in:
7966         * debian.upstream/compat:
7967         * debian.upstream/control.in:
7968         * debian.upstream/copyright:
7969         * debian.upstream/gstreamer-vaapi-doc.install.in:
7970         * debian.upstream/gstreamer-vaapi.install.in:
7971         * debian.upstream/rules:
7972           Remove debian.upstream packaging
7973           https://bugzilla.gnome.org/show_bug.cgi?id=759192
7974
7975 2016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7976
7977         * gst-libs/gst/vaapi/gstvaapidecoder.c:
7978         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7979         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
7980         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7981         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7982         * gst/vaapi/gstcompat.h:
7983         * gst/vaapi/gstvaapi.c:
7984         * gst/vaapi/gstvaapidecode.c:
7985         * gst/vaapi/gstvaapiencode.c:
7986         * gst/vaapi/gstvaapipluginbase.c:
7987         * gst/vaapi/gstvaapipluginbase.h:
7988         * gst/vaapi/gstvaapipluginutil.c:
7989         * gst/vaapi/gstvaapisink.c:
7990           Remove old gst version guards
7991           As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
7992           all the old GStreamer version guards.
7993           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7994
7995 2016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
7996
7997         * gst/vaapi/gstvaapiparse.c:
7998           Remove video parser crufts
7999           We forgot to remove gstvaapiparse.c when we removed all the videoparser
8000           machinery.
8001           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8002
8003 2015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8004
8005         * docs/reference/libs/Makefile.am:
8006         * docs/reference/plugins/Makefile.am:
8007         * gst-libs/gst/vaapi/Makefile.am:
8008         * gst/vaapi/Makefile.am:
8009         * tests/Makefile.am:
8010           libs: remove versioning
8011           Since we don't install libraries anymore, it makes no sense to keep
8012           versioning them according to the gstreamer's version.
8013           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8014
8015 2015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8016
8017         * configure.ac:
8018         * debian.upstream/Makefile.am:
8019         * debian.upstream/control.in:
8020         * debian.upstream/libgstvaapi-dev.install.in:
8021         * debian.upstream/libgstvaapi-drm.install.in:
8022         * debian.upstream/libgstvaapi-glx.install.in:
8023         * debian.upstream/libgstvaapi-wayland.install.in:
8024         * debian.upstream/libgstvaapi-x11.install.in:
8025         * debian.upstream/libgstvaapi.install.in:
8026         * gst-libs/gst/vaapi/Makefile.am:
8027         * tests/Makefile.am:
8028           libs: make libraries no installables
8029           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8030
8031 2015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8032
8033         * debian.upstream/libgstvaapi-dev.install.in:
8034         * gst-libs/gst/vaapi/Makefile.am:
8035           Do not install libgstvaapi headers
8036           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8037
8038 2016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8039
8040         * Makefile.am:
8041         * configure.ac:
8042         * patches/Makefile.am:
8043         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
8044         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
8045         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
8046         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
8047         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
8048         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
8049         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
8050         * patches/videoparsers/Makefile.am:
8051         * patches/videoparsers/series.frag:
8052           Remove videoparser patches
8053
8054 2015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8055
8056         * Makefile.am:
8057         * configure.ac:
8058         * debian.upstream/libgstvaapi-dev.install.in:
8059         * pkgconfig/Makefile.am:
8060         * pkgconfig/gstreamer-vaapi-drm.pc.in:
8061         * pkgconfig/gstreamer-vaapi-glx.pc.in:
8062         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
8063         * pkgconfig/gstreamer-vaapi-x11.pc.in:
8064         * pkgconfig/gstreamer-vaapi.pc.in:
8065           Remove pkg-config files
8066           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8067
8068 2015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8069
8070         * .gitmodules:
8071         * Makefile.am:
8072         * configure.ac:
8073         * ext/Makefile.am:
8074         * ext/codecparsers:
8075         * gst-libs/gst/Makefile.am:
8076         * gst-libs/gst/codecparsers/Makefile.am:
8077         * gst-libs/gst/vaapi/Makefile.am:
8078         * gst/vaapi/Makefile.am:
8079           Remove codecparsers submodule
8080           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8081
8082 2015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8083
8084         * .gitmodules:
8085         * autogen.sh:
8086         * configure.ac:
8087         * debian.upstream/libgstvaapi.install.in:
8088         * ext/Makefile.am:
8089         * ext/libvpx/Makefile.am:
8090         * ext/libvpx/gstlibvpx.c:
8091         * ext/libvpx/gstlibvpx.h:
8092         * ext/libvpx/libgstcodecparsers_vpx.vers:
8093         * ext/libvpx/sources.frag:
8094         * ext/libvpx/upstream:
8095         * gst-libs/gst/codecparsers/Makefile.am:
8096         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
8097           Remove libvpx submodule
8098           We will be using upstream codecparsers always.
8099           No more internal libvpx !
8100
8101 2015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8102
8103         * configure.ac:
8104           build: fix check for GstJpegParser
8105           Right now the local JPEG parser is always compiled because the check for the
8106           upstreamed version is broken: it looks for an non existent symbol:
8107           GstJpegImage.
8108           This patch changes that check for< GstJpegFrameHdr.
8109           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8110
8111 2015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
8112
8113         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8114           wayland: free the frame in frame_release_callback()
8115           This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
8116           decouple wl_buffer from frame).
8117           Otherwise the frame may be overwritten while it is still used by the
8118           compositer:
8119           The frame done callback (frame_done_callback()) is called, when the
8120           compositor is done processing the frame and hands it to the hardware.
8121           The buffer release callback (frame_release_callback()) is called when the
8122           buffer memory is no longer used.
8123           This can be quite some time later: E.g. if weston (with the DRM backend)
8124           puts the buffer on a hardware plane, then then buffer release callback is
8125           called when the kernel is done with the buffer. This is usually when the
8126           next frame is shown, so most likely after the frame done callback for the
8127           next frame!
8128           Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
8129           destroy()" the mentioned possible leak should no longer be a problem, so
8130           reverting this change should cause no leaking buffers.
8131           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8132           https://bugzilla.gnome.org/show_bug.cgi?id=758848
8133           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8134
8135 2016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8136
8137         * gst/vaapi/gstvaapipostproc.c:
8138           vaapipostproc: check ANY caps at transform_caps()
8139           When transforming downstream caps we should check for ANY caps from peer pad,
8140           otherwise we get a segmentation fault.
8141           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8142           https://bugzilla.gnome.org/show_bug.cgi?id=759893
8143
8144 2016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8145
8146         * gst/vaapi/gstvaapisink.c:
8147           vaapisink: ignore frame if its upload failed
8148           When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
8149           into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
8150           ignored by the vaapisink, leading to a segmentation fault.
8151           This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
8152           returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
8153           segmentation fault, but doing and effort to continue rendering. This is
8154           the same behavior of ximagesink.
8155           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8156           https://bugzilla.gnome.org/show_bug.cgi?id=759332
8157
8158 2015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
8159
8160         * configure.ac:
8161           build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
8162           https://bugzilla.gnome.org/show_bug.cgi?id=759184
8163
8164 2015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8165
8166         * gst-libs/gst/vaapi/gstvaapicontext.c:
8167         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8168         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
8169         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
8170           Add 10 HEVC 10 bit decoding support
8171           Only supporting vaapidecode ! vaapisink combination for now.
8172           Missing dependencies:
8173           1: No support for P010 video format in GStreamer
8174           2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
8175           3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
8176           through GstVideoMeta.
8177           Right now we only set chroma format (YUV420 with more than 8 bits per channel)
8178           for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
8179           of the surfaces is implementation (driver) defined, which is P010.
8180
8181 2001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8182
8183         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
8184         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
8185           gstvaapisurfacepool: Add new API to create surface pool based on chroma type
8186           This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
8187           creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
8188           chroam type and dimensions. The underlying format of the surfaces is
8189           implementation (driver) defined.
8190
8191 2015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8192
8193         * gst-libs/gst/vaapi/gstvaapisurface.h:
8194         * gst-libs/gst/vaapi/gstvaapiutils.c:
8195           Add definitions for YUV420 with more than 8 bits per channel
8196
8197 2015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8198
8199         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8200           gstvaapiporfile: Fix string representation of HEVCMain10 profile
8201
8202 2015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8203
8204         * configure.ac:
8205           Bump version for development
8206
8207 === release 0.7.0 ===
8208
8209 2015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8210
8211         * configure.ac:
8212           0.7.0
8213
8214 2015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8215
8216         * NEWS:
8217           NEWS: Updates
8218
8219 2015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8220
8221         * AUTHORS:
8222           AUTHORS: Update
8223
8224 2015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8225
8226         * README:
8227           README: Update
8228
8229 2015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8230
8231         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
8232           texture: detect GL version and use the proper API
8233           When receiving the texture from the application or the video sink, we must
8234           know it size and border. To query the texture the API has changed according to
8235           the OpenGL version used in the GL context of the application/vsink.
8236           This patch checks the current context API type and queries the texture
8237           according to this detected API.
8238           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8239           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8240
8241 2015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8242
8243         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
8244           texture: check for expected target and format
8245           gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
8246           formats GL_RGBA or GL_BGRA.
8247           This patch adds a debugging verification of those values.
8248           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8249           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8250
8251 2015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8252
8253         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
8254         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8255           libs: add gl3_bind_texture_2d()
8256           Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
8257           needed. In particular, the Intel's Mesa implementation complains if it is
8258           called.
8259           This patch add a new binding function for 2D textures, without enabling
8260           gl3_bind_texture_2d()[2].
8261           1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
8262           2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
8263           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8264           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8265
8266 2015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8267
8268         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
8269         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8270           libs: add gl_get_current_api()
8271           In order to know which OpenGL API use, we must detect the API type of current
8272           context. This patch adds the function gl_get_current_api() which returns the
8273           OpenGL API type.
8274           This function is an adaptation of gst_gl_context_get_current_gl_api() from
8275           GstGL.
8276           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8277           https://bugzilla.gnome.org/show_bug.cgi?id=753099
8278
8279 2015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8280
8281         * configure.ac:
8282         * gst-libs/gst/vaapi/Makefile.am:
8283           build: Add gmodule dependency for libgstvaapi_egl
8284           https://bugzilla.gnome.org/show_bug.cgi?id=756259
8285
8286 2015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8287
8288         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
8289         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
8290         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
8291         * patches/videoparsers/series.frag:
8292           patches/videoparsers: h264: Disable passthorugh mode enabling
8293           This is a quick fix for regression introduced by the upstream
8294           commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
8295           The patch is disabling the passthrough mode, otherwise it will
8296           break multi-layer mvc stream parsing.
8297           https://bugzilla.gnome.org/show_bug.cgi?id=758656
8298
8299 2015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8300
8301         * gst/vaapi/Makefile.am:
8302         * patches/videoparsers/Makefile.am:
8303         * patches/videoparsers/series.frag:
8304           build: add gsth265parse patches conditionally
8305           As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
8306           GStreamer 1.2, the patching of gsth265parse must be conditional to the target
8307           GStreamer version.
8308           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8309           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8310
8311 2015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8312
8313         * gst/vaapi/Makefile.am:
8314           build: declare correctly parse lib built files
8315           This is a continuation of commit fc8a0d12
8316           When declaring BUILT_SOURCES, those files should not be distributed. This
8317           patch avoids the distribution of the generated source code.
8318           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8319           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8320
8321 2015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8322
8323         * ext/libvpx/sources.frag:
8324           build: libvpx: Add missing source file
8325
8326 2015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8327
8328         * gst/vaapi/gstvaapipostproc.c:
8329           vaapipostproc: Correctly detect the caps change
8330           This is a quick fix for regression introuduced by the
8331           commit 757833230bc73b8e3b4e31649e4618ba802bea51
8332           With out this, the gst_vaapipostproc_create() will
8333           never get invoked.
8334           https://bugzilla.gnome.org/show_bug.cgi?id=758543
8335
8336 2015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8337
8338         * ext/libvpx/Makefile.am:
8339         * ext/libvpx/sources.frag:
8340           build: libvpx: update the sources lists
8341           `make dist` broke since commit f06798 (libvpx: Update the submodule to
8342           libvpx-1.4.0) because the sources.frag does not contain all the module
8343           sources.
8344           This patch updates thoroughly the sources.
8345           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8346           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8347
8348 2015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8349
8350         * gst/vaapi/gstvaapipostproc.c:
8351           vaapipostproc: don't set caps change at first set
8352           When the source caps change, the filter is destroyed and recreated.
8353           Nonetheless, this happens every time the vaapipostproc starts, since the caps
8354           change detection algorithm does not take in consideration when the caps are
8355           set by first time.
8356           This patch intents to be an optimization, to avoid a useless filter
8357           destroy-creation cycle when the sources caps are set for first time.
8358           The new helper function video_info_update() is a refactorization to avoid
8359           duplicated code.
8360           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8361           https://bugzilla.gnome.org/show_bug.cgi?id=758007
8362
8363 2015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8364
8365         * gst/vaapi/gstvaapipostproc.c:
8366           vaapipostproc: params video_info_changed() callers
8367           The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
8368           swapped the the order. This didn't raise problems since the comparison of both
8369           structures were not affected by its semantics.
8370           But still it would be better to fix this to keep the coherence of the code.
8371           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8372           https://bugzilla.gnome.org/show_bug.cgi?id=758007
8373
8374 2015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8375
8376         * gst/vaapi/Makefile.am:
8377           build: declare real built files
8378           When runnig the `make dist` target from a clean tree, it fails because
8379           if could not find the copied files from codecparsers submodule.
8380           They weren't copied because they weren't declared as built sources.
8381           This patch removes the stamp mechanism and use the actual file list to copy
8382           as the built sources. Also it fixes the duplication of the parser files.
8383           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8384           https://bugzilla.gnome.org/show_bug.cgi?id=755525
8385
8386 2015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8387
8388         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8389           decoder: vp9: Fix last/golden/altref frame index setting
8390           Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
8391           based on what ever reference frame indices encoded in frame header.
8392
8393 2015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8394
8395         * debian.upstream/rules:
8396           debian: remove custom parallel compilation
8397           In order to build a debian package with upstream source, the user should
8398           do
8399           ./autogen.sh
8400           cp -a debian.upstream debian
8401           debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
8402           The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
8403           way to make a parallel build (-j8 in this case).
8404           This commit removes the script in debian/rules that detects the number of
8405           cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
8406           official in debian.
8407           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8408           https://bugzilla.gnome.org/show_bug.cgi?id=754087
8409
8410 2015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8411
8412         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8413           decoder: vp9: Fix PTS calculation of cloned frames
8414
8415 2015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8416
8417         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8418           decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
8419           We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
8420           gstvaapidecoder base calss is reponsible for handling those frames later on.
8421           No need for explicit verification of frame header's show_frame in order to
8422           do picture outputing.
8423
8424 2015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8425
8426         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8427           decoder: vp9: Fix ref picture update while doing repeat frame
8428           Don't try to do frame decoding and reference picture update
8429           while receiving a vp9 frame having show_existing_frame flag
8430           set as TRUE.
8431
8432 2015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8433
8434         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8435           decoder: vp9: Add repeat-frame display handling
8436           If vp9 frame header come up with show_existing_frame flag set,
8437           we should duplicate the existing decoded frame as current frame to
8438           be displayed.
8439
8440 2015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8441
8442         * gst/vaapi/gstvaapidecodebin.c:
8443           vaapidecodebin: add me as element co-author
8444           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8445           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8446
8447 2015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8448
8449         * gst/vaapi/gstvaapidecodebin.c:
8450           vaapidecodebin: try to get display from decoder
8451           Rather than create a dummy display, if none has propagated as a context, we
8452           should try to get the one from vaapidecode.
8453           As the bin is already in READY state, the vaapidecode should be also in that
8454           state. That means that the contexts have been negotiated, and it should have
8455           already a display.
8456           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8457           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8458
8459 2015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8460
8461         * gst/vaapi/gstvaapidecodebin.c:
8462         * gst/vaapi/gstvaapidecodebin.h:
8463           vaapidecodebin: add postprocessor dynamically
8464           The former approach to left the bin unfinished has some problems: the context
8465           cannot be shared because the vaapidecode is unlinked in many cases, leading to
8466           creating a VADisplay twice.
8467           Initially the bin is fully functional, constructed as
8468           (-----------------------------------)
8469           |            vaapidecodebin         |
8470           |   (-------------)    (-------)    |
8471           |<--| vaapidecode |--->| queue |--->|
8472           |   (-------------)    (-------)    |
8473           (-----------------------------------)
8474           When the context is shared and the VADisplay has VPP capabilities, before
8475           changing to READY state, the bin is reconfigured dynamically, adding the
8476           vaapipostproc element afeter the queue:
8477           (--------------------------------------------------------)
8478           |                       vaapidecodebin                   |
8479           |   (-------------)    (-------)    (---------------)    |
8480           |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
8481           |   (-------------)    (-------)    (---------------)    |
8482           (--------------------------------------------------------)
8483           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8484           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8485
8486 2015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8487
8488         * gst/vaapi/gstvaapidecodebin.c:
8489           vaapidecodebin: delay the bin configuration
8490           Delay the bin configuration until changing to READY state. This is because we
8491           should add the vaapipostproc element until the vaapidecode has emitted the
8492           HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
8493           vaapipostproc.
8494           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8495           https://bugzilla.gnome.org/show_bug.cgi?id=757957
8496
8497 2015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8498
8499         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8500           decoder: vp9: Add crop rectangle support.
8501           Set crop rectange if:
8502           There is display_width and display_height which is different from actual width/height
8503           or
8504           The changed resolution is less than the actual configured dimension of surfaces
8505
8506 2015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8507
8508         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8509           decoder: vp9: Fix the context and surface pool reset for multi resolution video
8510           Unlike other decoders, vp9 decoder doesn't need to reset the
8511           whole context and surfaces for each resolution change. Context
8512           reset only needed if resolution of any frame is greater than
8513           what actullay configured. There are streams where a bigger
8514           resolution set in ivf header or webm header but actual resolution
8515           of all frames are less. Also it is possible to have inter-prediction
8516           between these multi resolution frames.
8517
8518 2015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8519
8520         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8521           decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
8522           Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
8523           Preliminary fix for supproting multi resolution video decode.
8524
8525 2015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8526
8527         * gst/vaapi/gstvaapidecode.c:
8528           vaapidecode: Add comments for corner case fixes and fix couple of indentations.
8529
8530 2015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8531
8532         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8533           decoder: vp9: Set lossless flag from frame header
8534
8535 2015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8536
8537         * ext/codecparsers:
8538           codecparsers: Update to gst-vaapi-branch d9f25
8539           d9f2527: codecparsers: vp9: Set lossless flag in frame header
8540
8541 2015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8542
8543         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8544           libs: vp9: remove unused symbols
8545           clang complains about a couple variables and one label which were not
8546           used. This patch removes them.
8547           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8548           https://bugzilla.gnome.org/show_bug.cgi?id=757958
8549
8550 2015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8551
8552         * ext/codecparsers:
8553           codecparsers: Update to gst-vaapi-branch da251bb
8554           da251bb: codecparsers: vp9: Optimize the memory allocation
8555           f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
8556
8557 2015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8558
8559         * gst/vaapi/gstvaapipluginbase.c:
8560         * gst/vaapi/gstvaapipluginbase.h:
8561           plugin: guard pointers to pad query functions
8562           Since gstreamer 1.4 is not required to have pad query functions if the query
8563           vmethods are used.
8564           This patch guards out the pad query functions for gstreamer < 1.4
8565           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8566           https://bugzilla.gnome.org/show_bug.cgi?id=757629
8567
8568 2015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8569
8570         * gst/vaapi/gstvaapiencode.c:
8571           vaapiencode: use pad query vmethods
8572           GstVideoEncoder, the base class of vaapiencode, added support for pad queries
8573           as virtual methods since gstreamer 1.4. This patch enables those vmethods,
8574           while keeps support for previous versions of gstreamer.
8575           This patch is relevant since GstVideoEncoder takes care of other queries that
8576           we are currently ignoring.
8577           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8578           https://bugzilla.gnome.org/show_bug.cgi?id=757629
8579
8580 2015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8581
8582         * gst/vaapi/gstvaapidecode.c:
8583           vaapidecode: return pad's template caps if no display
8584           A caps query can occur before the element has a display. In that case, the
8585           element can return its pad's template. But when the element already has a
8586           display, and the caps probe fails, the element shall return an empty caps, so
8587           the auto-plug could try with another decoder.
8588           If the element has a display and the caps probe works, then the computed caps
8589           should be returned.
8590           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8591           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8592
8593 2015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8594
8595         * gst/vaapi/gstvaapidecode.c:
8596         * gst/vaapi/gstvaapisink.c:
8597           plugins: don't create display at caps query
8598           Caps query can happen before the element has a bus. The display creation should
8599           be should occur on the context negotiation, when the bus is already configured.
8600           Then at caps query no display should be created.
8601           Instead of force the display creation, we graciously fail the allowed_caps()
8602           creation.
8603           This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
8604           basetransform descendant, seems to be not affected by this, nor the encoders.
8605           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8606           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8607
8608 2015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8609
8610         * gst/vaapi/gstvaapidecode.c:
8611         * gst/vaapi/gstvaapiencode.c:
8612         * gst/vaapi/gstvaapipluginutil.c:
8613         * gst/vaapi/gstvaapipluginutil.h:
8614         * gst/vaapi/gstvaapipostproc.c:
8615         * gst/vaapi/gstvaapisink.c:
8616           plugins: fix context query handling
8617           The current context query handling design is flawed: the function
8618           gst_vaapi_reply_to_query() returns FALSE either if the query is not a
8619           GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
8620           pad query function should handle differently each case.
8621           This patch changes the gst_vaapi_reply_to_query() for
8622           gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
8623           to match the correct context query handling.
8624           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8625           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8626
8627 2015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8628
8629         * gst/vaapi/gstvaapipluginutil.c:
8630           plugin: don't lose previous context at query
8631           When processing the GST_CONTEXT_QUERY we should not lose the previous
8632           context in the query, we should only add our display structure.
8633           This patch copies the old context, if it is there, and stamp our display on
8634           it. Otherwise, a new context is created.
8635           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8636           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8637
8638 2015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8639
8640         * gst/vaapi/gstvaapivideocontext.c:
8641         * gst/vaapi/gstvaapivideocontext.h:
8642           vaapivideocontext: add gst_vaapi_video_context_set_display()
8643           This function set the display to an already created context. This function is
8644           going to be used later.
8645           Also, gst_vaapi_video_context_new_with_display() now uses this function.
8646           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8647           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8648
8649 2015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8650
8651         * gst/vaapi/gstvaapipluginutil.c:
8652         * gst/vaapi/gstvaapivideocontext.c:
8653         * gst/vaapi/gstvaapivideocontext.h:
8654           plugins: check if display is set in sync
8655           Since the context messages are sync'ed, the display assignation happens in the
8656           same thread, hence we can know if the display was found or not as soon we call
8657           for it.
8658           In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
8659           as a new parameter, the address of the plugin's display, and reports back if
8660           the display was found and set.
8661           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8662           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8663
8664 2015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8665
8666         * gst/vaapi/gstvaapipluginutil.c:
8667         * gst/vaapi/gstvaapivideocontext.c:
8668           plugins: set display through context
8669           Instead of setting the display to the plugin directly after its creation, do
8670           it through the gstreamer's context mechanism, avoiding double assignations.
8671           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8672           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8673
8674 2015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8675
8676         * gst/vaapi/gstvaapivideocontext.c:
8677           vaapivideocontext: rename context structure
8678           The context structure is named "display" which is too generic. The contrary
8679           happens, for example, with GstGL, what uses the same name as the context, and
8680           its logs make more sense.
8681           This patch renames the context structure with the same name as the
8682           context, thus GST_PTR_FORMAT can pretty print it.
8683           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8684
8685 2015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8686
8687         * gst/vaapi/gstvaapivideocontext.c:
8688           vaapivideocontext: refactor gst_vaapi_video_context_prepare()
8689           First, refactorized run_context_query() into _gst_context_run_query(), adding
8690           a new parameter: the pad direction, in order to simplify the code.
8691           Second, added a new helper function: _gst_context_query(), which is a generic
8692           context query function.  It isolates the operation of running the query and
8693           sets the context if found, also it enhances the logs.
8694           _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
8695           future this helper function will be merged into the core libraries of
8696           GStreamer.
8697           Finally, gst_vaapi_video_context_prepare() was rewritten to use
8698           _gst_context_query().
8699           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8700           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8701
8702 2015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8703
8704         * gst/vaapi/gstvaapivideocontext.c:
8705           vaapivideocontext: refactor context category debug
8706           Refactor the extraction GST_CAT_CONTEXT logging using a only once
8707           initializator, so we could get the debug category from different code
8708           paths, safely.
8709           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8710           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8711
8712 2015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8713
8714         * gst/vaapi/gstvaapivideocontext.c:
8715           gstvaapivideocontext: fix indentation
8716           gst-indent does not handle correctly some expression like function
8717           declaration with attributes, breaking the following expressions.
8718           This patch makes gst-indent to ignore the attributed function
8719           declartion so the followed function definition is not mangled, such
8720           as happened in commit b4154a
8721           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8722           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8723
8724 2015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8725
8726         * gst/vaapi/gstvaapipluginbase.c:
8727           plugin: chain up set_context() vmethod
8728           Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
8729           the parent class in order to broadcast all its contexts when the element
8730           is added into a bin:
8731           http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
8732           There is no need to guard the call, because before GStreamer 1.7, the
8733           set_context() vmethod was NULL in the element class, hence the conditional
8734           call make it safe.
8735           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8736           https://bugzilla.gnome.org/show_bug.cgi?id=757598
8737
8738 2015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8739
8740         * tests/simple-encoder.c:
8741           tests: simple-encoder: remove dead code
8742           The caps creation for codec state configuration is not used. Let's remove it.
8743           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8744
8745 2015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8746
8747         * gst/vaapi/gstvaapidecodebin.c:
8748           vaapidecodebin: fix a leaked display instance
8749           The display returned by gst_vaapi_video_context_get_display() increments the
8750           references. Thus, we have to unref the returned display.
8751           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8752           https://bugzilla.gnome.org/show_bug.cgi?id=757595
8753
8754 2015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8755
8756         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
8757         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
8758           libs: remove unneeded headers
8759           Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
8760           required to include them in the header. It is not also required to include
8761           them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
8762           exposes their structures (e.g. GLXPixmap).
8763           Nonetheless, glext.h neither glxext.h are required to include, they are
8764           already included conditionally by gl.h and glx.h, respectively.
8765           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8766           https://bugzilla.gnome.org/show_bug.cgi?id=757577
8767
8768 2015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8769
8770         * ext/codecparsers:
8771           codecparsers: Update to gst-vaapi-branch 0ea6792
8772           0ea6792: codecparsers: vp9: Add header comments
8773           347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
8774
8775 2015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8776
8777         * gst/vaapi/gstvaapidecode.c:
8778           VP9: plugins: Add VP9 decoder
8779
8780 2015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8781
8782         * gst-libs/gst/vaapi/Makefile.am:
8783         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
8784         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
8785           VP9: libgstvaapi: Add VP9 decoder
8786
8787 2015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8788
8789         * gst-libs/gst/vaapi/gstvaapiprofile.c:
8790         * gst-libs/gst/vaapi/gstvaapiprofile.h:
8791           VP9: gstvaapiprofile: Add profile definitions
8792
8793 2015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8794
8795         * configure.ac:
8796           VP9: build: Check availability of vp9 decoder APIs
8797
8798 2015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8799
8800         * configure.ac:
8801         * ext/Makefile.am:
8802         * gst-libs/gst/codecparsers/Makefile.am:
8803           VP9: Allow building vp9 codecparser internally
8804
8805 2015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8806
8807         * ext/codecparsers:
8808           codecparsers: Update to gst-vaapi-branch commit ac5dc1a
8809           ac5dc1a: codecparsers: vp9: Add vp9 codec parser
8810           e7d9217: codecparser: h264: initialize parsing structures
8811           403d400: codecparser: h265: initialize parsing structures
8812
8813 2015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8814
8815         * configure.ac:
8816           configure.ac: don't use an undefined variable
8817           If the environment lacks of gstreamer development packages, this error will
8818           be reported to the user: "gstreamer- was not found"
8819           This is because we are using an undefined variable in the printed message. The
8820           fix simple changes the variable for the hard-coded string "1.0".
8821           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8822           https://bugzilla.gnome.org/show_bug.cgi?id=757283
8823
8824 2015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8825
8826         * gst/vaapi/gstvaapidecode.c:
8827           vaapidecode: relax guards for memory:VASurface capsfeature
8828           Though caps features are supported since GStreamer 1.2, there are some
8829           issues with the features caps negotiation in that version. Nonetheless,
8830           those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
8831           feature negotiation is relaxed for GStreamer 1.4.
8832           The guard is the same as in vaapisink's caps template.
8833           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8834           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8835
8836 2015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8837
8838         * gst/vaapi/gstvaapidecode.c:
8839           vaapidecode: decide allocation doesn't update srccaps
8840           The received caps query will bring the already negotiated caps, so they are
8841           not expected to change.
8842           This patch removes this verification which is dead code path.
8843           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8844           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8845
8846 2015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8847
8848         * gst/vaapi/gstvaapidecode.c:
8849         * gst/vaapi/gstvaapipluginutil.c:
8850         * gst/vaapi/gstvaapipluginutil.h:
8851           vaapidecode: use caps to check the features
8852           Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
8853           expensive, we check the caps from the allocation query, to check the
8854           negotiated feature.
8855           In order to do this verification a new utility function has been implemented:
8856           gst_vaapi_caps_feature_contains().
8857           As this new function shared its logic with gst_caps_has_vaapi_surface(), both
8858           have been refactorized.
8859           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8860           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8861
8862 2015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8863
8864         * gst/vaapi/gstvaapidecode.c:
8865           vaapidecode: set format before decide allocation
8866           There is a regression from commit 3d8e5e. It was expected the buffer pool
8867           allocation occur before the caps negotiation, but it is not.
8868           This patch fixes this regression: the caps negotiation is done regardless the
8869           allocation query from downstream.
8870           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8871           https://bugzilla.gnome.org/show_bug.cgi?id=756686
8872
8873 2015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
8874
8875         * configure.ac:
8876           build: check for patch and fix yasm check
8877           Add configure checking for GNU patch tools and fixed configure
8878           checking YASM to correct sequence.
8879           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
8880           https://bugzilla.gnome.org/show_bug.cgi?id=756690
8881
8882 2015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8883
8884         * ext/libvpx/Makefile.am:
8885           build: Remove disable-md5 option for libvpx build
8886           The configure option --disable-md5 was provided in libvpx-1.3.0 which
8887           has been removed in 1.4.0.
8888
8889 2015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8890
8891         * ext/libvpx/upstream:
8892           libvpx: Update the submodule to libvpx-1.4.0
8893           libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
8894
8895 2015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8896
8897         * configure.ac:
8898           configure: mark support for GStreamer 1.2 as obsolete.
8899           Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
8900           Our goal is to support the last two stable versions of GStreamer which
8901           are 1.4 and 1.6 at the moment.
8902           We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
8903           release and will get rid of those in 0.8.
8904
8905 2015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8906
8907         * gst/vaapi/gstvaapidecode.c:
8908           vaapidecode: Fix buffer copy assertion
8909           Don't try to copy the NULL buffer-codec_data.
8910
8911 2015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8912
8913         * configure.ac:
8914           build: allow builds against GStreamer 1.7.x
8915           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8916
8917 2015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8918
8919         * gst/vaapi/gstcompat.h:
8920           gstcompat: add gst_buffer_copy_deep() if gst < 1.5
8921           gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
8922           add an implementation if gstreamer-vaapi is linked to previous versions.
8923           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8924
8925 2015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8926
8927         * gst/vaapi/gstvaapidecode.c:
8928           vaapidecode: simplify copy of GstVideoCodecState
8929           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8930
8931 2015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8932
8933         * patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
8934         * patches/videoparsers/series.frag:
8935           patches/videoparsers: h265parser: more API fences
8936           Add more API fences according with its version and refresh the patch.
8937           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8938           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8939
8940 2015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8941
8942         * patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
8943         * patches/videoparsers/series.frag:
8944           patches/videoparsers: h265parser: rename patch keeping number
8945           Refresh the patch and rename it in order to keep the patch number.
8946           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8947           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8948
8949 2015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8950
8951         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
8952           patches/videoparsers: h264parser: more API fences and refresh
8953           Add more API fences according with its version and refresh the patch.
8954           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8955           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8956
8957 2015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8958
8959         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
8960         * patches/videoparsers/series.frag:
8961           patches/videoparsers: h264parser: fix description and refresh
8962           Fix a typo in the patch description and refresh it in order to avoid the
8963           creation of .orig files and break the distcheck target.
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-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8968
8969         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
8970         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
8971           patches/videoparsers: h264parser: refresh patches
8972           In order to avoid the creation of .orig files and break the distcheck target.
8973           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8974           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8975
8976 2015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8977
8978         * gst/vaapi/Makefile.am:
8979           build: link libgstvaapi_parse against codec parser
8980           GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
8981           when running configure.
8982           Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
8983           need it if builtin codec parsers are disabled.
8984           This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
8985           compilation. If builtin codec parsers are enable, this variable is null, so it
8986           should work using libgstvaapi, as normal.
8987           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8988           https://bugzilla.gnome.org/show_bug.cgi?id=754845
8989
8990 2015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8991
8992         * configure.ac:
8993           build: verify for H264 MVC and H265 SPS
8994           Currently the H264 and H265 parsers look for MVC and SPS respectively, and
8995           the required symbols for those were added in GStreamer 1.5
8996           If we try to compile in GStreamer < 1.4, without enabling the builtin codec
8997           parsers, the compilation fails, because the lack of those symbols.
8998           This patch verifies if the installed H264 and H265 parsers have those symbols. If
8999           they do not, the specific built in codec parsers are enabled and used.
9000           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9001           https://bugzilla.gnome.org/show_bug.cgi?id=754845
9002
9003 2015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9004
9005         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9006           decoder: h264: initialize PPS's slice_group_id
9007           When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
9008           so it contains random data.
9009           When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
9010           pointer uninitialized, leading to a segmentation fault when the memory is
9011           freed.
9012           This patch prevents this by initializing the slice_group_id before the PPS
9013           parsing.
9014           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9015           https://bugzilla.gnome.org/show_bug.cgi?id=754845
9016
9017 2015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
9018
9019         * gst/vaapi/gstvaapidecode.c:
9020           vaapidecode: proper numerator and denominator for forced latency framerate
9021           https://bugzilla.gnome.org/show_bug.cgi?id=755040
9022
9023 2015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9024
9025         * ext/codecparsers:
9026           codecparsers: Update to gst-vaapi-branch commit f9e284b
9027           dae1a84: h264parse/h265parse: Fix negotiation crash
9028           45a9f8a: codecparsers: h265 : Fix default scaling list values
9029           28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
9030           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9031
9032 2015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9033
9034         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9035           decoder: hevc: Don't flush dpb for EOS/EOB nal
9036           Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
9037           the dpb_add() itself will handle the flusing(if needed) of dpb
9038           for end of sequence and end of bitstream.
9039           https://bugzilla.gnome.org/show_bug.cgi?id=754010
9040
9041 2015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9042
9043         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9044           decoder: hevc: Fix the dpb_add() based on C.5.2.3
9045           Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
9046           just after the PicLatencyCnt setting of existing dpb frames.
9047           https://bugzilla.gnome.org/show_bug.cgi?id=754010
9048
9049 2015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9050
9051         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9052           decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
9053           This fix is based on the V3 vesion of spec which was missing in older versions.
9054           When the current picture has PicOutputFlag equal to 1, for each picture in the
9055           DPB that is marked as "needed for output" and follows the current picture in output order,
9056           the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
9057           https://bugzilla.gnome.org/show_bug.cgi?id=754010
9058
9059 2015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9060
9061         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9062           decoder: h265: Fix indentation
9063
9064 2015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
9065
9066         * gst-libs/gst/vaapi/gstvaapidecoder.c:
9067         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9068         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
9069         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9070         * gst/vaapi/gstvaapidecode.c:
9071         * gst/vaapi/gstvaapipluginutil.c:
9072           multiview: initial attempt at stereo/multiview support
9073           Add support for marking caps and buffers for multiview or
9074           stereoscopic output.
9075           https://bugzilla.gnome.org/show_bug.cgi?id=750835
9076
9077 2015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9078
9079         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9080           decoder: hevc: remove unused functions
9081           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9082           https://bugzilla.gnome.org/show_bug.cgi?id=754250
9083
9084 2015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9085
9086         * gst/vaapi/gstvaapidecode.c:
9087           vaapidecode: remove (another) unused variable
9088           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9089
9090 2015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9091
9092         * gst/vaapi/gstvaapidecode.c:
9093           vaapidecode: remove unused variable
9094           Thus silence the compilation warnings.
9095
9096 2015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9097
9098         * gst/vaapi/gstvaapidecode.c:
9099           vaapidecode: compilation fix
9100           gst_vaapi_decoder_state_changed() returns void. This patch fixes the
9101           compilation where the toolchain uses restrictive flags as clang.
9102           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9103
9104 2015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9105
9106         * gst/vaapi/gstvaapidecode.c:
9107           vaapidecode: renegotiate if caps are not equal
9108           The use of gst_caps_is_always_compatible() for this optimization may lead to
9109           false positives. It is better to stick to gst_caps_is_strictly_equal() to know
9110           if it is required a re-negotiation.
9111           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9112           https://bugzilla.gnome.org/show_bug.cgi?id=750835
9113
9114 2015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9115
9116         * gst/vaapi/gstvaapidecode.c:
9117         * gst/vaapi/gstvaapidecode.h:
9118           vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
9119           Delaying the pool re-negotiation untill we push all decoded (and queued)
9120           frames downstream. Otherwise for the multi-resolution videos, the
9121           GstVideoVideoMemory will be having wrong resolution and which leads
9122           to nasty behaviours, especially when using software renderers.
9123           sample media file: RAP_B_Bossen_1.bin
9124           case explained:
9125           The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
9126           get the final resoultion 416x240.
9127           Starting from 25 th frame, the resolution will change to 416x240. But parser
9128           elements won't report this since the effective croped resolution is same in
9129           both cases. Here the core libgstvaapi will detect this through it's internal
9130           parsing and do all context/pool destory/reset stuffs. Also it will notify this
9131           change to plugins in advance. But if the plugin try to do re-negotiaion of pool
9132           immediately, this will not sync with the resolution of already decoded and queued
9133           frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
9134           software renderer). So we have to delay the pool renegotiation in vaapidecode,
9135           untill we push all decoded frames downstream.
9136           https://bugzilla.gnome.org/show_bug.cgi?id=753914
9137
9138 2015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9139
9140         * gst/vaapi/gstvaapidecode.c:
9141           vaapidecode: Always keep a copy of input codec state
9142           Currently we are sharing the input GstVideoCodecState with
9143           GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
9144           each caps change. This is troublesome in many cases, for eg: if
9145           resoultion changes with in a singe stream. Because, when ever there
9146           is a resolution change, GstVideoDecoder will first change the Codec_state->caps
9147           fields with new resolution, but since we are using the same codecstate (ref)
9148           in gstvaapidecode.c, the caps check for input caps change will always fail.
9149           https://bugzilla.gnome.org/show_bug.cgi?id=753914
9150
9151 2015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9152
9153         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9154           decoder: hevc: Fix the scaling list scan order
9155           The default scan order of scaling lists are up-right-diagonal
9156           as per hevc specification. Use the newly implemented
9157           uprightdiagonal_to_raster conversion codecparser APIs to
9158           get the the scaling_list values in raster order, which is
9159           what the VA intel driver requires.
9160
9161 2015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9162
9163         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9164           decoder: hevc: sync with the codecparser changes
9165           The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
9166           in codecparsers now. Remove the duplication from gstvaapidecoder_h265
9167
9168 2015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9169
9170         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9171           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
9172
9173 2015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9174
9175         * ext/codecparsers:
9176           codecparsers: Update to gst-vaapi-branch commit 69550f1
9177           c207c6d: codecparsers: h265: Fix tile row and column parsing
9178           47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
9179           cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
9180           1746bbe: videoparsers: Use gst_base_parse_merge_tags()
9181           2f0932b: h264parse: Clear SPS info after processing
9182           f57d6b0: videoparsers: enable accept-template flag
9183
9184 2015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9185
9186         * debian.upstream/control.in:
9187           debian: add yasm as build dependency
9188           As the compilation of libvpx (for vp8 parser) is enabled by default,
9189           yasm is required by default too.
9190           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9191
9192 2015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
9193
9194         * debian.upstream/rules:
9195           debian: remove --with-gstreamer-api option
9196           It is no longer valid in gstreamer-vaapi.
9197           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
9198           [removed unused GST_API_VERSION variable]
9199           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9200           https://bugzilla.gnome.org/show_bug.cgi?id=753618
9201
9202 2015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9203
9204         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9205           wayland: rename is_cancelled to sync_failed
9206           Since commit 065a18a3, the semantics of the variable is_cancelled did not make
9207           sense. This commit renames this variable to sync_failed.
9208
9209 2015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
9210
9211         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9212           wayland: Don't return GST_FLOW_ERROR on flushing
9213           Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
9214           return FALSE which makes gst_vaapi_window_wayland_render() return
9215           FALSE which ends up posting an ERROR message in
9216           gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
9217           in the EBUSY case.
9218           https://bugzilla.gnome.org/show_bug.cgi?id=753598
9219
9220 2015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9221
9222         * gst/vaapi/gstvaapi.c:
9223           Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
9224           This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
9225
9226 2015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9227
9228         * gst/vaapi/gstvaapidecodebin.c:
9229           vaapidecodebin: check for postproc instance
9230           If the VPP's deinterlace-method is set, first we should check if the postproc
9231           is already instanced to set it. Otherwise we just store it until the VPP is
9232           added into the bin.
9233           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9234           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9235
9236 2015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9237
9238         * gst/vaapi/gstvaapidecodebin.c:
9239         * gst/vaapi/gstvaapipluginutil.c:
9240         * gst/vaapi/gstvaapipluginutil.h:
9241           vaapidecodebin: ensure VPP before going to READY
9242           There are sometimes that the VA-API display context is not shared among the
9243           pipeline, but it is important to know it before going to READY state (when the
9244           pipeline is already linked).
9245           One instance of this case is this:
9246           gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
9247           This patch adds a new function in gstvaapipluginutil called
9248           gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
9249           display, which only will be used for verify if the VAEntrypointVideoProc is
9250           available by the hardware. Afterwards, it should be unrefed.
9251           If the vaapidecodebin is going to READY state, and the element still doesn't
9252           know if VPP is available, the last resort is to create a new instance of the
9253           VA-API display and test for it.
9254           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9255
9256 2015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9257
9258         * gst/vaapi/gstvaapidecodebin.c:
9259           vaapidecodebin: post an error message if fails
9260           If the construction of the bin fails, post an error message in the bus.
9261           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9262           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9263
9264 2015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9265
9266         * gst/vaapi/gstvaapidecodebin.c:
9267         * gst/vaapi/gstvaapidecodebin.h:
9268           vaapidecodebin: has_vpp as a tri-state variable
9269           has_vpp can be UNKNOWN while the context message hasn't being received.
9270           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9271           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9272
9273 2015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9274
9275         * gst/vaapi/gstvaapivideomemory.c:
9276           gstvaapivideomemory: native format with no derived image
9277           If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
9278           info based on the derived image configuration.
9279           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9280           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9281
9282 2015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9283
9284         * gst-libs/gst/vaapi/video-format.c:
9285         * gst-libs/gst/vaapi/video-format.h:
9286         * gst/vaapi/gstvaapivideomemory.c:
9287           surface pool config based on video info
9288           First added the function gst_vaapi_video_format_get_best_native(), which
9289           returns the best native format that matches a particular chroma type:
9290           YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
9291           RGB32 chroma and encoded format map to NV12 too.
9292           That format is used to configure, initially, the surface's pool for the
9293           allocator.
9294           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9295           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9296
9297 2015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9298
9299         * gst/vaapi/gstvaapivideomemory.c:
9300           gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
9301           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9302           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9303
9304 2015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
9305
9306         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9307           gstvaapiencoder: validate chroma according to the VA's RT format
9308           Before, only YUV420 color space where supported. With this patch, the
9309           encoder is queried to know the supported formats and admits YUV422
9310           color space if its available.
9311           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9312           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9313
9314 2015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9315
9316         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9317           decoder: hevc: Add calculation of WpOffsetHalfRangeC
9318           This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
9319           prediction weight table values with out using any hard coding.
9320           Fixme: We don't have parser API for sps_range_extension, so
9321           assumed zero value for high_precision_offsets_enabled_flag.
9322           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9323
9324 2015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9325
9326         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9327           decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
9328           Based on ITU-T rec H265(4/2015): 7-56
9329           This was a wrong equation in rec H265 (4/2013): 7-44...
9330           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9331
9332 2015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9333
9334         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9335           decoder: hevc: Fix default value assignment of pred_weight_table
9336
9337 2015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9338
9339         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9340           decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
9341           Assign only if ChromaArrayType != 0..
9342           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9343
9344 2015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9345
9346         * ext/codecparsers:
9347           codecparsers: Update to gst-vaapi-branch commit 1c70432
9348           8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
9349           839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
9350           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9351
9352 2015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9353
9354         * ext/codecparsers:
9355           codecparsers: Update to gst-vaapi-branch commit c18b8ad
9356           8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
9357           a033083: videoparsers: h265: Fix the frame start detection code
9358           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9359
9360 2015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9361
9362         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9363           decoder: hevc: Add SEI parsing
9364           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9365
9366 2015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9367
9368         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9369           decoder: hevc: Workaround to recognize wrongly encoded main profile streams
9370           HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
9371           There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
9372           have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
9373           has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
9374           is TRUE. Assuming them as MAIN profile for now.
9375           https://bugzilla.gnome.org/show_bug.cgi?id=753226
9376           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9377
9378 2015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9379
9380         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9381           patches/videoparsers: Fix the wrong source file path
9382           This is something wrongly typed in commit 6d7b631
9383
9384 2015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9385
9386         * ext/codecparsers:
9387           codecparsers: Update to gst-vaapi-branch commit b8d8be4
9388           ee7e81b: h264parse: Don't discard first AU delimiter
9389           3690fb9: h264parse: Add more NAL types for debugging output
9390           108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
9391           ace61048: h265parse: expose compatible profiles to downstream
9392           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9393
9394 2015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9395
9396         * gst/vaapi/gstvaapipluginutil.c:
9397         * gst/vaapi/gstvaapivideocontext.c:
9398         * gst/vaapi/gstvaapivideocontext.h:
9399           gstvaapivideocontext: remove unused parameter
9400           gst_vaapi_video_context_prepare() received an unused parameter. This patch
9401           removes it and the structure passed by the caller.
9402           This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
9403           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9404
9405 2015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9406
9407         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9408           decoder: hevc: Fix decoding of stream when it has temporal sublayers
9409           We are calculating the dpb size based on max_dec_pic_buffering.
9410           But if there are more than one temporal sublayers, we are supposed
9411           to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
9412           size calculation (Assuming HighestTid as max_sub_layers_minus).
9413           Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
9414           https://bugzilla.gnome.org/show_bug.cgi?id=753226
9415           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9416
9417 2015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9418
9419         * gst/vaapi/gstvaapidecode.c:
9420         * gst/vaapi/gstvaapidecodebin.c:
9421         * gst/vaapi/gstvaapiencode_h264.c:
9422         * gst/vaapi/gstvaapiencode_h265.c:
9423         * gst/vaapi/gstvaapiencode_jpeg.c:
9424         * gst/vaapi/gstvaapiencode_mpeg2.c:
9425         * gst/vaapi/gstvaapiencode_vp8.c:
9426         * gst/vaapi/gstvaapipluginutil.h:
9427         * gst/vaapi/gstvaapipostproc.c:
9428         * gst/vaapi/gstvaapisink.c:
9429           refactor vaapi caps strings for pad templates
9430           Refactor the main vaapi caps strings into three macros:
9431           GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
9432           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
9433           Those are in gstvaapipluginutil.h so all the elements could use them, instead
9434           of re-declaring them every time.
9435           No functional changes.
9436           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9437
9438 2015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9439
9440         * gst/vaapi/gstvaapipostproc.c:
9441           gstvaapipostproc: fix code style
9442           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9443
9444 2015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9445
9446         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9447           decoder: hevc: Fix the decoding of dependent slice segment
9448           Decoding process for reference picture list construction needs to be
9449           invoked only for P and B slice and the value for slice_type of dependent slice
9450           segment should be taken from the previous independent slice segment header
9451           of the same pic.
9452           https://bugzilla.gnome.org/show_bug.cgi?id=753226
9453           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9454
9455 2015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
9456
9457         * gst/vaapi/gstvaapipluginbase.c:
9458           plugins: reduce the noise of warnings
9459           Those messagse should be attached to the object, also the lack of
9460           caps is not an error, in particular in the case of JPEG encoding.
9461           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9462           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9463
9464 2015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9465
9466         * gst-libs/gst/vaapi/gstvaapicontext.c:
9467           gstvaapicontext: fix the JPEG encoder attribs value
9468           When we query for the VAConfigAttribEncJPEG, we get a value which packs the
9469           VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
9470           assigns the returned value to the attribute.
9471           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9472           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9473
9474 2015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
9475
9476         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9477           gstvaapiencoder: framerate 0/1 is valid too
9478           Framerate 0/1 is valid, and it is particularly useful for picture
9479           encoding, such as jpeg. This patch makes the encoder to admit that
9480           framerate.
9481           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9482           https://bugzilla.gnome.org/show_bug.cgi?id=744042
9483
9484 2015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9485
9486         * gst/vaapi/gstvaapipostproc.c:
9487           vaapipostroc: GLTextureUploadMeta in sink template
9488           Advertise GLTextureUploadMeta in sink caps template.
9489           https://bugzilla.gnome.org/show_bug.cgi?id=752130
9490
9491 2015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9492
9493         * gst/vaapi/Makefile.am:
9494         * gst/vaapi/gstvaapiencode.c:
9495         * gst/vaapi/gstvaapipluginbase.c:
9496         * gst/vaapi/gstvaapipluginbase.h:
9497         * gst/vaapi/gstvaapipostproc.c:
9498         * gst/vaapi/gstvaapisink.c:
9499         * gst/vaapi/gstvaapiuploader.c:
9500         * gst/vaapi/gstvaapiuploader.h:
9501           remove gstvaapiuploader
9502           Working on bug #744042 I realized that the gstvaapiuploader is practically not
9503           used.
9504           This patch removes the gstvaapiuploader and add the method
9505           gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
9506           the system can handle, which is used by vaapisink and vaapipostproc.
9507           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9508           https://bugzilla.gnome.org/show_bug.cgi?id=752777
9509
9510 2015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9511
9512         * gst/vaapi/gstvaapidecode.c:
9513           vaapidecode: don't lost GLTextureUpload on seek
9514           When seeking, the decoder is reset, but the buffer pool is not
9515           re-negotiated, but in reset_full() the code forgets if the negotiated buffer
9516           pool has the GLTextureUpload meta.
9517           The decoder knows that GLTextureUpload meta was negotiated in
9518           decide_allocation(), but this method is not called when seeking.
9519           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9520           https://bugzilla.gnome.org/show_bug.cgi?id=752929
9521
9522 2015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9523
9524         * gst/vaapi/gstvaapipluginutil.c:
9525           plugins: don't use gst_pad_get_allowed_caps()
9526           gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
9527           decoders, that is OK, but in the case of the postproc might lead loops,
9528           since the gst_base_transform_query_caps() forwards the query upstream
9529           and forth.
9530           Instead of gst_pad_get_allowed_caps() we only query the peer with
9531           gst_pad_peer_query_caps() using the pad's template as filter.
9532           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9533           https://bugzilla.gnome.org/show_bug.cgi?id=752558
9534
9535 2015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9536
9537         * README:
9538           README: updates
9539
9540 2015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9541
9542         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
9543         * patches/videoparsers/series.frag:
9544           patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
9545           All API/ABI changes for S3D/MVC are added in 1.5, backporting
9546           them to older verison is not recommended.
9547           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9548
9549 2015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9550
9551         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9552           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
9553
9554 2015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9555
9556         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
9557           decoder: jpeg: Align with new API/ABI changes in codecparser
9558           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9559
9560 2015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9561
9562         * ext/codecparsers:
9563           codecparsers: Update to gst-vaapi-branch commit 800bdb2
9564           ed13220: mpegvideometa: add meta transform function
9565           18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
9566           7a51722: codecparsers: jpeg: fix docs for table parsing functions
9567           06b8ded: codecparsers: jpeg: fix validity checking of data parsed
9568           387a39d: codecparsers: jpeg: fix up API
9569           db9d6a9: codecparsers: jpeg: tweak API a little
9570           bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
9571           f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
9572           4658c30: codecparsers: jpeg: fix calculation of segment size
9573           759bcb9: codecparsers: jpeg: fix default Huffman tables generation
9574           b4811ee: codecparsers: jpeg: add JPEG bitstream parser
9575           9422464: h264parse: fix typo in log message
9576           9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
9577           77704ce: nalutils: trivial patch to check if
9578           8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
9579           7862f95: Revert "codecparsers: remove ignored increment of return"
9580           54017b1: h264parse: Add support for passing stereoscopic/multiview info
9581           8667ee4: h264parse: Don't switch to passthrough on set_caps()
9582           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9583
9584 2015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9585
9586         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9587           decoder: h264: track previous reference frames.
9588           Improve closure of gaps in frame_num by strictly following and trying
9589           to fill them with previous reference frames. So, they are now tracked
9590           thus avoiding insertion of dummy ("greenish") frames.
9591
9592 2015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9593
9594         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9595           decoder: h264: fix integration of second field into the DPB.
9596           If the new picture to be added to the DPB is not a first field, then
9597           it shall be the second field of the previous picture that was added
9598           before.
9599           This removes the need for dpb_find_picture() now that we track the
9600           immediately preceding decoded picture, in decode order.
9601
9602 2015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9603
9604         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9605           decoder: h264: fix closure of "other-field" gap.
9606           When a dummy "other-field" is inserted, it is assumed to inherit the
9607           reference flags from the first field, and the sliding window decoded
9608           reference picture marking process is also executed so that corrupted
9609           frames are moved out as early as possible.
9610           While doing so, we also try to output frames that now contain a single
9611           valid field picture, prior to inserting any other picture into the DPB.
9612           Note: this may be superfluous currently based on the fact that dpb_add()
9613           combines the two most recent pairable fields, but this process would be
9614           further simplified later on.
9615
9616 2015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9617
9618         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9619           decoder: h264: track corrupted frames.
9620           Mark the picture as "corrupted" if it is reconstructed from corrupted
9621           references or if those references are fake, e.g. resulting from lost
9622           frames.
9623           This is useful for notifying the upper layer, or downstream elements,
9624           that the decoded frame may contain artefacts.
9625           https://bugzilla.gnome.org/show_bug.cgi?id=703921
9626
9627 2015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9628
9629         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
9630         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
9631         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
9632         * gst/vaapi/gstvaapidecode.c:
9633           decoder: add initial infrastructure for marking corrupted output.
9634           Add initial infrastructure in core codec library and vaapidecode to mark
9635           corrupted frames as such. A corrupted frame is such a frame that was
9636           reconstructed from invalid references for instance.
9637           https://bugzilla.gnome.org/show_bug.cgi?id=751434
9638           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9639
9640 2015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9641
9642         * configure.ac:
9643           Bump version for development
9644
9645 === release 0.6.0 ===
9646
9647 2015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9648
9649         * configure.ac:
9650           0.6.0
9651
9652 2015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9653
9654         * NEWS:
9655           NEWS: updates
9656
9657 2015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9658
9659         * gst-libs/gst/vaapi/gstvaapiprofile.c:
9660           vaapidecoder: no wmv profiles gstreamer 1.4/1.2
9661           This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
9662           Right now there is not a primary ranked parser for vc1 and the demuxers
9663           delivers caps without specifying the profile. This situation is not an issue
9664           for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
9665           explicit profile defined in the negotiated caps.
9666           Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
9667           negotiation admits caps subsets try outs.
9668           This patch solves the issue ignoring the profile negotiation in the caps. For
9669           gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
9670           done without the vc1 parser, such as happens in gstreamer 1.5.
9671           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9672
9673 2015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9674
9675         * gst/vaapi/gstvaapi.c:
9676           Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
9677           Unfortunately vaapidecodebin element is not seems to be stable
9678           enough for autoplugging ahead of vaapidecode.
9679           Lowering the rank for now (cosidering the immediate 0.6 release).
9680           See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
9681           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9682
9683 2015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9684
9685         * gst-libs/gst/vaapi/Makefile.am:
9686           build: Add missing CFLAGS to Makefile.am
9687
9688 2015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9689
9690         * gst-libs/gst/vaapi/gstvaapifilter.c:
9691           gstvaapifilter: Only register STE property if it supported by corresponding VA library
9692           Fix the regression introduced in commit eb465fb.
9693           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
9694           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9695
9696 2015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9697
9698         * gst/vaapi/gstvaapipostproc.c:
9699           vaapipostproc: no format convert on GL tex upload meta
9700           When GL texture upload meta is negotiated, vaapipostproc shall not modify the
9701           color format of the buffer.
9702           https://bugzilla.gnome.org/show_bug.cgi?id=748184
9703
9704 2015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9705
9706         * gst-libs/gst/vaapi/gstvaapifilter.c:
9707           gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
9708           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
9709           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9710
9711 2015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9712
9713         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9714           encoder:h265: Fix the check for packed-header support
9715           Use VA_ENC_PACKED_HEADER_* definition for checking.
9716           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9717
9718 2015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9719
9720         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9721           encoder:h264: Fix the check for packed-header support
9722           Use VA_ENC_PACKED_HEADER_* definition for checking.
9723           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9724
9725 2015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9726
9727         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9728           encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
9729           One buffering_period() SEI message shall be present in every IDR access unit
9730           when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
9731           use a non-CQP mode, e.g. CBR. In other words, when
9732           nal_hrd_parameters_present_flag is set to 1.
9733           One picture_timing() SEI messages shall be present in every access unit
9734           if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
9735           https://bugzilla.gnome.org/show_bug.cgi?id=722734
9736           https://bugzilla.gnome.org/show_bug.cgi?id=751831
9737           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9738
9739 2015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9740
9741         * gst/vaapi/gstvaapidecodebin.c:
9742           vaapidecodebin: notify if vpp is disabled
9743           When the system is aware that VPP is not available by the VA driver,
9744           it would be useful to notify to the user that the disable-vpp property
9745           has changed.
9746           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9747
9748 2015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9749
9750         * gst/vaapi/gstvaapidecodebin.c:
9751         * gst/vaapi/gstvaapidecodebin.h:
9752           vaapidecodebin: enable vpp if it is available
9753           Instead of creating and adding VPP into the bin at setup, we wait until
9754           we are sure the VA driver supports it. We know that when the VA video
9755           context is received by the bin. Afterwards, it is decided to instanciate
9756           and link the VPP or not.
9757           This is more efficient and safer than waiting the VPP to fail and then
9758           disable it.
9759           https://bugzilla.gnome.org/show_bug.cgi?id=749554
9760
9761 2015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9762
9763         * tests/test-display.c:
9764         * tests/test-windows.c:
9765           tests: Fix compilation while enabling egl as the only renderer in build
9766           Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
9767
9768 2015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9769
9770         * configure.ac:
9771           configure: fix the build while enabling egl as the only renderer
9772
9773 2015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9774
9775         * configure.ac:
9776           libs: Bump library major version
9777
9778 2015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9779
9780         * gst/vaapi/gstvaapi.c:
9781         * gst/vaapi/gstvaapidecodebin.c:
9782         * gst/vaapi/gstvaapiencode.c:
9783         * gst/vaapi/gstvaapiencode_jpeg.c:
9784         * gst/vaapi/gstvaapipluginbase.c:
9785         * gst/vaapi/gstvaapipluginutil.c:
9786         * gst/vaapi/gstvaapipostproc.c:
9787         * gst/vaapi/gstvaapivideobufferpool.c:
9788         * gst/vaapi/gstvaapivideocontext.c:
9789         * gst/vaapi/gstvaapivideomemory.c:
9790         * gst/vaapi/gstvaapivideometa.c:
9791           gst/vaapi: Switch to upstreram like indentation.
9792           gst-indent for all gst/vaapi/*.c source files
9793
9794 2015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9795
9796         * gst/vaapi/gstvaapidecodebin.c:
9797         * gst/vaapi/gstvaapidecodebin.h:
9798           vaapidecodebin: Add property to disable VPP
9799           Adding a new propery "disable-vpp", enabling it will prevent
9800           the insertion of vaapipostproc child element.
9801           This is helpful in debugging, specifically to narrow-down the
9802           vaapidecodebin/vaapipostproc related negotiation issues.
9803           No support for run-time disabling for now.
9804           https://bugzilla.gnome.org/show_bug.cgi?id=745901
9805
9806 2015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9807
9808         * gst/vaapi/gstvaapipostproc.c:
9809           vaapipostproc: Fix wrong selection of passthrough mode.
9810           The Current code path is falling back to passthorugh mode if there is no
9811           vpp property set by the user explictily. But we should not use the
9812           passthrough mode if the negotiated src pad caps have a differnt color space
9813           format than sink pad caps (Even though the user didn't set the format property
9814           explicitly).
9815           https://bugzilla.gnome.org/show_bug.cgi?id=748184
9816           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9817
9818 2015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9819
9820         * gst/vaapi/gstvaapipostproc.c:
9821           vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
9822           This is a workaround to deal with the va-intel-driver for non-native
9823           formats while doing advanced deinterlacing. The format of reference surfaces must
9824           be same as the format used by the driver internally for motion adaptive
9825           deinterlacing and motion compensated deinterlacing.
9826           A permanent solution could be to do the color space conversion internally
9827           for reference surfaces.
9828           https://bugzilla.gnome.org/show_bug.cgi?id=730925
9829           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9830
9831 2015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
9832
9833         * gst/vaapi/gstvaapisink.c:
9834           Work around ABBA deadlock between vaapisink and vaapipostproc
9835           vaapisink takes the display lock, then does a gst_buffer_replace which can
9836           take the lock on the gst_vaapi_video_pool.
9837           vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
9838           the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
9839           surfaces, which means that gst_vaapi_surface_create is
9840           called. gst_vaapi_surface_create takes the display lock.
9841           If vaapisink and vaapipostproc are in different threads, and this happens,
9842           you get a deadlock. vaapisink holds the display lock, and wants the
9843           gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
9844           and wants the display lock.
9845           Work around this by releasing the display lock in vaapisink around the
9846           gst_buffer_replace.
9847           https://bugzilla.gnome.org/show_bug.cgi?id=738249
9848           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
9849           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9850
9851 2015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
9852
9853         * gst/vaapi/gstvaapidecodebin.c:
9854         * gst/vaapi/gstvaapidecodebin.h:
9855           vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
9856           https://bugzilla.gnome.org/show_bug.cgi?id=745901
9857
9858 2015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9859
9860         * gst/vaapi/gstvaapipostproc.c:
9861           vaapipostproc: log negotiated caps
9862
9863 2015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9864
9865         * gst/vaapi/gstvaapipostproc.c:
9866           vaapipostproc: remove useless debug message
9867
9868 2015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9869
9870         * gst/vaapi/gstvaapidecode.c:
9871           vaapidecode: log negotiated src/sink caps
9872
9873 2015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9874
9875         * gst/vaapi/gstvaapisink.c:
9876           vaapisink: error handling if rendering fails
9877           This patch enhance the code path when an error is found when rendering a
9878           buffer.
9879           If the video meta doesn't contain a surface proxy or a surface, a warning
9880           message is printed.
9881           If the rendering backend fails, a error message is posted in the bus.
9882           https://bugzilla.gnome.org/show_bug.cgi?id=749382
9883
9884 2015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9885
9886         * gst/vaapi/gstvaapisink.c:
9887           vaapisink: Fix the conditional pad template creation.
9888
9889 2015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9890
9891         * tests/Makefile.am:
9892           build: Don't build simple-encoder test program if there is no VA Encoding support
9893           This will fix the build error against older VA-APIs <= 0.32
9894
9895 2015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9896
9897         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
9898         * gst-libs/gst/vaapi/gstvaapicompat.h:
9899           Fix build error for older VA-API versions
9900           Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
9901           VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
9902           VA >= 0.36.
9903
9904 2015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9905
9906         * gst/vaapi/gstvaapisink.c:
9907           vaapisink: Fix the capsfeature advertisement in padtemplate
9908           This fixes the regression introduced in 64acc74.
9909           If a pad supports multiple set of capsfeatures, it needs to add
9910           multiple equal structures with different feature sets to the caps.
9911           Because caps structures with the same name but with a non-equal
9912           set of caps features are not compatible.
9913           Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
9914           https://bugzilla.gnome.org/show_bug.cgi?id=750095
9915
9916 2015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
9917
9918         * gst/vaapi/gstvaapisink.c:
9919           vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
9920           https://bugzilla.gnome.org/show_bug.cgi?id=750095
9921           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9922           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9923
9924 2015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
9925
9926         * gst/vaapi/gstvaapipluginbase.c:
9927           vaapipluginbase: Override downstream allocation reply if no pool
9928           If the downstream replied without a pool, then override it.
9929           https://bugzilla.gnome.org/show_bug.cgi?id=748559
9930
9931 2015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9932
9933         * gst/vaapi/gstvaapipostproc.c:
9934         * gst/vaapi/gstvaapipostproc.h:
9935           vaapipostproc: add color balance interface
9936           https://bugzilla.gnome.org/show_bug.cgi?id=720376
9937
9938 2015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9939
9940         * gst-libs/gst/vaapi/gstvaapifilter.c:
9941         * gst-libs/gst/vaapi/gstvaapifilter.h:
9942         * gst/vaapi/gstvaapipostproc.c:
9943         * gst/vaapi/gstvaapipostproc.h:
9944           vaapipostproc: add skin tone enhancement
9945           Added the 'skin-tone-enhancement' property to vaapostproc.
9946           https://bugzilla.gnome.org/show_bug.cgi?id=744088
9947
9948 2015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9949
9950         * docs/reference/libs/libs-docs.xml.in:
9951           doc: add VA-API reference in freedesktop
9952
9953 2015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9954
9955         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
9956         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
9957         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
9958           patches/videoparsers: rebase all the h264parse patches
9959           In order to avoid the creation of .orig files and break the distcheck target
9960
9961 2015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9962
9963         * ext/libvpx/Makefile.am:
9964           build: don't build in parallel libvpx
9965           This fixes the distcheck -j XX target.
9966
9967 2015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9968
9969         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
9970           encoder: jpeg: Fix the packed header generation
9971           This is a work-around to satisfy the va-intel-driver.
9972           Normalize the quality factor and scale QM values (only for packed header
9973           generation) similar to what VA-Intel driver is doing . Otherwise the
9974           generated packed headers will be wrong, since the driver itself is
9975           scaling the QM values using the normalized quality factor.
9976           https://bugzilla.gnome.org/show_bug.cgi?id=748335
9977           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9978
9979 2015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
9980
9981         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9982           decoder: h264: fix uninitialized variables in avcC mode.
9983           Fix uninitialized variables when decoding SPS and PPS NAL units from
9984           "codec-data" buffers. This is particularly important when seeking ops
9985           are involved, and the new persistent states are used more often.
9986           https://bugzilla.gnome.org/show_bug.cgi?id=750094
9987
9988 2015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9989
9990         * gst/vaapi/gstvaapidecode.c:
9991           vaapidecode: remove unneeded casting
9992           And a code-style fix
9993
9994 2015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9995
9996         * gst/vaapi/gstvaapidecode.c:
9997           vaapidecode: calculate decoding latency
9998           This is a naïve approach to the calculation of the VA-API decoding latency. It
9999           takes into consideration when the frame-rate has some insane value.
10000           https://bugzilla.gnome.org/show_bug.cgi?id=740419
10001
10002 2015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
10003
10004         * configure.ac:
10005           configure: Compiling against libgstgl requires libgstvideo
10006           Fix detection of the GstGL helper headers in uninstalled
10007           builds.
10008
10009 2015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10010
10011         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10012           encoder: hevc: Fix the size over-flow for encoded buffer.
10013           The approximation of 6 times compression ratio migh not
10014           work in all cases. Especially when enabling I frames.
10015           Provide large enough size for coded-buffer creation.
10016
10017 2015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10018
10019         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10020           encoder: vp8: Fix the size over-flow for encoded buffer.
10021           The approximation of 4 times compression ratio will not
10022           work in all cases. Especially when enabling I frames.
10023           Provide large enough size for coded-buffer creation.
10024
10025 2015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10026
10027         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10028           encoder: hevc:  fix bug in multi slice encoding.
10029           This is a work-around for satisfying the VA-Intel driver.
10030           The driver only support slices begin from CTU row start address.
10031           Multi-Slice encoding also requires a fix in va-intel-driver:
10032           http://lists.freedesktop.org/archives/libva/2015-May/003351.html
10033           https://bugzilla.gnome.org/show_bug.cgi?id=749854
10034           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10035
10036 2015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10037
10038         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10039           decoder: h264: add initial support for loss of pictures.
10040           Implement decoding process for gaps in frame_num (8.5.2). This
10041           also somewhat supports unintentional loss of pictures.
10042           https://bugzilla.gnome.org/show_bug.cgi?id=745048
10043           https://bugzilla.gnome.org/show_bug.cgi?id=703921
10044           Original-patch-by: Wind Yuan <feng.yuan@intel.com>
10045           [fixed derivation of POC, ensured clone is valid for reference,
10046           actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
10047           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10048
10049 2015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10050
10051         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10052           decoder: h264: add support for missing first field.
10053           Try to identify missing first fields too, thus disregarding any
10054           intermediate gaps in frames. We also assume that we keep the same
10055           field sequence, i.e. if previous frames were in top-field-first
10056           (TFF) order, then so are subsequent frames.
10057           Note that insertion of dummy first fields need to operate in two
10058           steps: (i) create the original first field that the current field
10059           will inherit from, and (ii) submit that field into the DPB prior
10060           to initializing the current (other) field POC values but after any
10061           reference flag was set. i.e. copy reference flags from the child
10062           (other field) to the parent (first field).
10063           https://bugzilla.gnome.org/show_bug.cgi?id=745048
10064
10065 2015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10066
10067         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10068           decoder: h264: add support for missing second field.
10069           Interlaced H.264 video frames always have two fields to decode and
10070           display. However, in some cases, e.g. packet loss, one of the field
10071           can be missing. This perturbs the reference picture marking process,
10072           whereby the number of references available in DPB no longer matches
10073           the expected value.
10074           This patch adds initial support for missing field within a decoded
10075           frame. The current strategy taken is to find out the nearest field,
10076           by POC value, and with the same parity.
10077           https://bugzilla.gnome.org/show_bug.cgi?id=745048
10078
10079 2015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10080
10081         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10082           decoder: h264: improve tracking of "top-field-first" flag.
10083           Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
10084           does not mandate it. This will be useful for tracking missing fields, and
10085           also for more correct _split_fields() implementation for frames in the DPB.
10086
10087 2015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10088
10089         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10090           decoder: h264: skip all pictures prior the first I-frame.
10091           Don't try to decode pictures until the first I-frame is received within
10092           the currently active sequence. There is no point is decoding and then
10093           displaying frames with artifacts.
10094
10095 2015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10096
10097         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10098           decoder: h264: fix processing of EOSEQ NAL.
10099           Fix decoding of end_of_seq() NAL unit so that to not submit the current
10100           picture for decoding again. This is pretty vintage code that dates back
10101           before the existing of the whole decoder units machinery.
10102           One issue that could be arising if that code was kept is that we could
10103           have submitted a picture, and subsequently a GstVideoCodec frame, twice.
10104           Once without the decode_only flag set, and once with that flag set. The
10105           end result is that the GstVideoDecoder would release the codec frame
10106           twice, thus releasing stale data.
10107           In short, the piece of code that is removed by this patch is for once
10108           completely obsolete for a while, and secondly error-prone in corner
10109           cases.
10110
10111 2013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
10112
10113         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10114         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10115         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
10116         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
10117           decoder: add utility function to clone picture objects.
10118           https://bugzilla.gnome.org/show_bug.cgi?id=703921
10119           Signed-off-by: Wind Yuan <feng.yuan@intel.com>
10120           [added cosmetic changes, fixed propagation of "one-field" flag to
10121           children, fixed per-codec clone modes (h264)]
10122           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10123
10124 2015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
10125
10126         * gst/vaapi/Makefile.am:
10127           build: don't compile HEVC encoder if not supported
10128           Fix:
10129           (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
10130           https://bugzilla.gnome.org/show_bug.cgi?id=749954
10131           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
10132           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10133
10134 2015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
10135
10136         * gst-libs/gst/vaapi/gstvaapicompat.h:
10137         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10138           HEVC: decode: add missing va_dec_hevc header
10139           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
10140           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10141           https://bugzilla.gnome.org/show_bug.cgi?id=749953
10142
10143 2015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10144
10145         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10146           mpeg2: fix PTS cache for GOP start.
10147           If the GOP temporal sequence number (TSN) is interpolated from a valid
10148           PTS, then we need to compensate that PTS corresponding to the start of
10149           GOP with the next picture to be decoded, which shall be an I-frame,
10150           based on its sequence number.
10151           https://bugzilla.gnome.org/show_bug.cgi?id=748676
10152
10153 2015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10154
10155         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10156           mpeg2: avoid crash when seeking with debug logs
10157           Move down the debug message when the state of the decoder is verified
10158           so the slice header is not NULL.
10159
10160 2014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
10161
10162         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10163           mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
10164           Reset state and add some checks for safe state to avoid a crash and
10165           a warning after the decoder is destroyed/recreated during a seek.
10166
10167 2015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10168
10169         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
10170         * patches/videoparsers/series.frag:
10171           patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
10172           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10173
10174 2015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10175
10176         * ext/codecparsers:
10177           codecparsers: Update to gst-vaapi-branch commit 20ee952
10178           b7dded3: h264parse: don't consider unknown stream-format as avc
10179           5110ad9: h264parse: fix up handling of input caps corner cases
10180           e51db3e: h264parse: Remove dead code
10181           3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
10182           8482957: h265parse: Fix profile, tier and level setting in caps
10183           4649acb: h265parse: Fix the memory freeing of stored VPS nals
10184           f2beeb7: h265parse: Fix source caps to report cropped dimensions
10185           6886a31: h264parse: Fix profile and level setting in caps
10186           5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
10187           eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
10188           53074fc: build: Upgrade GStreamer dependency to 1.0
10189           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10190
10191 2015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10192
10193         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10194           HEVC: decode: Replace clip3 implementation with glib CLAMP macro
10195           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10196
10197 2015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10198
10199         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10200           HEVC: decode: Update Cropping Rectangle
10201           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10202
10203 2015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10204
10205         * gst/vaapi/Makefile.am:
10206         * gst/vaapi/gstvaapi.c:
10207         * gst/vaapi/gstvaapiencode_h265.c:
10208         * gst/vaapi/gstvaapiencode_h265.h:
10209           HEVC_Encode: Add HEVC(h265) Encoder plugin
10210           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10211           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10212
10213 2015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10214
10215         * gst-libs/gst/vaapi/Makefile.am:
10216         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10217         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
10218           HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
10219           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10220           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10221
10222 2015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10223
10224         * configure.ac:
10225           HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
10226           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10227           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10228
10229 2015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10230
10231         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
10232         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
10233           gstvaapiutils_h265: Add H265 Tier specific utility functions
10234           -- New API: gst_vaapi_utils_h265_get_tier_from_string()
10235           -- New API: gst_vaapi_utils_h265_get_tier_string()
10236           https://bugzilla.gnome.org/show_bug.cgi?id=748874
10237           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10238
10239 2015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10240
10241         * docs/reference/plugins/Makefile.am:
10242           doc: conditional linking for scanner
10243           Add x11 library only if it is enabled.
10244           https://bugzilla.gnome.org/show_bug.cgi?id=749018
10245
10246 2015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10247
10248         * docs/reference/plugins/plugins.types:
10249           doc: fix scanner compilation warning
10250           https://bugzilla.gnome.org/show_bug.cgi?id=749018
10251
10252 2015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10253
10254         * docs/reference/libs/libs-docs.xml.in:
10255         * docs/reference/libs/libs-sections.txt:
10256           doc: update sections and symbols
10257           https://bugzilla.gnome.org/show_bug.cgi?id=749018
10258
10259 2015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10260
10261         * .gitignore:
10262         * Makefile.am:
10263         * debian.upstream/Makefile.am:
10264         * docs/Makefile.am:
10265         * docs/reference/Makefile.am:
10266         * docs/reference/libs/Makefile.am:
10267         * docs/reference/plugins/Makefile.am:
10268         * ext/Makefile.am:
10269         * ext/libvpx/Makefile.am:
10270         * git.mk:
10271         * gst-libs/Makefile.am:
10272         * gst-libs/gst/Makefile.am:
10273         * gst-libs/gst/base/Makefile.am:
10274         * gst-libs/gst/codecparsers/Makefile.am:
10275         * gst-libs/gst/vaapi/Makefile.am:
10276         * gst/Makefile.am:
10277         * gst/vaapi/Makefile.am:
10278         * patches/Makefile.am:
10279         * patches/videoparsers/Makefile.am:
10280         * pkgconfig/Makefile.am:
10281         * tests/Makefile.am:
10282           build: use git.mk
10283           This patch handles dinamically the gitignore files with git.mk[1].
10284           Removed the automake variable MAINTAINERCLANFILES in most of the
10285           Makefile.am files since now it is handled by the top one.
10286           1. https://github.com/behdad/git.mk/blob/master/git.mk
10287           https://bugzilla.gnome.org/show_bug.cgi?id=749321
10288
10289 2015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10290
10291         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10292           wayland: sync() when destroy()
10293           Before pushing a the new frame, the render() method calls sync() to flush the
10294           pending frames. Nonetheless, the last pushed frame never gets rendered, leading
10295           to a memory leak too.
10296           This patch calls sync() in the destroy() to flush the pending frames before
10297           destroying the window.
10298           Also a is_cancelled flag is added. This flag tells to not flush the event
10299           queue again since the method failed previously or were cancelled by the user.
10300           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10301
10302 2015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
10303
10304         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10305         * gst-libs/gst/vaapi/gstvaapiwindow.h:
10306         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10307         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10308         * gst/vaapi/gstvaapisink.c:
10309           vaapisink: implement unlock/unlock_stop for wayland
10310           Otherwise wl_display_dispatch_queue() might prevent the pipeline from
10311           shutting down. This can happen e.g. if the wayland compositor exits while
10312           the pipeline is running.
10313           Changes:
10314           * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
10315           * splitted the patch removing wl_display_dispatch_queue()
10316           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10317           https://bugzilla.gnome.org/show_bug.cgi?id=747492
10318           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10319
10320 2015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10321
10322         * configure.ac:
10323         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10324           wayland: wl_display_dispatch_queue() can block forever.
10325           wl_display_dispatch_queue() might prevent the pipeline from shutting
10326           down. This can happen e.g. if the wayland compositor exits while the
10327           pipeline is running.
10328           This patch replaces it with these steps:
10329           - With wl_display_prepare_read() all threads announce their intention
10330           to read.
10331           - wl_display_read_events() is thread save. On threads reads, the other
10332           wait for it to finish.
10333           - With wl_display_dispatch_queue_pending() each thread dispatches its
10334           own events.
10335           wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
10336           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
10337           * stripped out the unlock() unlock_stop() logic
10338           * stripped out the poll handling
10339           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10340           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10341           https://bugzilla.gnome.org/show_bug.cgi?id=747492
10342
10343 2015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10344
10345         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10346           wayland: rename frame for last_frame
10347           Since frame in the private data means the last frame sent, it would
10348           semantically better use last_frame.
10349           Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
10350           functions.
10351           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10352
10353 2015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10354
10355         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10356           wayland: use a counter as sync flag
10357           Wayland window has a pointer to the last pushed frame and use it to set the
10358           flag for stopping the queue dispatch loop. This may lead to memory leaks,
10359           since we are not keeping track of all the queued frames structures.
10360           This patch removes the last pushed frame pointer and change the binary flag
10361           for an atomic counter, keeping track of number of queued frames and use it for
10362           the queue dispatch loop.
10363           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10364
10365 2015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10366
10367         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10368           wayland: decouple wl_buffer from frame
10369           This patch takes out the wayland's buffer from the the frame structure. The
10370           buffer is queued to wayland and destroyed in the "release" callback. The
10371           frame is freed in the surface's "done" callback.
10372           In this way a buffer may be leaked but not the whole frame structure.
10373           - surface 'done' callback is used to throttle the rendering operation and to
10374           unallocate the frame, but not the buffer.
10375           - buffer 'release' callback is used to destroy wl_buffer.
10376           Original-patch-by: Zhao Halley <halley.zhao@intel.com>
10377           * code rebase
10378           * kept the the event_queue for buffer's proxy
10379           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10380           https://bugzilla.gnome.org/show_bug.cgi?id=749078
10381
10382 2015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10383
10384         * gst/vaapi/gstvaapisink.c:
10385           vaapisink: fix indentation
10386
10387 2015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10388
10389         * debian.upstream/Makefile.am:
10390         * ext/libvpx/Makefile.am:
10391         * gst-libs/gst/vaapi/Makefile.am:
10392         * gst/vaapi/Makefile.am:
10393         * tests/Makefile.am:
10394           build: fix make distcheck
10395           This patch fixes several issues found when running the `make distcheck`
10396           target:
10397           - In commit c561b8da, the update of gstcompat.h in Makefile.am was
10398           forgotten.
10399           - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
10400           forgotten.
10401           - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
10402           - The make target distcleancheck failed because some autogenerated files
10403           were not handled with the DISTCLEANFILES variable.
10404           Note: `make distcheck -jXX` is not currently supported.
10405
10406 2015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10407
10408         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
10409         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
10410         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
10411           h264parse: update patches with upstream
10412           These patches didn't applied cleanly, breaking the `make distcleancheck`
10413           target. Re-sync'ed the patches against the current git's submodule.
10414
10415 2015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10416
10417         * tests/simple-encoder.c:
10418           tests: simple-encoder: fix build warnings on 64-bit platforms.
10419           Add a cosmetic change to replace VAAPI buffer with VA buffer and most
10420           importantly fix warnings spitted out during build on 64-bit platforms.
10421           ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
10422           g_warning ("Invalid VAAPI buffer size (%d)", size);
10423           ^
10424           ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
10425           g_warning ("Failed to create output buffer of size %d", size);
10426           ^
10427
10428 2015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10429
10430         * gst/vaapi/gstvaapipluginbase.c:
10431         * gst/vaapi/gstvaapipluginutil.c:
10432         * gst/vaapi/gstvaapipluginutil.h:
10433         * gst/vaapi/gstvaapivideocontext.h:
10434           plugins: remove gstreamer-0.10 crumbs
10435           GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
10436           Still, its definition was still in the code. This patch removes it.
10437           https://bugzilla.gnome.org/show_bug.cgi?id=749113
10438
10439 2015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10440
10441         * tests/Makefile.am:
10442         * tests/simple-encoder.c:
10443         * tests/y4mreader.c:
10444         * tests/y4mreader.h:
10445           tests: add simple-encoder program
10446           This patch adds a simple-encoder test program that uses libgstvaapi for video
10447           encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
10448           format. That can be from a regular file or standard input when the input
10449           filename is "-".
10450           Usage: simple-encoder [options]* <source>
10451           Options:
10452           --output|-o     output file name
10453           --codec|-c      codec to use for video encoding
10454           --bitrate|-b    desired bitrate (kbps)
10455           By default, and as an initial patch, the encoded stream shall conform to the
10456           minimally supported profile. That is "Constrained Baseline Profile" for H.264
10457           and "Simple Profile" for MPEG-2. Though, those are the defaults to be
10458           generated by libgstvaapi.
10459           You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
10460           Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
10461           * general code clean-up
10462           * removed the yuv reader thread
10463           * re-wrote the y4m file parser
10464           * updated used API fixed some wrong usage
10465           * fixed a lot of memory leaks
10466           * added the bitrate setting
10467           * keep fps' numerator and denominator
10468           * simplified the thread control
10469           * removed custom logging and use glib
10470           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10471           https://bugzilla.gnome.org/show_bug.cgi?id=719528
10472
10473 2015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10474
10475         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10476           libs: trivial documentation fix
10477           GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
10478           are not errors, so they do not have the ERROR namespace.
10479           This patch fixes this typo in documentation.
10480
10481 2015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
10482
10483         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10484           window: Correct prototype to match implementation
10485           On s390x, guintptr and GstVaapiID are not compatible types. The
10486           implementation of gst_vaapi_window_new_internal() and all its callers
10487           seem to assume that its third argument is a GstVaapiID, while the
10488           header gives it guintptr type.
10489           https://bugzilla.gnome.org/show_bug.cgi?id=744559
10490
10491 2015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10492
10493         * gst/vaapi/gstvaapidecode.c:
10494         * gst/vaapi/gstvaapidecodebin.c:
10495           vaapidecode: add guards for disabled codecs.
10496           Fix link when building plugin elements without HEVC support. e.g. don't
10497           try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
10498           support HEVC enabled in libgstvaapi.
10499           Also, drop disabled codecs from static template caps. Add the missing
10500           HEVC static template caps into vaapidecodebin too.
10501
10502 2015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10503
10504         * configure.ac:
10505         * gst-libs/gst/vaapi/glibcompat.h:
10506           build: upgrade glib dependency to 2.32
10507           Since bug #745728 was fixed the oldest supported version of GStreamer is
10508           1.2. That GStreamer release requires glib 2.32, so we can upgrade our
10509           requirement too.
10510           This patch changes the required version of glib in configure.ac and removes
10511           the hacks in glibcompat.h
10512           https://bugzilla.gnome.org/show_bug.cgi?id=748698
10513
10514 2015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10515
10516         * gst/vaapi/gstvaapipluginbase.c:
10517           plugins: check if the pool config is already set
10518           In commit 97b768, a regression for GStreamer 1.2 was introduced:
10519           GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
10520           config option is already set. This patch adds an inline function to
10521           first verify if the option is not in the pool config berfore add it.
10522
10523 2015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10524
10525         * gst/vaapi/gstvaapipostproc.c:
10526           vaapipostproc: tune up a couple of log messages
10527           In order to reduce the noise, the query type log was downgrade from INFO to
10528           DEBUG, and the shared display address log message is assigned to the object.
10529
10530 2015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10531
10532         * gst/vaapi/gstvaapipluginbase.c:
10533           plugins: check gst_buffer_pool_set_config()
10534           Check the return value of gst_buffer_pool_set_config(). If it fails an error
10535           message is posted in the bus.
10536
10537 2015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10538
10539         * gst/vaapi/gstvaapipluginbase.c:
10540           plugins: more specific log message
10541           Be more specific in the log message about the reason of creating a new pool.
10542
10543 2015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10544
10545         * gst/vaapi/gstvaapipluginbase.c:
10546           plugins: delete unused variable
10547           need_pool is a boolean variable extracted from the allocation query, but it is
10548           not used afterwards.
10549
10550 2015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
10551
10552         * gst/vaapi/gstvaapipluginbase.c:
10553           vaapipluginbase: Update the pool if there was no pool in the downstream reply
10554           Fix regression introduced by bd866479, the query after decide_allocation()
10555           always needs a pool in the first slot.
10556           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10557           https://bugzilla.gnome.org/show_bug.cgi?id=748559
10558
10559 2015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
10560
10561         * gst/vaapi/gstvaapivideobufferpool.c:
10562           videopool: Free members before chaining up finalize
10563           The finalize function in GObject frees the object memory, so
10564           everything else needs to have been freed before.
10565           https://bugzilla.gnome.org/show_bug.cgi?id=748563
10566
10567 2015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
10568
10569         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
10570           wayland: don't leak the registry proxy
10571           Release the registry proxy when closing the display.
10572           https://bugzilla.gnome.org/show_bug.cgi?id=748564
10573
10574 2015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10575
10576         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10577           wayland: refactor _sync() method and rename callback
10578           This patch only intends to improve readability: in the method
10579           gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
10580           single while loop.
10581           Also renames the frame_redraw_callback() callback into frame_done_callback(),
10582           which is a bit more aligned to Wayland API.
10583
10584 2015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
10585
10586         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10587           wayland: free frame in buffer release callback
10588           The Wayland compositor may still use the buffer when the frame done
10589           callback is called.
10590           This patch destroys the frame (which contains the buffer) until the
10591           release callback is called. The draw termination callback only controls
10592           the display queue dispatching.
10593           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10594           https://bugzilla.gnome.org/show_bug.cgi?id=747492
10595
10596 2015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10597
10598         * gst/vaapi/gstvaapidecode.c:
10599           vaapidecode: refactor gst_vaapidecode_internal_flush()
10600           This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
10601           label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
10602           shares the same error message of gst_vaapidecode_internal_flush() when flush
10603           fails.
10604
10605 2015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10606
10607         * gst/vaapi/gstvaapidecode.c:
10608           vaapidecode: refactor gst_vaapidecode_destroy()
10609           Add the method gst_vaapidecode_purge(). This method releases the
10610           flushed frames from the decoder.
10611           This new method add more readablity to gst_vaapidecode_destroy()
10612
10613 2015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
10614
10615         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10616         * gst/vaapi/gstvaapidecode.c:
10617           vaapidecode: Tell the base class about released frames on close
10618           The base class needs to be informed about frames that were still queued
10619           in the decoder on release, otherwise they are leaked.
10620           https://bugzilla.gnome.org/show_bug.cgi?id=747999
10621
10622 2015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10623
10624         * gst/vaapi/gstvaapidecode.c:
10625           vaapidecode: reduce logging noise
10626           When a frame is rejected by downstream, the message is logged twice. This
10627           patch removes one of those logging messages.
10628           Also, the reject of a frame doesn't mean an alarming error. This patch demotes
10629           the log message from error to info.
10630
10631 2015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
10632
10633         * gst/vaapi/gstvaapidecode.c:
10634           vaapidecode: Use the GstVideoDecoder error reporting function
10635           This way, the decoder won't stop on the first decoding error,
10636           in most cases it can recover after some glitchiness.
10637           https://bugzilla.gnome.org/show_bug.cgi?id=744620
10638
10639 2015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
10640
10641         * gst/vaapi/gstvaapipluginbase.c:
10642           vaapipluginbase: The allocation query can return without a pool
10643           It is possible to return the min/max/size without actually providing
10644           a pool. This way the source knows how many buffers downstream needs.
10645           https://bugzilla.gnome.org/show_bug.cgi?id=748076
10646
10647 2015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10648
10649         * ext/Makefile.am:
10650         * gst/vaapi/Makefile.am:
10651         * gst/vaapi/gstvaapiparse.c:
10652         * gst/vaapi/gstvaapiparse.h:
10653         * patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
10654         * patches/videoparsers/series.frag:
10655           plugins: Add h265 videoparser element "vaapiparse_h265"
10656           This is a mirror of h265parse element in upstream gst-plugins-bad.
10657           There could be additional patches but all should go to upstream.
10658           This is for making development faster.
10659           Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
10660
10661 2015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10662
10663         * ext/codecparsers:
10664           codecparsers: Update to gst-vaapi-branch commit 43a0368
10665           45f1c28: codecparser: h265: Fix nal unit size checking
10666           f25987b: codecparser: h265: Calculate crop rectangle dimensions
10667           639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
10668           4c8ec41: Add h265 videoparser plugin source files
10669
10670 2015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10671
10672         * autogen.sh:
10673           autogen: drop videoutils submodule.
10674
10675 2015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10676
10677         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10678           decoder: hevc: cosmetics.
10679           Mostly coding style updates. Avoid integer signess inconsistencies.
10680           Optimize dpb_find_lowest_poc() to align with original h264's decoder.
10681
10682 2015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10683
10684         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10685           decoder: hevc: Add Support for tiled video decoding
10686           Based up on the value of uniform_spacing_flag in Picture Parameter Set,
10687           the tile column width and tile row height should be calculated.
10688           Equations: 6-1, 6-2
10689           Tiled video Descriptions: 7.3.2.3, 7.4.3.3
10690
10691 2015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10692
10693         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10694           decoder: hevc: Fix decoding when there are RASL pictures present.
10695           -- Set NoRaslOutputFlag based on EOS and EOB Nal units
10696           -- Fix PicOutputFlag setting for RASL picture
10697           -- Fix prev_poc_lsb/prev_poc_msb calculation
10698           -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
10699           -- Fixed couple of crashes and added cosmetics
10700
10701 2015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
10702
10703         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
10704           display: drm: fix race condition setting device type
10705           There is a race condition where g_drm_device_type can be left set to
10706           DRM_DEVICE_RENDERNODES when it shouldn't.
10707           If thread 1 comes in and falls into the last else statement setting up both
10708           RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
10709           it sets g_drm_device_type = RENDERNODES.
10710           Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
10711           up that type to be tried but then encounters the lock and has to wait until the
10712           first thread finishes. Once the lock is acquired it will then proceed to ONLY try
10713           RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
10714           attempts will only try RENDERNODES.
10715           So to avoid this situation I have simply moved the acquisition of the lock higher
10716           up in the attached patch.
10717           https://bugzilla.gnome.org/show_bug.cgi?id=747914
10718
10719 2015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
10720
10721         * gst/vaapi/gstvaapipostproc.c:
10722           vaapipostproc: Don't create filter on caps query
10723           The problem with this is that creating the filter causes the display to
10724           be selected, and the caps query happens while linking the element. So,
10725           if the downstream or upstream element is using a specific display
10726           object, it won't be propagated correctly to the postproc as it already
10727           has a display at this point.
10728           https://bugzilla.gnome.org/show_bug.cgi?id=747945
10729
10730 2015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
10731
10732         * gst-libs/gst/vaapi/gstvaapivideopool.c:
10733           videopool: Release lock while allocating new object
10734           The video pool can be accessed with the display lock held, for example,
10735           when releasing a buffer from inside vaapisink_render, but allocating
10736           a new object can may also take the display lock. Which means a possible
10737           deadlock.
10738           https://bugzilla.gnome.org/show_bug.cgi?id=747944
10739
10740 2015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10741
10742         * gst/vaapi/gstvaapisink.c:
10743           vaapisink: use GstVideoSink vmethod show_frame()
10744           vaapisink inherits from GstVideoSink, in order to use its functionality (such
10745           as ::show-preroll-frame property), we should use its vmethod show_frame(),
10746           rather than call ourselves render() and preroll().
10747
10748 2015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10749
10750         * gst/vaapi/gstvaapisink.c:
10751         * gst/vaapi/gstvaapisink.h:
10752           vaapisink: add 'handoff' signal
10753           This patch adds the signal ::handoff and the property signal-handoffs. If the
10754           property is set TRUE, the signal ::handoff is emitted just after the buffer is
10755           rendered.
10756           Based on Zhao Halley <halley.zhao@intel.com>
10757           https://bugzilla.gnome.org/show_bug.cgi?id=747905
10758
10759 2015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10760
10761         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10762           HEVC: silence the compiler
10763           Fixed a couple of clang complains.
10764
10765 2015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
10766
10767         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10768           wayland: destroy vpp buffer pool on resize
10769           Otherwise the old buffers with the old size are used.
10770           https://bugzilla.gnome.org/show_bug.cgi?id=747491
10771
10772 2015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10773
10774         * configure.ac:
10775         * gst-libs/gst/vaapi/Makefile.am:
10776           build: don't compile HEVC if not supported
10777           HEVC decoding was added recently libva-1.5.
10778           This patch avoids HEVC decoding support in libgstvaapi if it is not available
10779           in the installed libva.
10780           https://bugzilla.gnome.org/show_bug.cgi?id=747831
10781
10782 2015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10783
10784         * gst/vaapi/gstvaapidecode.c:
10785           vaapidecode: Update Author name in plugin metadata
10786
10787 2015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10788
10789         * gst/vaapi/gstvaapidecode.c:
10790           plugins: Add HEVC decoder
10791           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10792
10793 2015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10794
10795         * gst-libs/gst/vaapi/Makefile.am:
10796         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10797         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
10798           HEVC: Add HEVC(h265) decoder to core libgstvaapi
10799           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10800
10801 2015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10802
10803         * gst-libs/gst/vaapi/Makefile.am:
10804         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
10805         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
10806         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
10807           HEVC: Add codec utility methods to core libgstvaapi
10808           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10809
10810 2015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10811
10812         * gst-libs/gst/vaapi/gstvaapiprofile.c:
10813         * gst-libs/gst/vaapi/gstvaapiprofile.h:
10814           HEVC: gstvaapiprofile: Add profile definitions
10815           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10816
10817 2015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10818
10819         * configure.ac:
10820           HEVC: build: Check availability of h265 decoder APIs
10821           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10822
10823 2015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10824
10825         * configure.ac:
10826         * ext/Makefile.am:
10827         * gst-libs/gst/codecparsers/Makefile.am:
10828           HEVC: Allow to build h265 codecparser internally
10829           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10830
10831 2015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10832
10833         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
10834         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
10835         * gst-libs/gst/vaapi/gstvaapisurface.c:
10836           guard buffer export API if not available
10837           The support for buffer exports in VA-API was added in version 0.36. These
10838           interfaces are for interop with EGL, OpenCL, etc.
10839           GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
10840           has to support VA-API versions ranging from 0.30.4, which doesn't support it.
10841           This patch guards all the buffer exports handling (and dmabuf allocator) if
10842           the detected VA-API version is below 0.36.
10843           https://bugzilla.gnome.org/show_bug.cgi?id=746405
10844
10845 2015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10846
10847         * ext/codecparsers:
10848           codecparsers: Update to gst-vaapi-branch commit 9bc72b0
10849           767bf22: codecparsers: h265: add helpers to convert quantization matrices
10850           71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
10851           3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
10852           10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
10853           2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
10854
10855 2014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
10856
10857         * gst/vaapi/gstvaapidecode.c:
10858           vaapidecode: unref video codec frame twice
10859           We get one reference when the frame is passed to decode_handle_frame()
10860           and create another one in gst_vaapi_decoder_push_frame().
10861           Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
10862           Here the frame is always released twice:
10863           gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
10864           gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
10865           In gst_vaapidecode_reset_full() both references to the frame must be
10866           released as well.
10867           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10868           https://bugzilla.gnome.org/show_bug.cgi?id=743226
10869
10870 2015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10871
10872         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
10873           libs: remove unused variables
10874           clang reports these unused variables. Let's get rid of them.
10875           This patch is a missing part of commit c82e5173
10876           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10877
10878 2015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10879
10880         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
10881           decoder: mpeg4: remove an spurious comparison
10882           The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
10883           less than zero. Hence this pre-condition test is a no-op. This patch removes
10884           that code.
10885           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10886
10887 2015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10888
10889         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10890           encoder: h264: casts slice_param->slice_type
10891           slice_type in slice_param is defined as (char *), but it is compared against a
10892           signed integer. clang complains about this comparison.
10893           This patch casts the variable.
10894           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10895
10896 2015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10897
10898         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
10899           encoder: avoid GstVaapiCodedBuffer redefinition
10900           The symbol GstVaapiCodedBuffer is already defined in
10901           gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
10902           gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
10903           This patch removes that redefinition.
10904           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10905
10906 2015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10907
10908         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
10909         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10910           libs: remove unused variables
10911           clang reports these unused variables. Let's get rid of them.
10912           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10913
10914 2015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10915
10916         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10917           encoder: mpeg2: use fabsf() instead of abs()
10918           The member value in frame_rate_tab is float, the result of the abs() function
10919           should be float too. But abs() only manages integers.
10920           This patch replaces abs() with fabsf() to handle correctly the possible floats
10921           values.
10922           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10923
10924 2015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10925
10926         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10927         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10928         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
10929         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10930         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
10931           decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
10932           Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
10933           GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
10934           https://bugzilla.gnome.org/show_bug.cgi?id=747312
10935
10936 2015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10937
10938         * README:
10939           Update README
10940
10941 2015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10942
10943         * .gitmodules:
10944         * README:
10945           Changing source code download links from https://gitorious  to https://github
10946           -- gitmodules: Change gstreamer-codecparsers submodule source download link
10947           -- README: Change the gstreamer-vaapi webpage link
10948
10949 2015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10950
10951         * ext/codecparsers:
10952           codecparsers: update to gst-vaapi-branch commit 1f792e4
10953           87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
10954           7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
10955           2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
10956           2b92a67: h264parse: reset the parser information when caps changes
10957           05eee86: codecparsers: Indent file
10958           e27a38b: codecparsers: Add READ_UE_MAX macro
10959           2036471: Constify some static arrays everywhere
10960
10961 2015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10962
10963         * gst/vaapi/gstvaapivideoconverter_glx.c:
10964         * gst/vaapi/gstvaapivideoconverter_x11.c:
10965           Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
10966
10967 2015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10968
10969         * gst/vaapi/gstvaapidecode.c:
10970         * gst/vaapi/gstvaapidecodebin.c:
10971         * gst/vaapi/gstvaapiencode_h264.c:
10972         * gst/vaapi/gstvaapiencode_jpeg.c:
10973         * gst/vaapi/gstvaapiencode_mpeg2.c:
10974         * gst/vaapi/gstvaapiencode_vp8.c:
10975         * gst/vaapi/gstvaapipluginbase.c:
10976         * gst/vaapi/gstvaapipluginutil.c:
10977         * gst/vaapi/gstvaapipluginutil.h:
10978         * gst/vaapi/gstvaapipostproc.c:
10979         * gst/vaapi/gstvaapisink.c:
10980         * gst/vaapi/gstvaapivideobuffer.c:
10981         * gst/vaapi/gstvaapivideobufferpool.c:
10982         * gst/vaapi/gstvaapivideocontext.c:
10983         * gst/vaapi/gstvaapivideocontext.h:
10984         * gst/vaapi/gstvaapivideoconverter_glx.h:
10985         * gst/vaapi/gstvaapivideoconverter_x11.h:
10986         * gst/vaapi/gstvaapivideomemory.h:
10987         * gst/vaapi/gstvaapivideometa_texture.c:
10988           Removal of gstreamer-1.0 support
10989           The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
10990           GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
10991           This patch removes all the pre-processor conditional code compilation guarded
10992           for gstreamer-1.0.
10993           Thus, all the video converters were removed too.
10994           https://bugzilla.gnome.org/show_bug.cgi?id=745728
10995           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10996           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10997
10998 2015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10999
11000         * gst-libs/gst/vaapi/gstcompat.h:
11001         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11002         * gst-libs/gst/vaapi/gstvaapiprofile.c:
11003         * gst-libs/gst/vaapi/sysdeps.h:
11004         * gst/vaapi/gstcompat.h:
11005         * gst/vaapi/gstvaapi.c:
11006         * gst/vaapi/gstvaapidecode.c:
11007         * gst/vaapi/gstvaapidecodebin.c:
11008         * gst/vaapi/gstvaapiencode.c:
11009         * gst/vaapi/gstvaapiencode_h264.c:
11010         * gst/vaapi/gstvaapiencode_jpeg.c:
11011         * gst/vaapi/gstvaapiencode_mpeg2.c:
11012         * gst/vaapi/gstvaapiencode_vp8.c:
11013         * gst/vaapi/gstvaapiparse.c:
11014         * gst/vaapi/gstvaapipluginbase.c:
11015         * gst/vaapi/gstvaapipluginutil.c:
11016         * gst/vaapi/gstvaapipostproc.c:
11017         * gst/vaapi/gstvaapisink.c:
11018         * gst/vaapi/gstvaapiuploader.c:
11019         * gst/vaapi/gstvaapivideobuffer.c:
11020         * gst/vaapi/gstvaapivideobufferpool.c:
11021         * gst/vaapi/gstvaapivideocontext.c:
11022         * gst/vaapi/gstvaapivideoconverter_glx.c:
11023         * gst/vaapi/gstvaapivideoconverter_x11.c:
11024         * gst/vaapi/gstvaapivideomemory.c:
11025         * gst/vaapi/gstvaapivideometa.c:
11026         * gst/vaapi/gstvaapivideometa_texture.c:
11027         * tests/codec.c:
11028           update and move gstcompat.h
11029           The purpose of gstcompat.h is to couple the API differences among
11030           gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
11031           in this compatibility layer shall be removed.
11032           Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
11033           appear in the future, but it shall live in gst/vaapi, not in gst-libs.
11034           This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
11035           In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
11036           the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
11037           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11038           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11039           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11040
11041 2015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11042
11043         * configure.ac:
11044         * gst/vaapi/Makefile.am:
11045           autotools: remove gstreamer-1.0 support
11046           This patch only removes the support of gstreamer-1.0 in the autotools
11047           scripts. No other files are touched.
11048           In the automake file all the converters were deprecated.
11049           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11050           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11051           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11052
11053 2015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11054
11055         * .gitmodules:
11056         * ext/Makefile.am:
11057         * ext/videoutils:
11058           Remove the gstreamer-videoutils submodule
11059
11060 2015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11061
11062         * configure.ac:
11063         * gst-libs/gst/Makefile.am:
11064         * gst-libs/gst/vaapi/Makefile.am:
11065         * gst-libs/gst/video/Makefile.am:
11066         * gst/vaapi/Makefile.am:
11067         * tests/Makefile.am:
11068           Remove libgstvaapi-videoutils.so
11069           This library was intended to add the base classes for video decoders which
11070           where not included in gstreamer-0.10.
11071           Since the support of gstreamer-0.10 is deprecated those classes are not
11072           required, thus the whole library is removed.
11073           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11074           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11075           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11076
11077 2015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11078
11079         * configure.ac:
11080         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
11081         * gst-libs/gst/vaapi/gstvaapiutils.c:
11082         * tests/test-subpicture.c:
11083           Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
11084           This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
11085           defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
11086           deprecated these guards are not required.
11087           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11088           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11089           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11090
11091 2015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11092
11093         * gst-libs/gst/vaapi/gstcompat.h:
11094         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
11095         * gst-libs/gst/vaapi/gstvaapidecoder.c:
11096         * gst-libs/gst/vaapi/gstvaapiimage.c:
11097         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
11098         * gst-libs/gst/vaapi/video-format.c:
11099         * gst-libs/gst/vaapi/video-format.h:
11100         * gst/vaapi/gstvaapi.c:
11101         * gst/vaapi/gstvaapidecode.c:
11102         * gst/vaapi/gstvaapidecodebin.c:
11103         * gst/vaapi/gstvaapidownload.c:
11104         * gst/vaapi/gstvaapidownload.h:
11105         * gst/vaapi/gstvaapiencode.c:
11106         * gst/vaapi/gstvaapiencode_h264.c:
11107         * gst/vaapi/gstvaapiencode_jpeg.c:
11108         * gst/vaapi/gstvaapiencode_mpeg2.c:
11109         * gst/vaapi/gstvaapiencode_vp8.c:
11110         * gst/vaapi/gstvaapiparse.c:
11111         * gst/vaapi/gstvaapipluginbase.c:
11112         * gst/vaapi/gstvaapipluginbase.h:
11113         * gst/vaapi/gstvaapipluginutil.c:
11114         * gst/vaapi/gstvaapipluginutil.h:
11115         * gst/vaapi/gstvaapipostproc.c:
11116         * gst/vaapi/gstvaapisink.c:
11117         * gst/vaapi/gstvaapiupload.c:
11118         * gst/vaapi/gstvaapiupload.h:
11119         * gst/vaapi/gstvaapiuploader.c:
11120         * gst/vaapi/gstvaapivideobuffer.c:
11121         * gst/vaapi/gstvaapivideoconverter_glx.c:
11122         * gst/vaapi/gstvaapivideoconverter_x11.c:
11123         * gst/vaapi/gstvaapivideometa.c:
11124         * gst/vaapi/gstvaapivideometa.h:
11125         * tests/test-filter.c:
11126         * tests/test-subpicture.c:
11127           Removal of gstreamer-0.10 support
11128           This patch removes all the pre-processor conditional code compilation guarded
11129           for gstreamer-0.10.
11130           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11131           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11132           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11133
11134 2015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11135
11136         * configure.ac:
11137         * debian.upstream/control.in:
11138         * gst-libs/gst/video/Makefile.am:
11139         * gst/vaapi/Makefile.am:
11140           autotools: remove gstreamer-0.10 support
11141           This patch only removes the support of gstreamer-0.10 in the autotools
11142           scripts. No other files are touched.
11143           The configuration parameter --gstreamer-api was deleted since now it is always
11144           auto-detected.
11145           The verification of vmethod query in GstBaseSinkClass was removed since it was
11146           added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
11147           its format flags.
11148           The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
11149           remained.
11150           The automake files were changed accordingly.
11151           Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
11152           https://bugzilla.gnome.org/show_bug.cgi?id=732666
11153           https://bugzilla.gnome.org/show_bug.cgi?id=745728
11154           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11155
11156 2015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11157
11158         * gst/vaapi/gstvaapidecode.c:
11159           vaapidecode: add drain() vmethod
11160           In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
11161           class. This patch implements this new method.
11162           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11163           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11164           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11165
11166 2015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11167
11168         * gst/vaapi/gstvaapidecode.c:
11169           vaapidecode: remove vmethod reset()
11170           Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
11171           this patch removes the method reset() which was deprecated in GStreamer 1.2.
11172           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11173           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11174           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11175
11176 2015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11177
11178         * gst/vaapi/gstvaapidecode.c:
11179           vaapidecode: handle flush() vmethod
11180           Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
11181           and flush() was added.
11182           This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
11183           superior. Otherwise, reset() is set.
11184           v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
11185           was renamed to gst_vaapidecode_internal_flush().
11186           2) The new vmethod flush() always do a hard full reset.
11187           v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
11188           gather all collected data with  gst_video_decoder_have_frame()
11189           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11190           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11191           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11192
11193 2015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11194
11195         * gst/vaapi/gstvaapidecode.c:
11196           vaapidecode: call the correct query function
11197           In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
11198           a bug was introduced: when calling the parent's query function of the
11199           src pad, the one of the sink pad is called instead. This patch fixes
11200           this issue.
11201           https://bugzilla.gnome.org/show_bug.cgi?id=746248
11202
11203 2015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11204
11205         * .gitmodules:
11206           gitmodules: Use https:// url instead of git:// for submodules.
11207           Gitorious is failing to clone repositories over git:// url.
11208
11209 2015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
11210
11211         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11212           vaapidisplay: mark X11 display as compatible with EGL
11213           GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
11214           gst-launch-1.0 ... ! vaapidecode ! glimagesink
11215           https://bugzilla.gnome.org/show_bug.cgi?id=745902
11216           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11217
11218 2015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
11219
11220         * gst/vaapi/gstvaapidecode.c:
11221           vaapidecode: Don't crash if a buffer outlives the decoder
11222           Sometimes, for example, when switching video streams but keeping
11223           the same sink, the surface will be released after the decoder is
11224           stopped and replaced. This caused a crash because the release
11225           callback was called on an invalid pointer.
11226           The patch adding an additional reference to the decoder object in the buffer.
11227           https://bugzilla.gnome.org/show_bug.cgi?id=745189
11228           Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
11229           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11230
11231 2015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11232
11233         * gst/vaapi/gstvaapidecode.c:
11234           vaapidecode: clean-ups (indentation, drop unused variables)
11235
11236 2015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11237
11238         * gst/vaapi/gstvaapidecode.c:
11239           vaapidecode: use the query virtual methods in 1.4
11240           GstVideoDecoder, the base class of vaapidecode, added support for
11241           pad queries as virtual methods. This patch enables the use of that
11242           support, while keeping support for lower versions of gstreamer.
11243           This patch is important because GstVideoDecoder takes care of other
11244           queries that might be important in the pipeline managing.
11245           v2: 1) rebase to current master
11246           2) fix indentation with gst-indent
11247           3) simplify the patch layout
11248           4) fix the context query
11249           5) initialise the filter to NULL
11250           6) improve the query log message for gst-1.2
11251           https://bugzilla.gnome.org/show_bug.cgi?id=744406
11252
11253 2015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11254
11255         * gst/vaapi/gstvaapipostproc.c:
11256         * gst/vaapi/gstvaapipostproc.h:
11257           vaapipostproc: always activate buffer pool
11258           The vaapipostproc has a proxy flag to know if the the buffer pool is
11259           already active. But this fails in some situations where it is needed
11260           to renegotiate the buffer pool.
11261           This patch removes that flag so the renegotiation is done whenever is
11262           required.
11263           https://bugzilla.gnome.org/show_bug.cgi?id=745535
11264
11265 2015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11266
11267         * gst/vaapi/gstvaapisink.c:
11268           vaapisink: fix minor memory leak in debug mode.
11269           The gst_video_colorimetry_to_string() function returns a newly created
11270           string that represents the GstVideoColorimetry value. So, that needs
11271           to be released after usage, in e.g. GST_DEBUG().
11272
11273 2015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11274
11275         * gst/vaapi/gstvaapidecodebin.h:
11276           vaapidecodebin: Avoid usage of "__" prefix in macro names
11277           Avoiding "__" prefix usage in Header File Guards as per
11278           C standard recommendation.
11279
11280 2015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11281
11282         * gst/vaapi/gstvaapi.c:
11283           plugins: Disable vaapidecodebin for GStreamer < 1.4
11284           There are autoplugging issues in GStreamer-1.2.
11285           Lets disable vaapidecodebin untill we get some workarounds for this.
11286
11287 2015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11288
11289         * gst/vaapi/Makefile.am:
11290         * gst/vaapi/gstvaapi.c:
11291         * gst/vaapi/gstvaapidecodebin.c:
11292         * gst/vaapi/gstvaapidecodebin.h:
11293           plugins: Add a vaapidecodebin element
11294           Add a "vaapidecodebin" element to vaapi plugins.
11295           Child Elements: "vaapidecode ! queue ! vaapipostproc"
11296           The Reasons for implementing a new bin element:
11297           -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
11298           with out any dependency to upstream gstreamer.
11299           This is to overcome the *unacceptable* delay in upstream gstreamer to get new
11300           features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
11301           Also customers using older gstreamer versions (1.2 and 1.4) will get the
11302           benefit of autoplugging, hardware accelerated deinterlacing support etc.
11303           -- Help to maintain a single thread implementation in vaapidecode.
11304           This will result a dead-lock free vaapidecode in most of the cases.
11305           More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
11306           https://bugzilla.gnome.org/show_bug.cgi?id=745216
11307
11308 2015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11309
11310         * gst/vaapi/gstvaapidecode.c:
11311           vaapidecode: re-indent (gst-indent) gstvaapidecode.c
11312
11313 2015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11314
11315         * gst/vaapi/gstvaapidecode.c:
11316         * gst/vaapi/gstvaapidecode.h:
11317           vaapidecode: Switch back to Single thread implementation
11318           Because the decoder uses the thread from handle_frame() to decode a frame,
11319           the src pad task creates an unsolveable AB-BA deadlock between
11320           handle_frame() waiting for a free surface and decode_loop() pushing
11321           decoded frames out.
11322           Instead, have handle_frame() take responsibility for pushing surfaces,
11323           and remove the deadlock completely. If you need a separate thread
11324           downstream, you can insert a queue between vaapidecode and its downstream
11325           to get one.
11326           Another justification for the single thread implementation is,
11327           there are two many point of locking in gstreamer-vaapi's current
11328           implementation which can lead to deadlocks.
11329           https://bugzilla.gnome.org/show_bug.cgi?id=742605
11330           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
11331           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11332           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11333
11334 2015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11335
11336         * gst/vaapi/gstvaapipluginbase.c:
11337           plugins: fix detection of upstream v4l2src element.
11338           Improve check for upstream element that requires DMABUF buffer pool,
11339           e.g. v4l2src element. In particular, make sure to traverse through
11340           any additional capsfilter for instance.
11341           Note: the traversal to the top-most upstream element could be made
11342           more generic, but we are insofar only interested in supporting pipes
11343           similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
11344           specification for a desired video camera format, or resolution.
11345
11346 2015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11347
11348         * gst/vaapi/gstvaapivideomemory.c:
11349           plugins: fix allocation of DMABUF memory.
11350           The dmabuf allocator would close the DMABUF handle passed in the init
11351           function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
11352           to avoid a double close, ultimately in the underlying driver that owns
11353           the DMABUF handle.
11354
11355 2015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11356
11357         * gst/vaapi/gstvaapidecode.c:
11358           vaapidecode: keep src caps and output state in sync
11359           vaapidecode keeps an output state that use the format
11360           GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
11361           for a correct negotiation.
11362           I don't see the rational behind this decoupling, it looks like
11363           unnecessary complexity. This patch simplify this logic keeping
11364           in sync the output state and the src caps.
11365           This patch improves the readability of the function
11366           gst_vaapidecode_update_src_caps() and simplify its logic. Also,
11367           the patch validates if the buffer pool has the configuration for
11368           the GL texture upload meta, in order to set the caps feature
11369           meta:GLTextureUpload. Otherwise, the I420 format is set back.
11370           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11371           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11372           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11373
11374 2015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11375
11376         * gst/vaapi/gstvaapidecode.c:
11377           vaapidecode: upload meta only if feature and allocation
11378           When vaapidecode finishes the decoding of a frame and pushes it,
11379           if, in the decide_allocation() method, it is determined if the
11380           next element supports the GL texture upload meta feature, the
11381           decoder adds the buffer's meta.
11382           Nonetheless, in the same spirit of the commit 71d3ce4d, the
11383           determination if the next element supports the GL texture upload
11384           meta needs to check both the preferred caps feature *and* if the
11385           allocation query request the API type.
11386           This patch, first removes the unused variable need_pool, and
11387           determines the attribute has_texture_upload_meta using the
11388           preferred caps feature *and* the allocation query.
11389           Also, the feature passed to GstVaapPluginBase is not longer
11390           determined by has_texture_upload_meta, but by the computed
11391           preferred one.
11392           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11393           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11394           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11395
11396 2015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11397
11398         * gst/vaapi/gstvaapidecode.c:
11399         * gst/vaapi/gstvaapidecode.h:
11400         * gst/vaapi/gstvaapipluginutil.c:
11401         * gst/vaapi/gstvaapipluginutil.h:
11402           vaapidecode: delayed src caps negotiation
11403           Currently the src caps are set immediately after the sink caps are set, but in
11404           that moment the pipeline might not fully constructed and the video sink has
11405           not negotiated its supported caps and features. As a consequence, in many cases
11406           of playback, the least optimized caps feature is forced. This is partially the
11407           responsible of bug #744039.
11408           Also, vaapidecode doesn't attend the reconfigure events from downstream,
11409           which is a problem too, since the video sink can be changed with different
11410           caps features.
11411           This patch delays the src caps, setting them until the first frame arrives to
11412           the decoder, assuming until that very moment the whole pipeline is already
11413           negotiated. Particularly, it checks if the src pad needs to be reconfigured,
11414           as a consequence of a reconfiguration event from downstream.
11415           A key part of this patch is the new GstVaapiCapsFeature
11416           GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
11417           doesn't have a peer yet. Also, for a better report of the caps allowed
11418           through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
11419           instead of gst_pad_peer_query_caps() when looking for the preferred feature.
11420           v3: move the input_state unref to close(), since videodecoder resets at
11421           some events such as navigation.
11422           v4: a) the state_changed() callback replaces the input_state if the media
11423           changed, so this case is also handled.
11424           b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
11425           always the input_state, the parameter were removed.
11426           c) there were a lot of repeated code handling the input_state, so I
11427           refactored it with the function gst_vaapi_decode_input_state_replace().
11428           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11429           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11430           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11431
11432 2015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11433
11434         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11435         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
11436           encoder: h264: add support for more than 2 views
11437           Add support for H.264 MVC Multiview High profile encoding with
11438           more than 2 views. All views within the same accesss unit are
11439           provided in increasing order of view order index (VOIdx).
11440           Upto 10 view are supported for now.
11441           A new property "view-ids" has been provided for the plugins to
11442           set the view ids (which is an array of guint values) to be used
11443           for mvc encoding.
11444           https://bugzilla.gnome.org/show_bug.cgi?id=732453
11445
11446 2015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11447
11448         * gst/vaapi/gstvaapipluginbase.c:
11449           plugins: upload meta only if feature and allocation
11450           Working on bug #743687, I realized that vaapidecode always adds to its buffer
11451           pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
11452           the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
11453           Nevertheless, there are occasions where the query has the API type, but the
11454           last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
11455           Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
11456           buffer pool configuration, and adds its buffer's meta to each output buffer,
11457           even if the negotiated caps feature is memory:SystemMemory with I420 color
11458           format.
11459           This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
11460           that relates caps <-> GL upload method. If it receives a buffer with color
11461           format I420, it assumes that it doesn't have a texture upload meta, because
11462           only those with RGB color format has it. Our buffers, with I420 format, say
11463           that they have the upload meta too. In that case the mapped method is a dummy
11464           one which does nothing. I reported this issue in bug #744039 (the patch,
11465           obviously, was rejected).
11466           This patch workarounds the problem: the buffer pool's configuration option
11467           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
11468           query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
11469           caps feature is meta:GstVideoGLTextureUploadMeta.
11470           I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
11471           in all they seem to work correctly.
11472           https://bugzilla.gnome.org/show_bug.cgi?id=744618
11473           [adapted to fit current EGL changes]
11474           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11475
11476 2015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11477
11478         * gst-libs/gst/vaapi/gstvaapitexture.c:
11479         * gst-libs/gst/vaapi/gstvaapitexture.h:
11480         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
11481         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
11482         * gst/vaapi/gstvaapivideometa_texture.c:
11483           plugins: add support for GstVideoGLTextureOrientation.
11484           Add support for GstVideoGLTextureOrientation modes. In particular,
11485           add orientation flags to the GstVaapiTexture wrapper and the GLX
11486           implementations. Default mode is that texture memory is laid out
11487           with top lines first, left row first. Flags indicate whether the
11488           X or Y axis need to be inverted.
11489
11490 2015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11491
11492         * gst/vaapi/gstvaapidecode.c:
11493         * gst/vaapi/gstvaapipluginbase.c:
11494         * gst/vaapi/gstvaapipluginutil.c:
11495         * gst/vaapi/gstvaapipluginutil.h:
11496         * gst/vaapi/gstvaapipostproc.c:
11497         * gst/vaapi/gstvaapivideometa_texture.c:
11498           plugins: add support for BGRA textures.
11499           Some frameworks (EFL) expect BGRA textures for storage. However,
11500           adding support for that broadly into GStreamer framework  implies
11501           two kinds of hacks: (i) libgstgl helpers currently do not support
11502           BGRA textures correctly, (ii) we need to better parse downstream
11503           suggested caps and intersect them with what the VA plugin elements
11504           can offer to them for GL texturing.
11505
11506 2015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11507
11508         * gst/vaapi/gstvaapipluginutil.c:
11509           plugins: fix support for Wayland/EGL running alongside X11.
11510           When multiple display servers are available, the glimagesink element
11511           (from GStreamer 1.4) may not be able to derive a global display in
11512           Wayland. Rather, a "window"-specific display is created. In this case,
11513           the GstGLDisplay handle available through GstGLContext is invalid.
11514           So, try to improve heuristics for display server characterisation in
11515           those particular situations.
11516
11517 2015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11518
11519         * configure.ac:
11520         * gst/vaapi/Makefile.am:
11521         * gst/vaapi/gstvaapidecode.c:
11522         * gst/vaapi/gstvaapipluginbase.c:
11523         * gst/vaapi/gstvaapipluginutil.c:
11524         * gst/vaapi/gstvaapivideobufferpool.c:
11525         * gst/vaapi/gstvaapivideometa_texture.c:
11526           plugins: add initial support for EGL.
11527           Add initial support for EGL through GstVideoGLTextureUploadMeta.
11528           Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
11529           downstream supplied GstGLContext configuration, i.e. use its native
11530           display handle to create a GstVaapiDisplay of type X11 or Wayland ;
11531           and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
11532           wrapper.
11533           https://bugzilla.gnome.org/show_bug.cgi?id=741079
11534
11535 2014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11536
11537         * gst/vaapi/gstvaapivideometa_texture.c:
11538           plugins: track video texture size changes.
11539           Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
11540           i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
11541           now update the texture size from the GstVideoMeta, if any, or reset
11542           to some defaults otherwise.
11543
11544 2014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11545
11546         * gst/vaapi/gstvaapipluginbase.c:
11547         * gst/vaapi/gstvaapipluginbase.h:
11548         * gst/vaapi/gstvaapipluginutil.c:
11549           plugins: ensure VA display matches GL context expectations.
11550           If a GstGLContext is supplied by the downstream element, then make
11551           sure that the VA plugin element gets a compatible display to what
11552           is requested by the GL context. e.g. re-allocate a VA/GLX display
11553           when a GLX context is provided by the downstream element.
11554
11555 2014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11556
11557         * configure.ac:
11558         * gst/vaapi/Makefile.am:
11559         * gst/vaapi/gstvaapipluginbase.c:
11560         * gst/vaapi/gstvaapipluginbase.h:
11561           plugins: record downstream GstGLContext.
11562           Record GL context supplied by downstream elements. This can be useful,
11563           and further needed, to enforce run-time check that the GL context is
11564           compatible for use by libgstvaapi. e.g. check that we don't create a
11565           VA/GLX display for EGL/X11 contexts.
11566           https://bugzilla.gnome.org/show_bug.cgi?id=725643
11567           Original-path-by: Matthew Waters <ystreet00@gmail.com>
11568
11569 2014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11570
11571         * tests/Makefile.am:
11572         * tests/output.c:
11573           egl: update tests.
11574           Add initial support for EGL to tests. The new EGL backend can be selected
11575           through the --egl command line option. The OpenGL|ES version can further
11576           be selected with the --gles-version command line option, where the default
11577           of 0 means "desktop" OpenGL.
11578
11579 2015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11580
11581         * gst-libs/gst/vaapi/Makefile.am:
11582         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
11583         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
11584         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
11585         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
11586         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
11587           egl: add windowing support.
11588           This provides for some basic EGL window abstraction.
11589
11590 2015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11591
11592         * gst-libs/gst/vaapi/Makefile.am:
11593         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
11594         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
11595         * gst-libs/gst/vaapi/gstvaapitexture_egl.h:
11596           egl: add texture abstraction.
11597           Add GstVaapiTextureEGL abstraction that can create its own GL texture,
11598           or import a foreign allocated one, while still allowing updates from a
11599           VA surface.
11600
11601 2014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11602
11603         * gst-libs/gst/vaapi/Makefile.am:
11604         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
11605         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
11606           egl: allow for EGLImage imports into VA Surfaces.
11607           Add helpers to import EGLImage objects into VA surfaces. There are
11608           two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
11609           which allows for implicit conversion from EGLImage to a VA surface
11610           in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
11611           which exactly wraps the source EGLImage, typically in RGBA format
11612           with linear storage.
11613           Note: in case of (i), the EGLImage can be disposed right after the
11614           VA surface creation call, unlike in (ii) where the user shall ensure
11615           that the EGLImage is live until the associated VA surface is no longer
11616           needed.
11617           https://bugzilla.gnome.org/show_bug.cgi?id=743847
11618
11619 2015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11620
11621         * configure.ac:
11622         * gst-libs/gst/vaapi/Makefile.am:
11623         * gst-libs/gst/vaapi/egl_compat.h:
11624         * gst-libs/gst/vaapi/egl_vtable.h:
11625         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11626         * gst-libs/gst/vaapi/gstvaapidisplay.h:
11627         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
11628         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
11629         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
11630         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
11631         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
11632         * gst-libs/gst/vaapi/ogl_compat.h:
11633           Add initial support for EGL.
11634           Add initial support for EGL to libgstvaapi core library. The target
11635           display server and the desired OpenGL API can be programmatically
11636           selected at run-time.
11637           A comprehensive set of EGL utilities are provided to support those
11638           dynamic selection needs, but also most importantly to ensure that
11639           the GL command stream is executed from within a single thread.
11640           https://bugzilla.gnome.org/show_bug.cgi?id=743846
11641
11642 2015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11643
11644         * gst-libs/gst/vaapi/gstvaapivalue.c:
11645           libs: initialize GValues in a thread-safe manner.
11646
11647 2015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11648
11649         * gst-libs/gst/vaapi/gstvaapivalue.c:
11650           libs: re-indent all GValue related source code.
11651
11652 2015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11653
11654         * gst/vaapi/gstvaapidecode.c:
11655           vaapidecode: partially revert 0777f35.
11656           Reset the VA decoder after updating the base plugin caps, and most
11657           importantly, after GstVideoDecoder negotiation. The reason behind
11658           this is that the negotiation could trigger a last decide_allocation()
11659           where we could actually derive a new GstVaapiDisplay to use from the
11660           downstream element. e.g. GLX backend.
11661
11662 2015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11663
11664         * gst/vaapi/gstvaapidecode.c:
11665           vaapidecode: Caps query should return the list of all supported caps.
11666           Query caps filtering should be always done on top of allowed caps instead
11667           of existing fixed caps on a particular pad.
11668           This fixes the mvc stream decoding when there is a base view(high profile)
11669           and non-base view(stereo-high profile).
11670
11671 2015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11672
11673         * gst/vaapi/gstvaapidecode.c:
11674           vaapidecode: intersect filter from query caps
11675           According to documentation[1] when receiving a GST_QUERY_CAPS
11676           the return value should be all formats that this elements supports,
11677           taking into account limitations of peer elements further downstream
11678           or upstream, sorted by order of preference, highest preference first.
11679           This patch add those limitations intersecting with the received
11680           filter in the query. Also takes into account the already negotiated
11681           caps. Also adds the processing of the query on the SRC pad.
11682           1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
11683           https://bugzilla.gnome.org/show_bug.cgi?id=744406
11684
11685 2015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11686
11687         * gst-libs/gst/vaapi/Makefile.am:
11688         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11689         * gst-libs/gst/vaapi/gstvaapidecoder.c:
11690         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11691         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11692         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11693         * gst/vaapi/gstvaapivideomemory.c:
11694           Fix compiler warnings
11695           This patch fixes some warnings that gcc 4.9 reports.
11696           https://bugzilla.gnome.org/show_bug.cgi?id=744411
11697
11698 2015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11699
11700         * gst/vaapi/gstvaapidecode.c:
11701           vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
11702           Hence the function name is shown in the gst-inspect-1.0 information
11703           rather than the memory address.
11704           https://bugzilla.gnome.org/show_bug.cgi?id=744330
11705
11706 2015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11707
11708         * gst/vaapi/gstvaapidecode.c:
11709           vaapidecode: log flow error name
11710           https://bugzilla.gnome.org/show_bug.cgi?id=744387
11711
11712 2015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
11713
11714         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11715           VC1: decoder: Ignore VC1 user BDU's
11716           Don't return error if the processed BDU is a user one, just ignore them.
11717           https://bugzilla.gnome.org/show_bug.cgi?id=741237
11718           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11719
11720 2015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
11721
11722         * gst/vaapi/gstvaapidecode.c:
11723         * gst/vaapi/gstvaapipluginbase.c:
11724           vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
11725           This is required in GStreamer, elements should never return
11726           GST_FLOW_ERROR without posting an ERROR message on the bus.
11727           https://bugzilla.gnome.org/show_bug.cgi?id=744620
11728
11729 2015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11730
11731         * gst/vaapi/Makefile.am:
11732         * gst/vaapi/gstvaapi.c:
11733         * gst/vaapi/gstvaapiencode_vp8.c:
11734         * gst/vaapi/gstvaapiencode_vp8.h:
11735           plugins: Add VP8 Encoder
11736
11737 2015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11738
11739         * gst-libs/gst/vaapi/Makefile.am:
11740         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11741         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
11742           Add VP8 Encoder to core libgstvaapi.
11743
11744 2015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11745
11746         * configure.ac:
11747           configure: Add Check for VP8 Encoding API
11748
11749 2015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
11750
11751         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11752           decoder: vc1: Rounding control handling for VC1 simple and Main profile
11753           Added rounding control handling for VC1 simple and Main profile
11754           based on VC1 standard spec: section 8.3.7
11755           https://bugzilla.gnome.org/show_bug.cgi?id=743958
11756           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
11757           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11758
11759 2015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11760
11761         * gst/vaapi/Makefile.am:
11762           build: fix make dist when certain conditionals not met.
11763           Fix typo which was preventing the inclusion of jpeg encoder
11764           source files from make dist (when there is no jpeg encoder
11765           API support in libva).
11766
11767 2015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11768
11769         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11770           encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
11771           If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
11772           use native YUV420 format (which is i420) as default.
11773
11774 2015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11775
11776         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11777           encoder: Only support YUV420 native format as input for now
11778           Practically we should be able to support more formats, for eg:
11779           JPEG Encoder can support YUV422, RGBA and all.
11780           But this is causing more issues which need proper fix here and there.
11781
11782 2015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
11783
11784         * gst-libs/gst/vaapi/gstvaapidecoder.h:
11785         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
11786         * gst/vaapi/gstvaapidecode.c:
11787           vaapidecode: Check the condition after taking the lock
11788           Otherwise the condition could become true before the lock
11789           is taken and the g_cond_signal() could be called
11790           before the g_cond_wait(), so the g_cond_wait() is never
11791           awoken.
11792           https://bugzilla.gnome.org/show_bug.cgi?id=740645
11793
11794 2015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11795
11796         * gst/vaapi/Makefile.am:
11797         * gst/vaapi/gstvaapi.c:
11798         * gst/vaapi/gstvaapiencode_jpeg.c:
11799         * gst/vaapi/gstvaapiencode_jpeg.h:
11800           plugins: Add JPEG encoder element
11801
11802 2015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11803
11804         * gst-libs/gst/vaapi/gstvaapicontext.c:
11805           gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
11806
11807 2015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11808
11809         * gst-libs/gst/vaapi/gstvaapicontext.c:
11810           gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
11811           Don't add the VAConfigAttribRateControl to the attribute list using
11812           for the vaCreateConfig if it is not supported by the driver.
11813
11814 2015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11815
11816         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11817           gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
11818
11819 2015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11820
11821         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11822           gstvaapiencoder: Fix crash when handling rate control mask
11823           Having a ratecontrol_mask equal to zero is not a bug, but the driver
11824           might not be supporting any kind of rate control mechanisms.
11825           Eg: JPEG Encoding
11826
11827 2015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11828
11829         * gst-libs/gst/vaapi/Makefile.am:
11830         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
11831         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
11832           encoder: Add JPEG Encoder
11833
11834 2015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11835
11836         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
11837         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
11838           encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
11839
11840 2015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11841
11842         * gst-libs/gst/vaapi/gstvaapidisplay.c:
11843         * gst-libs/gst/vaapi/gstvaapiencoder.c:
11844         * gst-libs/gst/vaapi/gstvaapiprofile.c:
11845         * gst-libs/gst/vaapi/gstvaapiprofile.h:
11846           Encode: Add support for Picture level Entrypoint
11847           This is useful for JPEG encoding which is utilizing picture level
11848           entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
11849
11850 2015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11851
11852         * configure.ac:
11853           configure: Add Check for JPEG encoding API
11854
11855 2015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11856
11857         * AUTHORS:
11858           AUTHORS: Updates
11859
11860 2015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11861
11862         * configure.ac:
11863           Bump version for development.
11864
11865 === release 0.5.10 ===
11866
11867 2015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11868
11869         * configure.ac:
11870           0.5.10
11871
11872 2015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11873
11874         * NEWS:
11875           NEWS: Updates
11876
11877 2015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11878
11879         * gst/vaapi/gstvaapivideometa_texture.c:
11880           Fix compilation error if there is no GL/gl.h header file installed
11881
11882 2015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11883
11884         * gst/vaapi/gstvaapivideomemory.h:
11885           plugins: drop leftover declaration.
11886           GstVaapiVideoMemory quark is not needed any more, and the actual
11887           implementation was already removed bfore the merge. i.e. this is
11888           an oversight for a hunk that was not meant to be pushed.
11889
11890 2015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11891
11892         * gst/vaapi/gstvaapipluginbase.c:
11893         * gst/vaapi/gstvaapivideobufferpool.c:
11894         * gst/vaapi/gstvaapivideobufferpool.h:
11895         * gst/vaapi/gstvaapivideomemory.c:
11896         * gst/vaapi/gstvaapivideomemory.h:
11897           plugins: add support for dma_buf exports (v4l2src).
11898           Allow v4l2src element to connected to vaapipostproc or vaapisink when
11899           "io-mode" is set to "dmabuf-import". In practice, this is a more likely
11900           operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
11901           to "dmabuf" could work, but with more demanding driver or kernel reqs.
11902           Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
11903           with --without-libv4l2.
11904           https://bugzilla.gnome.org/show_bug.cgi?id=743635
11905
11906 2014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
11907
11908         * configure.ac:
11909         * gst/vaapi/Makefile.am:
11910         * gst/vaapi/gstvaapipluginbase.c:
11911           plugins: add support for dma_buf imports.
11912           Allow imports of v4l2 buffers into VA surfaces for further operation
11913           with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
11914           https://bugzilla.gnome.org/show_bug.cgi?id=735362
11915           [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
11916           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11917
11918 2014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11919
11920         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11921         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11922           surface: add support for GEM buffer imports.
11923           Add support for GEM buffer imports. This is useful for VA/EGL interop
11924           with legacy Mesa implementations, or when it is desired or required to
11925           support outbound textures for instance.
11926           https://bugzilla.gnome.org/show_bug.cgi?id=736718
11927
11928 2014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11929
11930         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11931         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11932           surface: add support for dma_buf imports.
11933           Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
11934           to allow for creating VA surfaces from a foreign DRM PRIME fd. The
11935           resulting VA surface owns the supplied buffer handle.
11936           https://bugzilla.gnome.org/show_bug.cgi?id=735362
11937
11938 2015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11939
11940         * gst-libs/gst/vaapi/gstvaapisurface.c:
11941         * gst-libs/gst/vaapi/gstvaapisurface.h:
11942         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
11943           surface: add initial support for foreign buffer imports.
11944           Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
11945           create a VA surface from an external buffer provided throug the
11946           new GstVaapiBufferProxy object.
11947
11948 2014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11949
11950         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11951         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11952         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11953         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11954           surface: add support for GEM buffer exports.
11955           Add support for GEM buffer exports. This will only work with VA drivers
11956           based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
11957           to support interop with EGL and the "Desktop" GL specification. Indeed,
11958           the EXT_image_dma_buf_import extension is not going to be supported in
11959           Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
11960           there.
11961           This is useful for implementing VA/EGL interop with legacy Mesa stacks,
11962           in Desktop OpenGL context.
11963           https://bugzilla.gnome.org/show_bug.cgi?id=736717
11964
11965 2014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11966
11967         * gst-libs/gst/vaapi/Makefile.am:
11968         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11969         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11970         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11971         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11972           surface: add support for dma_buf exports.
11973           Use the new VA buffer export APIs to allow for a VA surface to be
11974           exposed as a plain PRIME fd. This is in view to simplifying interop
11975           with EGL or OpenCL for instance.
11976           https://bugzilla.gnome.org/show_bug.cgi?id=735364
11977
11978 2014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11979
11980         * gst-libs/gst/vaapi/Makefile.am:
11981         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
11982         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
11983         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
11984           Add abstraction for exported VA buffers.
11985           The VA buffer export APIs work for a particular lifetime starting from
11986           vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
11987           it could be much more convenient to support implicit releases by simply
11988           having a refcount reaching zero.
11989           https://bugzilla.gnome.org/show_bug.cgi?id=736721
11990
11991 2015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11992
11993         * gst-libs/gst/vaapi/Makefile.am:
11994           Add missing header file to Makefile
11995           Add gstvaapitexture_glx.h to Makefile.am
11996
11997 2015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11998
11999         * gst-libs/gst/vaapi/gstvaapicontext.c:
12000         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
12001         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
12002         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12003         * gst/vaapi/gstvaapipostproc.c:
12004         * gst/vaapi/gstvaapiuploader.c:
12005         * gst/vaapi/gstvaapivideobufferpool.c:
12006         * gst/vaapi/gstvaapivideomemory.c:
12007         * gst/vaapi/gstvaapivideomemory.h:
12008         * tests/test-surfaces.c:
12009           videopool: add optional flags for surface pool allocation.
12010           Reword surface pool allocation helpers so that to allow for a simple
12011           form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
12012           somewhat more elaborated/flexible form with optional allocation flags
12013           and precise GstVideoInfo specification.
12014           This is an API/ABI change, and SONAME version needs to be bumped.
12015
12016 2015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12017
12018         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
12019         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
12020         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
12021         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
12022         * gst-libs/gst/vaapi/gstvaapivideopool.c:
12023         * gst-libs/gst/vaapi/gstvaapivideopool.h:
12024         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
12025           videopool: re-indent all GstVaapiVideoPool related source code.
12026
12027 2014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12028
12029         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12030         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12031           window: add toplevel display indirection for visualid and colormap.
12032           Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
12033           the best suitable window visual id and colormap. This is an indirection in
12034           view to supporting EGL and custom/generic replacements.
12035
12036 2014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12037
12038         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12039         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12040         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12041         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
12042           window: add toplevel API to determine the colormap.
12043           Add GstVaapiWindowClass::get_colormap() hook to help determine the
12044           currently active colormap bound to the supplied window, or actually
12045           create it if it does not already exist yet.
12046
12047 2014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12048
12049         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
12050         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
12051         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12052         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12053         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12054         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
12055           window: add toplevel API to determine a visual id.
12056           Add GstVaapiWindowClass::get_visual_id() function hook to help find
12057           the best suitable visual id for the supplied window. While doing so,
12058           also simplify the process by which an X11 window is created with a
12059           desired Visual, i.e. now use a visual id instead of a Visual object.
12060
12061 2014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12062
12063         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12064         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12065         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12066         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12067         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12068         * gst-libs/gst/vaapi/gstvaapiwindow.c:
12069         * gst-libs/gst/vaapi/gstvaapiwindow.h:
12070         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
12071         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12072         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
12073         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12074         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12075           window: add generic helper to create windows.
12076           Add a new generic helper function gst_vaapi_window_new() to create
12077           a window without having the caller to check for the display type
12078           himself. i.e. internally, there is now a GstVaapiDisplayClass hook
12079           to create windows, and the actual backend implementation fills it in.
12080           Add new generic helper functions gst_vaapi_texture_new_wrapped()
12081           This is a simplification in view to supporting EGL.
12082
12083 2014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12084
12085         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12086         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12087         * gst-libs/gst/vaapi/gstvaapitexture.c:
12088         * gst/vaapi/gstvaapivideometa_texture.c:
12089           display: add utility function to check for OpenGL rendering.
12090           Add gst_vaapi_display_has_opengl() helper function to help determining
12091           whether the display can support OpenGL context to be bound to it, i.e.
12092           if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
12093
12094 2014-12-10 18:02:55 +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_drm_priv.h:
12100         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12101         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
12102         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12103         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12104         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
12105         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12106         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
12107         * gst/vaapi/gstvaapipluginutil.c:
12108         * gst/vaapi/gstvaapivideobuffer.c:
12109         * gst/vaapi/gstvaapivideometa_texture.c:
12110           display: refine the meaning of display type.
12111           Make gst_vaapi_display_get_display_type() return the actual VA display
12112           type. Conversely, add a gst_vaapi_display_get_class_type() function to
12113           return the type of the GstVaapiDisplay instance. The former is used to
12114           identify the display server onto which the application is running, and
12115           the latter to identify the original object class.
12116
12117 2014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12118
12119         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12120         * gst-libs/gst/vaapi/gstvaapidisplay.h:
12121         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12122         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12123         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
12124         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
12125           display: cosmetics (helper macros, new internal API names).
12126           Add more helper macros to the top-level GstVaapiDisplay interfaces.
12127           Rename a few others used internally for improved consistency.
12128
12129 2014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12130
12131         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12132         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12133         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
12134         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
12135         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
12136         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
12137         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
12138         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
12139           display: record native display object.
12140           Record the underlying native display instance into the toplevel
12141           GstVaapiDisplay object. This is useful for fast lookups to the
12142           underlying native display, e.g. for creating an EGL display.
12143
12144 2014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12145
12146         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12147         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
12148         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
12149           display: use a recursive mutex for the display cache.
12150           Use a recursive mutex for the display cache so that a 3rdparty display
12151           object could be initialized during the initialization of the parent
12152           display.
12153
12154 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12155
12156         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12157         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
12158         * gst-libs/gst/vaapi/gstvaapitexture.c:
12159         * gst-libs/gst/vaapi/gstvaapitexture.h:
12160         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
12161         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
12162           texture: add generic helper to create textures.
12163           Add new generic helper functions gst_vaapi_texture_new_wrapped()
12164           and gst_vaapi_texture_new() to create a texture without having
12165           the caller to uselessly check for the display type himself. i.e.
12166           internally, there is now a GstVaapiDisplayClass hook to create
12167           textures, and the actual backend implementation fills it in.
12168           This is a simplification in view to supporting EGL.
12169
12170 2014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12171
12172         * gst-libs/gst/vaapi/Makefile.am:
12173         * gst-libs/gst/vaapi/gstvaapitexture.c:
12174         * gst-libs/gst/vaapi/gstvaapitexture.h:
12175         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
12176         * gst-libs/gst/vaapi/gstvaapitexture_glx.h:
12177         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
12178         * gst/vaapi/gstvaapivideoconverter_glx.c:
12179         * gst/vaapi/gstvaapivideometa_texture.c:
12180         * tests/test-textures.c:
12181           texture: move to core libgstvaapi base library.
12182           GstVaapiTexture is a generic abstraction that could be moved to the
12183           core libgstvaapi library. While doing this, no extra dependency needs
12184           to be added. This means that a GstVaapitextureClass is now available
12185           for any specific code that needs to be added, e.g. creation of the
12186           underlying GL texture objects, or backend dependent ways to upload
12187           a surface to the texture object.
12188           Generic OpenGL data types (GLuint, GLenum) are also replaced with a
12189           plain guint.
12190           https://bugzilla.gnome.org/show_bug.cgi?id=736715
12191
12192 2014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12193
12194         * configure.ac:
12195         * gst-libs/gst/vaapi/Makefile.am:
12196         * gst-libs/gst/vaapi/gstvaapicompat.h:
12197         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
12198         * gst-libs/gst/vaapi/gstvaapitexture.c:
12199           texture: drop support for VA/GLX interfaces.
12200           The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
12201           ease of use, but they had other caveats to deal with. It's now better
12202           to move on to legacy mode, whereby VA/GLX interop is two be provided
12203           through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
12204           https://bugzilla.gnome.org/show_bug.cgi?id=736711
12205
12206 2014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12207
12208         * gst-libs/gst/vaapi/gstvaapitexture.c:
12209         * gst-libs/gst/vaapi/gstvaapitexture.h:
12210         * gst/vaapi/gstvaapivideoconverter_glx.c:
12211         * gst/vaapi/gstvaapivideometa_texture.c:
12212         * tests/test-textures.c:
12213           texture: add support for cropping rectangle during transfer.
12214           The gst_vaapi_texture_put_surface() function is missing a crop_rect
12215           argument that would be used during transfer for cropping the source
12216           surface to the desired dimensions.
12217           Note: from a user point-of-view, he should create the GstVaapiTexture
12218           object with the cropped size. That's the default behaviour in software
12219           decoding pipelines that we need to cope with.
12220           This is an API/ABI change, and SONAME version needs to be bumped.
12221           https://bugzilla.gnome.org/show_bug.cgi?id=736712
12222
12223 2014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12224
12225         * gst-libs/gst/vaapi/gstvaapitexture.c:
12226         * gst-libs/gst/vaapi/gstvaapitexture.h:
12227           texture: re-indent all GstVaapiTexture related source code.
12228
12229 2015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12230
12231         * gst-libs/gst/vaapi/gstvaapisurface.c:
12232         * gst-libs/gst/vaapi/gstvaapisurface.h:
12233           surface: add more fine-grained allocation helper.
12234           Add new gst_vaapi_surface_new_full() helper function that allocates
12235           VA surface from a GstVideoInfo template in argument. Additional flags
12236           may include ways to
12237           - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
12238           - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
12239           - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
12240
12241 2014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12242
12243         * gst-libs/gst/vaapi/gstvaapisurface.c:
12244         * gst-libs/gst/vaapi/gstvaapisurface.h:
12245         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
12246           surface: re-indent all GstVaapiSurface related source code.
12247
12248 2015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12249
12250         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12251         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
12252           surfaceproxy: add helper to create a wrapped surface object.
12253           Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
12254           a proxy. The main use case for that is to convey additional information
12255           at the proxy level that would not be suitable to the plain surface.
12256
12257 2015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12258
12259         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12260         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
12261         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
12262           surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
12263
12264 2015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12265
12266         * configure.ac:
12267           libs: bump library major version.
12268
12269 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12270
12271         * gst-libs/gst/vaapi/gstvaapitypes.h:
12272           libs: re-introduce a GST_VAAPI_ID_INVALID value.
12273           Re-introduce a GST_VAAPI_ID_INVALID value that represents
12274           a non-zero and invalid id. This is useful to have a value
12275           that is still invalid for cases where zero could actually
12276           be a valid value.
12277
12278 2014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12279
12280         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
12281         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
12282           libs: expose GstVaapiMiniObject APIs to all backends.
12283           Make it possible to have all libgstvaapi backends (libs) access to a
12284           common GstVaapiMiniObject API and implementation. This is a minor step
12285           towards full exposure when needed, but restrict it to libgstvaapi at
12286           this time.
12287
12288 2014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12289
12290         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
12291         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
12292         * gst-libs/gst/vaapi/gstvaapiobject.c:
12293         * gst-libs/gst/vaapi/gstvaapiobject.h:
12294         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
12295           libs: re-indent all GstVaapiObject related source code.
12296           Re-indent and provide additional minor cosmetical changes to the
12297           GstVaapiMiniObject and GstVaapiObject source files.
12298
12299 2015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12300
12301         * gst/vaapi/gstvaapipluginutil.c:
12302           pluginutil: Fix clearing of subtitle overlay
12303           dvbsuboverlay signals no subtitles present by not setting
12304           GstVideoOverlayCompositionMeta on a buffer.
12305           Detect this, and remove subtitles whenever we have no overlay composition to
12306           hand.
12307           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12308
12309 2015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
12310
12311         * gst/vaapi/gstvaapipostproc.c:
12312           vaapipostproc: clear state on stop
12313           Otherwise restarting may fail because the state of vaapipluginbase and
12314           vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
12315           initailization and not call gst_vaapi_plugin_base_set_caps()
12316
12317 2015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
12318
12319         * gst/vaapi/gstvaapidecode.c:
12320           vaapidecode: don't print an error message for GST_FLOW_FLUSHING
12321
12322 2015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12323
12324         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12325           gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
12326           Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
12327           since the vaaapi context creation (gstvaapicontext.c) can still use the
12328           default chroma type which is YUV420.
12329           https://bugzilla.gnome.org/show_bug.cgi?id=743567
12330           https://bugzilla.gnome.org/show_bug.cgi?id=743035
12331
12332 2015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12333
12334         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
12335         * patches/videoparsers/series.frag:
12336           h264parse: drop patches merged upstream.
12337           0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
12338
12339 2015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12340
12341         * ext/codecparsers:
12342           codecparsers: update to gst-vaapi-branch commit d3b5c1b
12343           8194cac: h264parse: parse SPS subset
12344           64b7f52: h264parse: expose stereo-high profile
12345           774360a: h264parse: add initial support for MVC NAL units
12346           258478f: h264parser: fix stack smashing
12347
12348 2015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12349
12350         * gst/vaapi/gstvaapivideometa_texture.c:
12351           Fix compilation error if there is no GL/gl.h header file installed
12352
12353 2015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12354
12355         * gst/vaapi/gstvaapidecode.c:
12356           vaapidecode: commit updated srcpad caps to base plugin.
12357           Make sure that the GstVaapiPluginBase instance receives the new src
12358           pad caps whenever they get updated from within the GstVaapiDecoder
12359           decode routines.
12360           This also ensures that downstream elements receive correctly sized
12361           SW decoded buffers if needed.
12362           https://bugs.tizen.org/jira/browse/TC-114
12363
12364 2015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12365
12366         * gst/vaapi/gstvaapidecode.c:
12367           vaapidecode: always reset decoder on ::set_format().
12368           Split GstVideoDecoder::set_format() handler to first update the sink
12369           pad caps and reset the active VA decoder instance based on those, and
12370           then update the src pad caps whenever possible, e.g. when the caps
12371           specify a valid video resolution.
12372
12373 2015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12374
12375         * gst/vaapi/gstvaapivideomemory.c:
12376           vaapivideomemory: don't crash when trying to allocate 0x0 images.
12377           In some occasions, a buffer pool is created for pre-initialization
12378           purposes regardless of whether a valid image size is available or
12379           not. However, during actual decode stage, the vaapidecode element
12380           is expected to update the srcpad caps with the new dimensions, thus
12381           also triggering a reset of the underlying bufferpool.
12382
12383 2015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12384
12385         * ext/codecparsers:
12386           codecparsers: update to gst-vaapi-branch commit 191cb2f
12387           347605a: h264parse: expose compatible profiles to downstream
12388           d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
12389           24a3126: Revert "h264parse: expose compatible profiles to downstream"
12390           8661740: h264parse: expose compatible profiles to downstream
12391           8b7ef3f: codecparsers: fix some compiler warnings
12392
12393 2014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12394
12395         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12396           encoder: h264: Fix the period between I/P frames
12397           If the key-frame period is set as one, then ip_period shuld be zero
12398           https://bugzilla.gnome.org/show_bug.cgi?id=734992
12399
12400 2014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12401
12402         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12403           encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
12404           https://bugzilla.gnome.org/show_bug.cgi?id=734993
12405
12406 2014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12407
12408         * gst/vaapi/gstvaapisink.c:
12409           vaapisink: Protect the X11 API invokations with proper locking
12410           https://bugzilla.gnome.org/show_bug.cgi?id=739808
12411
12412 2014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12413
12414         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12415           encoder: h264: fix pixel-aspect-ratio in encoded stream.
12416           Really report sample aspect ratio (SAR) as present, and make it match
12417           what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
12418           really make sure VUI parameter aspect_ratio_info_present_flag is set
12419           to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
12420           This is a leftover from git commit a12662f.
12421           https://bugzilla.gnome.org/show_bug.cgi?id=740360
12422
12423 2014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12424
12425         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
12426           decoder: mpeg4: fix uninitialized variables.
12427           Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
12428           GST_MPEG4_USER_DATA so that a parse error would result in skipping
12429           that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
12430           initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
12431
12432 2014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12433
12434         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12435           encoder: h264: fix profile limits.
12436           Fix ensure_profile_limits() to lower profile to the desired limits,
12437           only if the latter are actually known and the profile needed to be
12438           changed to fit.
12439
12440 2014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12441
12442         * gst/vaapi/gstvaapipostproc.c:
12443           vaapipostproc: fix out caps for GLMemory.
12444           If the best downstream capsfeature turns out to be GLMemory, then make
12445           sure to propagate RGBA video format in caps to that element. This fixes
12446           the following pipeline: ... ! vaapipostproc ! glimagesink.
12447
12448 2014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12449
12450         * gst/vaapi/gstvaapipostproc.c:
12451           vaapipostproc: fix check for compatible src pad capsfilters.
12452           When an explicit output video format is selected, from an src pad
12453           capsfilter, make sure that the downstream element actually supports
12454           that format. In particular, fix crash with the following pipelines:
12455           ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
12456           XXX is a format not supported by xvimagesink.
12457           While doing so, also reduce the set of src pad filter caps to the
12458           actual set of allowed src pad caps.
12459
12460 2014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12461
12462         * gst/vaapi/gstvaapipostproc.c:
12463         * gst/vaapi/gstvaapipostproc.h:
12464         * gst/vaapi/gstvaapiuploader.c:
12465         * gst/vaapi/gstvaapiuploader.h:
12466           plugins: re-indent all video processing related source code.
12467
12468 2014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12469
12470         * gst/vaapi/gstvaapivideomemory.c:
12471           plugins: further fixes to the new "current" storage tracker.
12472           The ensure_surface() and ensure_image() functions shall only relate
12473           to the underlying backing store. The actual current flags are to be
12474           updated only through ensure_{surface,image}_is_current() or very other
12475           particular cases in GstMemory hooks.
12476
12477 2014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12478
12479         * gst/vaapi/gstvaapivideomemory.c:
12480           plugins: fix "current" video memory flags.
12481           If the surface proxy is updated into the GstVaapiVideoMemory, then
12482           it is assumed it is the most current representation of the current
12483           video frame. Likewise, make a few more arrangements to have the
12484           "current " flags set more consistently.
12485
12486 2014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12487
12488         * gst/vaapi/gstvaapivideomemory.c:
12489         * gst/vaapi/gstvaapivideomemory.h:
12490         * gst/vaapi/gstvaapivideometa.c:
12491           plugins: ensure VA surface is current prior to using it.
12492           When interacting with SW elements, the buffers and underlying video
12493           memory could be mapped as read/write. However, we need to use those
12494           buffers again as plain VA surfaces, we have to make sure the VA image
12495           is thus committed back to VA surface memory.
12496           This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
12497
12498 2013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
12499
12500         * gst/vaapi/gstvaapivideomemory.c:
12501           plugins: enable memory maps for read & write.
12502           Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
12503           buffers can be further processed in-place, e.g. with a textoverlay.
12504           https://bugzilla.gnome.org/show_bug.cgi?id=704078
12505           [ported to current git master branch, amended commit message]
12506           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12507
12508 2014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12509
12510         * gst/vaapi/gstvaapidecode.c:
12511         * gst/vaapi/gstvaapipluginutil.c:
12512         * gst/vaapi/gstvaapipluginutil.h:
12513         * gst/vaapi/gstvaapipostproc.c:
12514           plugins: preserve framerate when updating src caps video format.
12515           In the current implementation, gst_video_info_set_format() would reset
12516           the whole GstVideoInfo structure first, prior to setting video format
12517           and size. So, coleteral information like framerate or pixel-aspect-
12518           ratio are lost.
12519           Provide and use a unique gst_video_info_change_format() for overcome
12520           this issue, i.e. only have it change the format and video size, and
12521           copy over the rest of the fields.
12522           https://bugzilla.gnome.org/show_bug.cgi?id=734665
12523
12524 2014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12525
12526         * gst/vaapi/gstvaapi.c:
12527           vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
12528           This is for helping decodebin to autoplug the vaapidecode element.
12529           Decodebin is selecting decoder elements only based on rank and caps.
12530           Without overriding the autoplug-* signals there is no way to autoplug
12531           HW decoders inside decodebin. An easier soulution is to raise the
12532           rank of vaapidecode, so that it gets selected first.
12533           https://bugzilla.gnome.org/show_bug.cgi?id=739332
12534
12535 2014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12536
12537         * gst-libs/gst/vaapi/gstvaapiprofile.c:
12538         * gst/vaapi/gstvaapidecode.c:
12539           vaapidecode: only expose supported profiles when needed.
12540           JPEG and VP8 codecs do not really support the concept of "profile". So,
12541           don't try to expose any set that wouldn't be supported by jpegparse, or
12542           ivfparse for instance.
12543           https://bugzilla.gnome.org/show_bug.cgi?id=739713
12544           https://bugzilla.gnome.org/show_bug.cgi?id=739714
12545
12546 2014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12547
12548         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12549         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
12550         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
12551         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
12552           decoder: h264: add initial support for repeat-first-field (RFF) flag.
12553           Use the SEI pic_timing() message to track and propagate down the repeat
12554           first field (RFF) flag. This is only initial support as there is one
12555           other condition that could induce the RFF flag, which is not handled
12556           yet.
12557
12558 2014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12559
12560         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12561           decoder: h264: fix picture ordering count type 0 with previous MMCO5.
12562           Fix the decoding process for picture order count type 0 when the previous
12563           picture had a memory_management_control_operation = 5. In particular, fix
12564           the actual variable type for prev_pic_structure to hold the full bits of
12565           the picture structure.
12566           In practice, this used to work though, due to the underlying type used to
12567           express a gboolean.
12568
12569 2014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12570
12571         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12572           decoder: h264: fix detection of top-field-first (TFF) flag.
12573           Use the SEI pic_timing() message to track the pic_struct variable when
12574           present, or infer it from the regular slice header flags field_pic_flag
12575           and bottom_field_flag. This fixes temporal sequence ordering when the
12576           output pictures are to be displayed.
12577           https://bugzilla.gnome.org/show_bug.cgi?id=739291
12578
12579 2014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12580
12581         * ext/codecparsers:
12582           codecparsers: update to gst-vaapi-branch commit 3d05d9f.
12583           1241840 h264: fix derivation of MaxPicNum variable
12584           3bd718e h264: fix GstH264ParserResult documentation typo
12585           b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
12586           b08e4be h264parse: don't unnecesarily set src_caps
12587
12588 2014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12589
12590         * gst/vaapi/gstvaapipostproc.c:
12591           vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
12592           Added the same Klass specifications used in other upstream
12593           video postprocessing elements like videoconvert, videoscale,
12594           videobalance and deinterlace.
12595           An example use case is for this is to help the playsink
12596           to autoplug the hardware accelerated deinterlacer.
12597
12598 2014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12599
12600         * gst/vaapi/gstvaapipostproc.c:
12601           vaapipostproc: Tweak the output video format setting to enable the autoplugging
12602           This is a workaround until auto-plugging is fixed when
12603           format=ENCODED + memory:VASurface caps feature are provided.
12604           Use the downstream negotiated video format as the output video format
12605           if the user didn't ask for the colorspace conversion explicitly.
12606           Usecase: This will help to connect elements like videoscale, videorate etc
12607           to vaapipostproc.
12608           https://bugzilla.gnome.org/show_bug.cgi?id=739443
12609
12610 2014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12611
12612         * gst/vaapi/gstvaapipostproc.c:
12613         * gst/vaapi/gstvaapipostproc.h:
12614           vaapipostproc: allow user defined scaling mode.
12615           Add new "scale-method" property to expose the scaling mode to use during
12616           video processing. Note that this is only a hint, and the actual behaviour
12617           may differ from implementation (VA driver) to implementation.
12618
12619 2014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12620
12621         * gst-libs/gst/vaapi/gstvaapifilter.c:
12622         * gst-libs/gst/vaapi/gstvaapifilter.h:
12623         * gst-libs/gst/vaapi/gstvaapiutils.c:
12624         * gst-libs/gst/vaapi/gstvaapiutils.h:
12625           filter: add initial support for high quality scaling.
12626           Add support for video scaling options in VPP pipelines. Only the
12627           DEFAULT mode is bound to exist. Others might be folded into that
12628           mode.
12629
12630 2014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12631
12632         * gst-libs/gst/vaapi/gstvaapifilter.c:
12633         * gst-libs/gst/vaapi/gstvaapifilter.h:
12634           filter: re-indent all GstVaapiFilter related source code.
12635
12636 2014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12637
12638         * ext/codecparsers:
12639           codecparsers: update to gst-vaapi-branch commit f9d3bde.
12640           2218b02 h264parse: expose parsed profile and level to downstream
12641           3dbfab4 h264parse: return flushing if we get chained while being set to READY
12642           d40fa8b h264: fix frame packing SEI parsing
12643           32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
12644           b3e022e h264: initialize some fields of pic_timing structure
12645           a70661d vc1: fix expected level in sequence-layer parsing unit test
12646           6cee88d vc1: fix level values for simple/main profile
12647           356c189 vc1: add unit test for sequence-layer parsing
12648           ab9f641 vc1: take care of endianness when parsing sequence-layer
12649           8dc8e35 mpeg4: fix vlc table used for sprite trajectory
12650
12651 2014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12652
12653         * gst/vaapi/gstvaapidecode.c:
12654           vaapidecode: Expose the supported profiles as caps to upstream
12655           This will allows the playbin to fallback to Software Decoder
12656           if the Hardware Decoder does not support a particular profile.
12657           https://bugzilla.gnome.org/show_bug.cgi?id=730997
12658
12659 2014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12660
12661         * gst/vaapi/gstvaapiencode.c:
12662         * gst/vaapi/gstvaapiencode.h:
12663         * gst/vaapi/gstvaapiencode_h264.c:
12664           encode: Attach the codec-data to out caps only based on negotiated caps
12665           Attach the codec_data to out_caps only if downstream needed.
12666           For eg: h264 encoder doesn't need to stuff codec_data to the
12667           src caps if the negotiated caps has a stream format of byte-stream.
12668           https://bugzilla.gnome.org/show_bug.cgi?id=734902
12669
12670 2014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12671
12672         * configure.ac:
12673           configure: echoing installation prefix path
12674
12675 2014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12676
12677         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
12678           display: add support for DRM Render-Nodes.
12679           Add support for DRM Render-Nodes. This is a new feature that appeared
12680           in kernel 3.12 for experimentation purposes, but was later declared
12681           stable enough in kernel 3.15 for getting enabled by default.
12682           This allows headless usages without authentication at all, i.e. usages
12683           through plain ssh connections is possible.
12684
12685 2014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12686
12687         * gst/vaapi/gstvaapisink.c:
12688           vaapisink: clean-ups (indentation, drop unused variables).
12689
12690 2014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12691
12692         * configure.ac:
12693         * gst/vaapi/gstvaapisink.c:
12694           vaapisink: fix GstNavigation "key-press" / "key-release" events.
12695           Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
12696           to a KeySym. In particular, there is no such Window argument. Also
12697           make sure to check for, and use, the correct <X11/XKBlib.h> header
12698           where that new function is defined. Otherwise, default to the older
12699           XKeycodeToKeysym() function.
12700
12701 2014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12702
12703         * gst/vaapi/gstvaapisink.c:
12704           vaapisink: fix GstNavigation "mouse-move" event.
12705           Really use the motion event coordinates to propagate the "mouse-move"
12706           event to upper layer, instead of those from a button event. Those are
12707           technically the same though.
12708
12709 2014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12710
12711         * gst/vaapi/gstvaapisink.c:
12712           vaapisink: implement the GstNavigation interface
12713           This is useful for things like DVD menus, where key/mouse events
12714           would need to be forwarded from the upstream sink element.
12715           https://bugzilla.gnome.org/show_bug.cgi?id=711479
12716
12717 2014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12718
12719         * gst/vaapi/gstvaapipluginbase.c:
12720           vaapipostproc: fix deinterlacing from non VA memory buffers.
12721           When we copy a buffer because we're moving it into VA-API memory, we
12722           need to copy flags. Otherwise, interlaced YUV buffers from a capture
12723           source (e.g. V4L2) don't get flagged as interlaced.
12724           https://bugzilla.gnome.org/show_bug.cgi?id=726270
12725           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
12726           [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
12727           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12728
12729 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12730
12731         * gst/vaapi/gstvaapipostproc.c:
12732           vaapipostproc: add support for GLTextureUploadMeta output.
12733           This allows for vaapipostproc to be chained to the glimagesink element
12734           for instance.
12735           https://bugzilla.gnome.org/show_bug.cgi?id=735231
12736
12737 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12738
12739         * gst/vaapi/gstvaapipluginutil.c:
12740         * gst/vaapi/gstvaapipluginutil.h:
12741         * gst/vaapi/gstvaapipostproc.c:
12742           vaapipostproc: add support for "download" capability.
12743           Allow implicit conversions to raw video formats, while still keeping
12744           VA surfaces underneath. This allows for chaining the vaapipostproc
12745           element to a software-only element that takes care of maps/unmaps.
12746           e.g. xvimagesink.
12747           https://bugzilla.gnome.org/show_bug.cgi?id=720174
12748
12749 2014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12750
12751         * gst/vaapi/gstvaapipostproc.c:
12752         * gst/vaapi/gstvaapipostproc.h:
12753           vaapipostproc: use pooled vaapi video meta.
12754           Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
12755           video buffer allocation. Also optimize copy of additional metadata info
12756           into the resulting video buffer: only copy the video cropping info and
12757           the source surface proxy.
12758           https://bugzilla.gnome.org/show_bug.cgi?id=720311
12759           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12760           [fixed proxy leak, fixed double free on error, optimized meta copy]
12761           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12762
12763 2014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12764
12765         * gst/vaapi/gstvaapipostproc.c:
12766           vaapipostproc: fix passthrough mode.
12767           If no explicit output surface format is supplied try to keep the one
12768           supplied through the sink pad caps. This avoids a useless copy, even
12769           if things are kept in GPU memory.
12770           This is a performance regression from git commit dfa70b9.
12771
12772 2014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12773
12774         * gst/vaapi/gstvaapipostproc.c:
12775         * gst/vaapi/gstvaapipostproc.h:
12776           vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
12777           https://bugzilla.gnome.org/show_bug.cgi?id=720311
12778           [used new infrastructure through base decide_allocation() impl]
12779           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12780
12781 2014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12782
12783         * gst/vaapi/gstvaapipostproc.c:
12784           vaapipostproc: enable advanced deinterlacing with same format.
12785           If only advanced deinterlacing is requested, i.e. deinterlacing is
12786           the only active algorithm to apply with source and output surface
12787           formats being the same, then make sure to enable VPP processing.
12788           Otherwise, allow fallback to bob-deinterlacing with simple rendering
12789           flags alteration.
12790
12791 2014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12792
12793         * gst/vaapi/gstvaapivideomemory.c:
12794           vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
12795           https://bugzilla.gnome.org/show_bug.cgi?id=735156
12796
12797 2014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12798
12799         * gst/vaapi/gstvaapipluginbase.c:
12800         * gst/vaapi/gstvaapipluginutil.c:
12801           plugins: fix memory leaks.
12802
12803 2014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12804
12805         * gst/vaapi/gstvaapidecode.c:
12806         * gst/vaapi/gstvaapipluginbase.c:
12807         * gst/vaapi/gstvaapipluginbase.h:
12808           plugins: factor out decide_allocation() hook.
12809           Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
12810           feature argument can be used to force a bufferpool with a specific kind
12811           of memory.
12812
12813 2014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12814
12815         * gst/vaapi/gstvaapivideobufferpool.c:
12816         * gst/vaapi/gstvaapivideobufferpool.h:
12817         * gst/vaapi/gstvaapivideomemory.c:
12818           plugins: allow bufferpool to not allocate vaapi video meta.
12819           Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
12820           can be used to disable early allocations of vaapi video metas on buffers,
12821           thus delagating that to the bufferpool user.
12822
12823 2014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12824
12825         * gst/vaapi/gstvaapivideobuffer.c:
12826         * gst/vaapi/gstvaapivideobuffer.h:
12827         * gst/vaapi/gstvaapivideobufferpool.c:
12828         * gst/vaapi/gstvaapivideobufferpool.h:
12829         * gst/vaapi/gstvaapivideocontext.c:
12830         * gst/vaapi/gstvaapivideocontext.h:
12831         * gst/vaapi/gstvaapivideoconverter_glx.c:
12832         * gst/vaapi/gstvaapivideoconverter_glx.h:
12833         * gst/vaapi/gstvaapivideoconverter_x11.c:
12834         * gst/vaapi/gstvaapivideoconverter_x11.h:
12835         * gst/vaapi/gstvaapivideomemory.c:
12836         * gst/vaapi/gstvaapivideomemory.h:
12837         * gst/vaapi/gstvaapivideometa.c:
12838         * gst/vaapi/gstvaapivideometa.h:
12839         * gst/vaapi/gstvaapivideometa_texture.c:
12840         * gst/vaapi/gstvaapivideometa_texture.h:
12841           plugins: re-indent all GstVaapiVideo* related source code.
12842
12843 2014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12844
12845         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
12846           surfaceproxy: fix copy to propagate view_id.
12847           Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
12848           fixing random frames skipped when vaapipostproc element is used in
12849           passthrough mode. In that mode, GstMemory is copied, thus including
12850           the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
12851
12852 2014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12853
12854         * gst/vaapi/gstvaapipostproc.c:
12855           vaapipostproc: fix detection of output surface format changes.
12856           Default to I420 format for output surfaces so that to match the usual
12857           GStreamer pipelines. Though, internally, we could still opt for NV12
12858           surface formats, i.e. default format=ENCODED is a hint for that, thus
12859           delegating the decision to the VA driver.
12860
12861 2014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12862
12863         * gst/vaapi/gstvaapipostproc.c:
12864           vaapipostproc: fix construction of allowed sink pad caps.
12865           Fix construction of the set of caps allowed on the sink pad to filter
12866           out unsupported raw video caps with GStreamer >= 1.2.
12867
12868 2014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12869
12870         * gst/vaapi/gstvaapipostproc.c:
12871         * gst/vaapi/gstvaapipostproc.h:
12872           vaapipostproc: improve heuristics for detecting native VA surfaces.
12873           Use the new gst_caps_has_vaapi_surface() helper function to detect
12874           whether the sink pad caps contain native VA surfaces, or not, i.e.
12875           no raw video caps.
12876           Also rename is_raw_yuv to get_va_surfaces to make the variable more
12877           explicit as we just want a way to differentiate raw video caps from
12878           VA surfaces actually.
12879
12880 2014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12881
12882         * gst/vaapi/gstvaapipostproc.c:
12883           vaapipostproc: disable discontinuity detection code.
12884           The "discontinuity" tracking code, whereby lost frames are tentatively
12885           detected, is inoperant if the sink pad buffer timestamps are not right
12886           to begin with.
12887           This is a temporary workaround until the following bug is fixed:
12888           https://bugzilla.gnome.org/show_bug.cgi?id=734386
12889
12890 2014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12891
12892         * gst/vaapi/gstvaapipostproc.c:
12893           vaapipostproc: fix heuristic for detecting discontinuity.
12894           In order to make the discontinuity detection code useful, we need to
12895           detect the lost frames in the history as early as the previous frame.
12896           This is because some VA implementations only support one reference
12897           frame for advanced deinterlacing.
12898           In practice, turn the condition for detecting new frame that is beyond
12899           the previous frame from field_duration*2 to field_duration*3, i.e.
12900           nothing received for the past frame and a half because of possible
12901           rounding errors when calculating the field-duration either in this
12902           element (vaapipostproc), or from the upstream element (parser element).
12903           This is a regression introduced with commit faefd62.
12904           https://bugzilla.gnome.org/show_bug.cgi?id=734135
12905
12906 2014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12907
12908         * gst/vaapi/gstvaapipluginbase.c:
12909         * gst/vaapi/gstvaapipluginbase.h:
12910           plugins: fix detection of raw video caps.
12911           Use the new gst_caps_has_vaapi_surface() helper function to better
12912           detect raw video caps, and in particular those from RGB colorspace.
12913           https://bugzilla.gnome.org/show_bug.cgi?id=734665
12914
12915 2014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12916
12917         * gst/vaapi/gstvaapipluginutil.c:
12918         * gst/vaapi/gstvaapipluginutil.h:
12919           plugins: add helper for detecting VA surfaces in caps.
12920           Introduce new gst_caps_has_vaapi_surface() helper function to detect
12921           whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
12922           implies a check for memory:VASurface caps features, and format=ENCODED
12923           for earlier versions of GStreamer.
12924
12925 2014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
12926
12927         * gst/vaapi/gstvaapidecode.c:
12928           vaapidecode: start the decoder task again after finishing
12929           This allows the element to accept data again after draining without
12930           a hard reset or caps change happening in between.
12931           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12932
12933 2014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
12934
12935         * gst/vaapi/gstvaapidecode.c:
12936           vaapidecode: unlock condition variables before shutting down the element
12937           Otherwise threads might wait for them, causing the shutdown of the element
12938           to deadlock on the streaming thread.
12939           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12940
12941 2014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
12942
12943         * gst/vaapi/gstvaapidecode.c:
12944           vaapidecode: reset decoder_finish variable after stopping the decoder thread
12945           Otherwise the element is not usable again after draining/EOS.
12946           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12947
12948 2014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
12949
12950         * gst/vaapi/gstvaapidecode.c:
12951           vaapidecode: don't try flushing the decoder instance if we didn't create one yet
12952           This otherwise results in unnecessary error messages.
12953           https://bugzilla.gnome.org/show_bug.cgi?id=734616
12954
12955 2014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12956
12957         * gst-libs/gst/vaapi/Makefile.am:
12958         * gst/vaapi/Makefile.am:
12959           build: fix with --no-undefined linker flags.
12960           https://bugzilla.gnome.org/show_bug.cgi?id=729352
12961
12962 2014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
12963
12964         * gst/vaapi/gstvaapisink.c:
12965         * gst/vaapi/gstvaapisink.h:
12966           vaapisink: add support for GstColorBalance interface.
12967           https://bugzilla.gnome.org/show_bug.cgi?id=722390
12968           [fixed channel names, simplified range factor, fixed memory leak]
12969           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12970
12971 2014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
12972
12973         * gst/vaapi/gstvaapisink.c:
12974         * gst/vaapi/gstvaapisink.h:
12975           vaapisink: add support for colorbalance adjustment.
12976           https://bugzilla.gnome.org/show_bug.cgi?id=722390
12977           [fixed and simplified tracking of colorbalance value changes]
12978           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12979
12980 2014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12981
12982         * gst/vaapi/gstvaapisink.c:
12983           vaapisink: improve installation of properties.
12984           Simplify the creation and installation process of properties, by first
12985           accumulating them into a g_properties[] array, and next calling into
12986           g_object_class_install_properties().
12987           Also add missing docs and flags to some properties.
12988
12989 2014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12990
12991         * gst/vaapi/gstvaapisink.c:
12992         * gst/vaapi/gstvaapisink.h:
12993           vaapisink: code clean-ups.
12994           Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
12995           helper macro and use it wherever we know the object is a GstBaseSink or
12996           any base class. Drop explicit initializers for values that have defaults
12997           set to zero.
12998
12999 2014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13000
13001         * gst/vaapi/gstvaapisink.c:
13002         * gst/vaapi/gstvaapisink.h:
13003           vaapisink: re-indent all GstVaapiSink related source code.
13004
13005 2014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13006
13007         * gst/vaapi/gstvaapisink.c:
13008         * gst/vaapi/gstvaapisink.h:
13009           vaapisink: introduce separate backends.
13010           Introduce new backends vtable so that to have clean separation between
13011           display dependent code and common base code. That's a "soft" separation,
13012           we don't really need dedicated objects.
13013           https://bugzilla.gnome.org/show_bug.cgi?id=722248
13014
13015 2014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13016
13017         * gst/vaapi/gstvaapisink.c:
13018         * gst/vaapi/gstvaapisink.h:
13019           vaapisink: drop unused "synchronous" mode.
13020           Support for X11 "synchronous" mode was never implemented, and was only
13021           to be useful for debugging. Drop that altogether, that's not going to
13022           be useful in practice.
13023           https://bugzilla.gnome.org/show_bug.cgi?id=733985
13024
13025 2014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13026
13027         * gst/vaapi/gstvaapisink.c:
13028         * gst/vaapi/gstvaapisink.h:
13029           vaapisink: drop unused variables.
13030           Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
13031           variables. They got merged into the GstVaapiPluginBase object.
13032
13033 2014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13034
13035         * gst/vaapi/gstvaapisink.c:
13036         * gst/vaapi/gstvaapisink.h:
13037           vaapisink: drop GLX rendering and fancy effects.
13038           Rendering with GLX in vaapisink is kind of useless nowadays, including
13039           OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
13040           deprecated in favor of EGL, or more direct buffer sharing with actual
13041           GL textures.
13042           Should testing of interop with GLX be needed, one could still be using
13043           the modern cluttersink or glimagesink elements.
13044           https://bugzilla.gnome.org/show_bug.cgi?id=733984
13045
13046 2013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
13047
13048         * gst/vaapi/gstvaapisink.c:
13049         * gst/vaapi/gstvaapisink.h:
13050           vaapisink: listen to window size changes on X11.
13051           Allow dynamic changes to the window, e.g. performed by the user, and
13052           make sure to refresh its contents, while preserving aspect ratio.
13053           In practice, Expose and ConfigureNotify events are tracked in X11
13054           display mode by default. This occurs in a separte event thread, and
13055           this is similar to what xvimagesink does. Any of those events will
13056           trigger a reconfiguration of the window "soft" size, subsequently
13057           the render-rect when necessary, and finally _expose() the result.
13058           The default of handle_events=true can be changed programatically via
13059           gst_x_overlay_handle_events().
13060           Thanks to Fabrice Bellet for rebasing the patch.
13061           https://bugzilla.gnome.org/show_bug.cgi?id=711478
13062           [dropped XInitThreads(), cleaned up the code a little]
13063           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13064
13065 2014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13066
13067         * gst/vaapi/gstvaapidecode.c:
13068           vaapidecode: decode and output all pending frames on normal EOS.
13069           The gst_vaapidecode_decode_loop() function is called within a separate
13070           task to fetch and output all frames that were decoded so far. So, if
13071           the decoder_loop_status is forcibly set to EOS when _finish() is called,
13072           then we are bound to exist the task without submitting the pending
13073           frames.
13074           If the downstream element error'ed out, then the gst_pad_push() would
13075           propagate up an error and so we will get it right for cutting off
13076           _finish() early in that case.
13077           This is a regression from 6003596.
13078           https://bugzilla.gnome.org/show_bug.cgi?id=733897
13079
13080 2014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13081
13082         * configure.ac:
13083           Bump version for development.
13084
13085 === release 0.5.9 ===
13086
13087 2014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13088
13089         * AUTHORS:
13090           AUTHORS: updates.
13091
13092 2014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13093
13094         * NEWS:
13095           NEWS: updates.
13096
13097 2014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
13098
13099         * gst/vaapi/gstvaapidecode.c:
13100           vaapidecode: properly return from decode loop on downstream errors.
13101           Fixes a hang/race on shutdown where _decode_loop() had already completed
13102           its execution and _finish() was waiting on a GCond for decode_loop()
13103           to complete.  Also fixes the possible race where _finish() is called
13104           but _decode_loop() endlessly returns before signalling completion
13105           iff the decoder instance returns GST_FLOW_OK.
13106           Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
13107           https://bugzilla.gnome.org/show_bug.cgi?id=733897
13108           [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
13109           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13110
13111 2014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13112
13113         * NEWS:
13114         * configure.ac:
13115           0.5.9.
13116
13117 2014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13118
13119         * gst/vaapi/gstvaapisink.c:
13120           vaapisink: fix GstVideoOverlay::expose() implementation.
13121           Now that we always track the currently active video buffer, it is
13122           not necessary to automatically increase its reference since this is
13123           implicitly performed in ::show_frame() through the get_input_buffer()
13124           helper from GstVaapiPluginBase class.
13125           This is a regression from a26df80.
13126
13127 2014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13128
13129         * gst/vaapi/gstvaapidecode.c:
13130         * gst/vaapi/gstvaapipluginutil.c:
13131           vaapidecode: simplify bufferpool configuration.
13132           Rework the logics behind the configuration of an adequate bufferpool,
13133           especially when OpenGL meta or additional capsfeatures are needed.
13134           Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
13135           and that is not system memory, is now selected by default.
13136
13137 2014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13138
13139         * gst/vaapi/gstvaapidecode.c:
13140           vaapidecode: fix auto-plugging of vaapisink element.
13141           Make sure to propagate memory:VASurface capsfeature to srcpad caps
13142           only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
13143           core currently miss additional patches available in 1.5-git (1.6).
13144           This is a temporary workaround.
13145
13146 2014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13147
13148         * configure.ac:
13149           configure: allow builds against GStreamer git (1.5.x).
13150           https://bugzilla.gnome.org/show_bug.cgi?id=733688
13151
13152 2014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13153
13154         * configure.ac:
13155           configure: fix build with GStreamer 1.4.0 release.
13156
13157 2014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13158
13159         * configure.ac:
13160         * debian.upstream/Makefile.am:
13161         * debian.upstream/control.in:
13162           debian: fix packaging for new naming scheme.
13163
13164 2014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13165
13166         * NEWS:
13167           NEWS: updates.
13168
13169 2014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13170
13171         * configure.ac:
13172           configure: mark support for GStreamer < 1.2 as deprecated.
13173           Supporting anything thing below GStreamer 1.2 is asking for trouble
13174           for keeping up with the required facilities to make efficient pipelines.
13175           Users are invited to upgrade to the very latest GStreamer 1.2.x release,
13176           at the minimum.
13177
13178 2014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13179
13180         * configure.ac:
13181           configure: mark support for GStreamer 0.10 as obsolete.
13182           Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
13183           and may actually be removed altogether for a future release. There is
13184           no real point to maintain a build for such an ancient GStreamer version
13185           that is not even supported upstream.
13186
13187 2014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13188
13189         * gst/vaapi/gstvaapisink.c:
13190         * gst/vaapi/gstvaapisink.h:
13191           vaapisink: allow a specific view component to be displayed.
13192           If a multiview stream is decoded, multiple view components are submitted
13193           as is downstream. It is the responsibility of the sink element to display
13194           the required view components. By default, always select the frame buffer
13195           that matches the view-id of the very first frame to be displayed.
13196           However, introduce a "view-id" property to allow the selection of a
13197           specific view component of interest to display.
13198
13199 2014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13200
13201         * gst/vaapi/gstvaapisink.c:
13202           vaapisink: always keep the last displayed buffer around.
13203           Always record the VA surface that is currently being rendered, no matter
13204           the fact we are using texturedblit or overlay. That's because in some
13205           occasions, we need to refresh or resize the displayed contents based on
13206           new events. e.g. user-resized window.
13207           Besides, it's simpler to track the last video buffer in GstVaapiSink than
13208           through the base sink "last-sample".
13209
13210 2014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13211
13212         * gst/vaapi/gstvaapipluginbase.c:
13213         * gst/vaapi/gstvaapipluginbase.h:
13214         * gst/vaapi/gstvaapipluginutil.c:
13215         * gst/vaapi/gstvaapisink.c:
13216           vaapisink: add support for "display-name" property.
13217           Add a "display-name" property to vaapisink so that the end user could
13218           select the desired output. Keep "display-name" in-line with the existing
13219           "display" (GstVaapiDisplayXXX type).
13220           So, for X11 or GLX, the "display-name" is the usual display name as we
13221           know for XOpenDisplay(); for Wayland, the "display-name" is the name used
13222           for wl_display_connect(); and for DRM, the "display-name" is actually the
13223           DRI device name.
13224           https://bugzilla.gnome.org/show_bug.cgi?id=722247
13225
13226 2014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13227
13228         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13229           window: make gst_vaapi_window_reconfigure() thread-safe.
13230           Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
13231           thread-safe by default, so that upper layer users don't need to handle
13232           that explicitly.
13233
13234 2013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
13235
13236         * gst-libs/gst/vaapi/gstvaapiwindow.c:
13237         * gst-libs/gst/vaapi/gstvaapiwindow.h:
13238           window: allow for updating size from current geometry.
13239           Add gst_vaapi_window_reconfigure() interface to force an update of
13240           the GstVaapiWindow "soft" size, based on the current geometry of the
13241           underlying native window.
13242           This can be useful for instance to synchronize the window size when
13243           the user changed it.
13244           Thanks to Fabrice Bellet for rebasing the patch.
13245           [changed interface to gst_vaapi_window_reconfigure()]
13246           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13247
13248 2014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13249
13250         * gst-libs/gst/vaapi/gstvaapiwindow.c:
13251         * gst-libs/gst/vaapi/gstvaapiwindow.h:
13252         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
13253         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
13254         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
13255         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
13256         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
13257         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
13258         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
13259         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
13260         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
13261         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
13262           window: re-indent all GstVaapiWindow related source code.
13263
13264 2014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13265
13266         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13267         * gst-libs/gst/vaapi/gstvaapidisplay.h:
13268         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
13269           display: add interface to retrieve the display name.
13270           Add gst_vaapi_display_get_display_name() helper function to determine
13271           the name associated with the underlying native display. Note that for
13272           raw DRM backends, the display name is actually the device path.
13273
13274 2014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13275
13276         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
13277           display: fix comparison of X11 display names.
13278           Make sure to not only compare display host names, but also the actual
13279           display number. The screen number does not need to be checked at this
13280           time.
13281
13282 2014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13283
13284         * gst/vaapi/gstvaapidecode.c:
13285         * gst/vaapi/gstvaapivideobufferpool.c:
13286           vaapidecode: add support for VideoAlignment bufferpool option.
13287           Always add VideoAlignment bufferpool option if the downstream element
13288           expects its own pool to be used but does not offer it through a proper
13289           propose_allocation() implementation for instance, and that the ALLOCATION
13290           query does not expose the availability of the Video Meta API.
13291           This fixes propagation of video buffer stride information to Firefox.
13292
13293 2014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13294
13295         * gst/vaapi/gstvaapivideomemory.c:
13296           vaapivideomemory: always prefer native VA surface formats.
13297           Make sure to always prefer native internal formats for the VA surfaces
13298           that get allocated. Also disable "direct-rendering" mode in this case.
13299           This is needed so that to make sure that anything that gets out of the
13300           decoder, or anything that gets into the encoder, is in native format
13301           for the hardware, and thus the driver doesn't need to perform implicit
13302           conversions in there. Interop with SW elements is still available with
13303           fast implementations of VA imaging APIs.
13304
13305 2014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13306
13307         * gst/vaapi/gstvaapivideomemory.c:
13308           vaapivideomemory: disallow memory shares across buffers, use a copy.
13309           Forbid shares of GstMemory instances, and rather make copy of it. This
13310           effectively copies the GstMemory structure and enclosed metadata, but
13311           this does not copy the VA surface contents itself. It should though.
13312           This fixes preroll and makes sure to not download garbage for the first
13313           frame when a SW rendering sink is used.
13314
13315 2014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13316
13317         * gst/vaapi/gstvaapivideomemory.c:
13318         * gst/vaapi/gstvaapivideomemory.h:
13319           vaapivideomemory: use an image pool to cache objects.
13320           Use an image pool to hold VA images to be used for downloads/uploads
13321           of contents for the associated surface.
13322           This is an optmization for size. So, instead of creating as many VA
13323           images as there are buffers (then VA surfaces) allocated, we only
13324           maintain a minimal set of live VA images, thus preserving memory
13325           resources.
13326
13327 2014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13328
13329         * gst/vaapi/gstvaapivideomemory.c:
13330           vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
13331           Disable read-write mappings if "direct-rendering" is not supported.
13332           Since the ordering of read and write operations is not specified,
13333           this would require to always download the VA surface on _map(), then
13334           commit the temporary VA image back to the VA surface on _unmap().
13335           Some SW decoding plug-in elements still use R/W mappings though.
13336           https://bugzilla.gnome.org/show_bug.cgi?id=733242
13337
13338 2014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13339
13340         * gst/vaapi/gstvaapivideomemory.c:
13341           vaapivideomemory: minor code clean-ups.
13342           Fix error messages introduced in the previous commit for the _map()
13343           imaplementation. Also use the new get_image_data() helper function
13344           to determine the base pixels data buffer from a GstVaapiImage when
13345           updating the video info structure from it.
13346
13347 2014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13348
13349         * gst/vaapi/gstvaapivideomemory.c:
13350         * gst/vaapi/gstvaapivideomemory.h:
13351           vaapivideomemory: add support for raw pixels mappings.
13352           Allow raw pixels of the whole frame to be mapped read-only. i.e. in
13353           cases where the buffer pool is allocated without VideoMeta API, thus
13354           individual planes cannot be mapped.
13355           This is initial support for Firefox >= 30.
13356           https://bugzilla.gnome.org/show_bug.cgi?id=731886
13357
13358 2014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13359
13360         * gst/vaapi/gstvaapivideomemory.c:
13361           vaapivideomemory: fix determination of the surface pool format.
13362           While creating the vaapi video allocator, make sure the associated
13363           surface pool has correct format instead of defaulting to NV12 video
13364           format even though there is no direct rendering support.
13365           https://bugzilla.gnome.org/show_bug.cgi?id=732691
13366
13367 2014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13368
13369         * gst/vaapi/gstvaapivideomemory.c:
13370           vaapivideomemory: fix association of surface to proxy.
13371           Make sure to always update the VA surface pointer whenever the proxy
13372           changes. This used to only work when the VA surface is written to, in
13373           interop with SW element ("upload" feature), and this now fixes cases
13374           when the VA surface is needed for reading, in interop with SW element
13375           ("download" feature).
13376
13377 2014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13378
13379         * gst/vaapi/gstvaapidecode.c:
13380         * gst/vaapi/gstvaapipluginutil.c:
13381         * gst/vaapi/gstvaapivideomemory.c:
13382           plugins: expose I420 format for interop with SW elements.
13383           Always expose I420 format by default when the VA surface could be
13384           mapped for interoperability with non harware accelerated elements.
13385           However, the default behaviour remains the auto-plugging of vaapi
13386           elements, down to the sink.
13387           Side effect: "direct-rendering" mode is also disabled most of the
13388           times as plain memcpy() from uncached speculative write combining
13389           memory is not going to be efficient enough.
13390
13391 2014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13392
13393         * gst/vaapi/gstvaapidecode.c:
13394         * gst/vaapi/gstvaapivideomemory.c:
13395           plugins: allow download capability to vaapidecode element.
13396           Fix support for VA surface download capability in vaapidecode element
13397           for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
13398           but also the libva-intel-driver while performing hardware accelerated
13399           conversions from the native VA surface format (NV12) to the desired
13400           output VA image format.
13401           For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
13402           https://bugzilla.gnome.org/show_bug.cgi?id=733243
13403
13404 2014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
13405
13406         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
13407           decoder: mpeg4: fix picture decoder return value for skipped frames.
13408           The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
13409           when a frame should be skipped, so the stream processing is not stalled.
13410           https://bugzilla.gnome.org/show_bug.cgi?id=733324
13411
13412 2014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
13413
13414         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
13415           decoder: mpeg2: respect any input PTS provided for a frame.
13416           The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
13417           frame timestamps within a GOP, even when it's been fed input PTS for
13418           every frame.
13419           That leads to incorrect output timestamps in some situations - for example
13420           live playback where input timestamps have been scaled based on arrival time
13421           from the network and don't exactly match the framerate.
13422           https://bugzilla.gnome.org/show_bug.cgi?id=732719
13423
13424 2014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13425
13426         * gst-libs/gst/vaapi/gstvaapiobject.c:
13427           GstVaapiObject: make gst_vaapi_object_new() more robust.
13428           Forbid GstVaapiObject to be created without an associated klass spec.
13429           It is mandatory that the subclass implements an adequate .finalize()
13430           hook, so it shall provide a valid GstVaapiObjectClass.
13431           https://bugzilla.gnome.org/show_bug.cgi?id=722757
13432           [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
13433           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13434
13435 2014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13436
13437         * gst-libs/gst/vaapi/gstvaapiobject.c:
13438           GstVaapiObject: initialize the derived object data with init() hook.
13439           Call the subclass .init() function in gst_vaapi_object_new(), if
13440           needed. The default behaviour is to zero initialize the subclass
13441           object data, then the .init() function can be used to initialize
13442           fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
13443           Also fix the gst_vaapi_object_new() description, which was merely
13444           copied from GstVaapiMiniObject.
13445           https://bugzilla.gnome.org/show_bug.cgi?id=722757
13446           [changed to always zero initialize the subclass]
13447           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13448
13449 2014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
13450
13451         * gst/vaapi/gstvaapidecode.c:
13452           vaapidecode: make decoder work with playbin
13453           When playbin/decodebin builds the pipeline, it puts decoders and sinks
13454           into different bins and forwards the queries from bins to bins. So in
13455           the initials steps the pipeline is built iteratively by playbin and
13456           looks like this :
13457           [filesrc]
13458           [filesrc] -> [typefind]
13459           [filesrc] -> [typefind] -> [demuxer]
13460           [filesrc] -> [typefind] -> [demuxer] -> [decoder]
13461           At this point the decoder is asked for its SRC caps and it will make a
13462           choice based on what gst_pad_peer_query_caps() returns. The problem is
13463           that the caps returns at that point includes caps features like ANY,
13464           essentially because playbin can plug in additional elements like
13465           videoscale, videoconv or deinterlace.
13466           This patch adds a another call to
13467           gst_vaapi_find_preferred_caps_feature() when the decoder decides its
13468           allocation, to make sure we asks the downstream elements when the
13469           entire pipeline has been built.
13470           https://bugzilla.gnome.org/show_bug.cgi?id=731645
13471
13472 2014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13473
13474         * gst/vaapi/gstvaapipostproc.c:
13475           vaapipostproc: don't let tmp_rect go out of scope.
13476           A compiler change showed me that tmp_rect went out of scope before
13477           it was used. Move it to the beginning of the function instead.
13478           https://bugzilla.gnome.org/show_bug.cgi?id=726363
13479           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13480           [added guards for GStreamer 0.10 builds]
13481           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13482
13483 2014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13484
13485         * AUTHORS:
13486           AUTHORS: updates.
13487
13488 2014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13489
13490         * README:
13491           README: updates.
13492           Drop references to deprecated plugins (vaapiupload, vaapidownload),
13493           mention that support for GStreamer 0.10 is deprecated, make overview
13494           more descriptive in certain aspects.
13495
13496 2014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13497
13498         * NEWS:
13499           NEWS: updates.
13500
13501 2014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13502
13503         * README:
13504         * configure.ac:
13505           build: mention that support for GStreamer 0.10 is deprecated.
13506
13507 2014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13508
13509         * configure.ac:
13510         * gst/vaapi/gstvaapidecode.c:
13511           build: fix for GStreamer 0.10.
13512
13513 2014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13514
13515         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
13516         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
13517         * patches/videoparsers/series.frag:
13518           build: fix for GStreamer 1.0.x.
13519
13520 2014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13521
13522         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13523           decoder: h264: detect incorrectly paired fields in frames.
13524           When a DPB flush is required, e.g. at a natural and of stream or issued
13525           explicitly through an IDR, try to detect any frame left in the DPB that
13526           is interlaced but does not contain two decoded fields. In that case, mark
13527           the picture as having a single field only.
13528           This avoids a hang while decoding tv_cut.mkv.
13529
13530 2014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13531
13532         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13533           decoder: h264: simplify the DPB output process.
13534           Simplify the dpb_output() function to exclusively rely on the frame store
13535           buffer to output, since this is now always provided. Besides, also fix
13536           cases where split fields would not be displayed.
13537           This is a regression from f48b1e0.
13538
13539 2014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13540
13541         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
13542         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
13543         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
13544         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
13545         * patches/videoparsers/series.frag:
13546           h264parse: drop patches merged upstream.
13547           0003-h264parse-fix-and-optimize-NAL-collection-function.patch
13548           0005-h264parse-introduce-new-state-tracking-variables.patch
13549           0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
13550           0007-h264parse-fix-collection-of-access-units-to-preserve.patch
13551
13552 2014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13553
13554         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13555           decoder: h264: fix memory leak in PPS.
13556           Cope with latest changes from codecparsers/h264. It is now required
13557           to explicitly clear the GstH264PPS structure as it could contain
13558           additional allocations (slice_group_ids).
13559
13560 2014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13561
13562         * ext/codecparsers:
13563           codecparsers: update to gst-vaapi-branch commit 2d53b69.
13564           c4ace00 h264parse: fix collection of access units to preserve config headers
13565           0f9f7c9 h264parse: improve conditions for skipping NAL units
13566           9ffb25c h264parse: introduce new state tracking variables
13567           64955d3 h264parse: fix and optimize NAL collection function
13568           13cd2a3 h264: clarifications and documentation fixes
13569           53e7dd1 h264: fix identification of EOSEQ and EOS NALs
13570           18f0de0 h264: fix memory leak in GstH264PPS
13571           fdcb54c h264: fix typo in GstH264VUIParams description
13572           fd4dae9 vp8: move up built-in range decoder private data
13573
13574 2014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13575
13576         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
13577         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
13578         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
13579         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
13580           decoder: propagate MVC metadata ("view-id", head of multiview set).
13581           Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
13582           bundle", and really expresses the first view component of a multi
13583           view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
13584           set if VOIdx = 0.
13585           Likewise, new API is exposed to retrieve the associated "view-id".
13586
13587 2014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13588
13589         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
13590         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
13591           decoder: propagate "one-field" flags.
13592           Allow decoders to set the "one-field" attribute when the decoded frame
13593           genuinely has a single field, or if the second field was mis-decoded but
13594           we still want to display the first field.
13595
13596 2014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13597
13598         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
13599           decoder: output decoded frames only once.
13600           Make sure to output the decoded picture, and push the associated
13601           GstVideoCodecFrame, only once. The frame fully represents what needs
13602           to be output, included for interlaced streams. Otherwise, the base
13603           GstVideoDecoder class would release the frame twice.
13604           Anyway, the general process is to output decoded frames only when
13605           they are complete. By complete, we mean a full frame was decoded or
13606           both fields of a frame were decoded.
13607
13608 2014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13609
13610         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13611           decoder: h264: decode current picture earlier.
13612           Slightly optimize decoding process by submitting the current VA surface
13613           for decoding earlier to the hardware, and perform the reference picture
13614           marking process and DPB update process afterwards.
13615           This is a minor optimization to let the video decode engine kick in work
13616           earlier, thus improving parallel resources utilization.
13617
13618 2014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13619
13620         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13621           decoder: h264: fix output of second field when first field is not in DPB.
13622           Fix decoding of interlaced streams where a first field (e.g. B-slice)
13623           was immediately output and the current decoded field is to be paired
13624           with that former frame, which is no longer in DPB.
13625           https://bugzilla.gnome.org/show_bug.cgi?id=701340
13626
13627 2014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13628
13629         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13630           decoder: h264: slightly optimize the process to detect new pictures.
13631           Optimize the process to detect new pictures or start of new access
13632           units by checking if the previous NAL unit was the end of a picture,
13633           or the end of the previous access unit.
13634
13635 2014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13636
13637         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13638           decoder: h264: handle access unit ("au") optimization.
13639           Optimize parsing when buffers are supplied with access unit alignment.
13640           This helps determining faster when the end of an access unit is reached.
13641
13642 2014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13643
13644         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13645           decoder: h264: fix tracking of DPB size changes.
13646           Add support for MVC streams with multiple SPS and subset SPS headers
13647           emitted regularly, e.g. at around every I-frame. Track the maximum
13648           number of views in ensure_context() and really reset the DPB size to
13649           the expected value, always. i.e. even if it decreased. dpb_reset()
13650           only cares of ensuring the DPB allocation.
13651
13652 2014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13653
13654         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13655           decoder: h264: fix the DPB compaction process.
13656           Fix the compaction process when the DPB is cleared for a specific
13657           view, i.e. fix the process of filling in the holes resulting from
13658           removing frame buffers matching the current picture.
13659
13660 2014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13661
13662         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13663           encoder: h264: generate new SPS only when codec config changed.
13664           It is not necessary to periodically send SPS or subset SPS headers.
13665           This is up to the upper layer (e.g. transport layer) to decide on
13666           if/how to periodically submit those. For now, only generate new SPS
13667           or subset SPS headers when the codec config changed.
13668           Note: the upper layer could readily determine the config headers
13669           (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
13670           https://bugzilla.gnome.org/show_bug.cgi?id=732083
13671           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13672
13673 2014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13674
13675         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13676           encoder: h264: track encoder config changes.
13677           Track and report when encoder configuration changed. For now, this covers
13678           resolution, profile/level and bitrate changes.
13679
13680 2014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13681
13682         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13683           encoder: h264: add pixel-aspect-ratio to VUI parameters.
13684           Report sample aspect ratio (SAR) as present, and make it match what
13685           we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
13686           VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
13687
13688 2014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13689
13690         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13691           encoder: h264: fix number of anchor and non-anchor reference pictures.
13692           Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
13693           and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
13694           supported.
13695
13696 2014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13697
13698         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13699           encoder: h264: fix timing_info_present_flag value in subset SPS.
13700           When the seq_parameter_set_data() syntax structure is present in a subset
13701           sequence parameter set and vui_parameters_present_flag is equal to 1, then
13702           timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
13703
13704 2014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13705
13706         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13707           encoder: h264: add cpbBrNalFactor values for MVC profiles.
13708
13709 2014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13710
13711         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13712           h264parse: fix detection of access unit boundaries for MVC.
13713           The gst_h264_parse_collect_nal() function is a misnomer. In reality,
13714           this function is used to determine access unit boundaries, i.e. that
13715           is the key function for alignment=au output format generation.
13716
13717 2014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13718
13719         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
13720         * patches/videoparsers/series.frag:
13721           h264parse: fix collection of access units to preserve config headers.
13722           Always use a GstAdapter when collecting access units (alignment="au")
13723           in either byte-stream or avcC format. This is required to properly
13724           preserve config headers like SPS and PPS when invalid or broken NAL
13725           units are subsequently parsed.
13726           More precisely, this fixes scenario like:
13727           <SPS> <PPS> <invalid-NAL> <slice>
13728           where we used to reset the output frame buffer when an invalid or
13729           broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
13730           preventing the next slice unit to be decoded, should this also
13731           represent any valid data.
13732           https://bugzilla.gnome.org/show_bug.cgi?id=732203
13733
13734 2014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13735
13736         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13737         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
13738         * patches/videoparsers/series.frag:
13739           h264parse: improve conditions for skipping NAL units.
13740           Carefully track cases when skipping broken or invalid NAL units is
13741           necessary. In particular, always allow NAL units to be processed
13742           and let that gst_h264_parse_process_nal() function decide on whether
13743           the current NAL needs to be dropped or not.
13744           This fixes parsing of streams with SEI NAL buffering_period() message
13745           inserted between SPS and PPS, or SPS-Ext NAL following a traditional
13746           SPS NAL unit, among other cases too.
13747           Practical examples from the H.264 AVC conformance suite include
13748           alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
13749           when parsing in stream-format=byte-stream,alignment=au mode.
13750           https://bugzilla.gnome.org/show_bug.cgi?id=732203
13751
13752 2014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13753
13754         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13755         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
13756         * patches/videoparsers/series.frag:
13757           h264parse: introduce new state tracking variables.
13758           Improve parser state tracking by introducing new flags reflecting
13759           it: "got-sps", "got-pps" and "got-slice". This is an addition for
13760           robustness purposes.
13761           Older have_sps and have_pps variables are kept because they have
13762           a different meaning. i.e. they are used for deciding on when to
13763           submit updated caps or not, and rather mean "have new SPS/PPS to
13764           be submitted?"
13765
13766 2014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13767
13768         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
13769         * patches/videoparsers/series.frag:
13770           h264parse: default to byte-stream/nalu format (Annex B).
13771           Always default to stream-format=byte-stream,alignment=nalu if avcC
13772           format was not detected. This is the natural stream format specified
13773           in the standard (Annex.B): a series of NAL units prefixed with the
13774           usual start code.
13775           https://bugzilla.gnome.org/show_bug.cgi?id=732167
13776
13777 2014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13778
13779         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
13780         * patches/videoparsers/series.frag:
13781           h264parse: fix and optimize NAL collection function.
13782           Use gst_h264_parser_identify_nalu_unchecked() to identify the next
13783           NAL unit. We don't want to parse the full NAL unit, but only the
13784           header bytes and possibly the first RBSP byte for identifying the
13785           first_mb_in_slice syntax element.
13786           Also fix check for failure when returning from that function. The
13787           only success condition for that is GST_H264_PARSER_OK, so use it.
13788           https://bugzilla.gnome.org/show_bug.cgi?id=732154
13789
13790 2014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13791
13792         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13793           encoder: h264: fix NAL unit types in packed headers.
13794           Submit Prefix NAL headers (nal_unit_type = 14) before every packed
13795           slice header (nal_unit_type = 1 or 5) only for the base view. In non
13796           base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
13797           is required, with an appropriate nal_unit_header_mvc_extension() in
13798           the NAL header bytes.
13799           https://bugzilla.gnome.org/show_bug.cgi?id=732083
13800
13801 2014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13802
13803         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13804           encoder: h264: add missing field in packed Subset SPS header.
13805           Write the missing num_level_values_signalled_minus1 syntax element
13806           into the packed header for subset sequence parameter set.
13807           https://bugzilla.gnome.org/show_bug.cgi?id=732083
13808
13809 2014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13810
13811         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13812           decoder: h264: fix marking of non-reference picture into DPB.
13813           Fix search for a picture in the DPB that has a lower POC value than
13814           the current picture. The dpb_find_lowest_poc() function will return
13815           a picture with the lowest POC in DPB and that is marked as "needed
13816           for output", but an additional check against the actual POC value
13817           of the current picture is needed.
13818           This is a regression from 1c46990.
13819           https://bugzilla.gnome.org/show_bug.cgi?id=732130
13820
13821 2014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13822
13823         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13824           decoder: h264: fix DPB clear when no decoding actually started.
13825           Fix dpb_clear() to clear previous frame buffers only if they actually
13826           exist to begin with. If the decoder bailed out early, e.g. when it
13827           does not support a specific profile, that array of previous frames
13828           might not be allocated beforehand.
13829
13830 2014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13831
13832         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13833         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
13834         * gst/vaapi/gstvaapidecode.c:
13835           decoder: h264: add support for NALU "alignment" optimization.
13836           We can avoid scanning for start codes again if the bitstream is fed
13837           in NALU chunks. Currently, we always scan for start codes, and keep
13838           track of remaining bits in a GstAdapter, even if, in practice, we
13839           are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
13840           "nal" alignment.
13841           https://bugzilla.gnome.org/show_bug.cgi?id=723284
13842           [use gst_adapter_available_fast() to determine the top buffer size]
13843           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13844
13845 2014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13846
13847         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13848           decoder: h264: fix caps to report interlace-mode accordingly.
13849           The `vaapipostproc' element could never determine if the H.264 stream
13850           was interlaced, and thus always assumed it to be progressive. Fix the
13851           H.264 decoder to report interlace-mode accordingly, thus allowing the
13852           vaapipostproc element to automatically enable deinterlacing.
13853
13854 2014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13855
13856         * gst/vaapi/gstvaapipostproc.c:
13857           vaapipostproc: don't crash with dynamic framerate (0/1).
13858           Avoid reaching an assert if dynamic framerates (0/1) are used. One
13859           way to solve this problem is to just stick field_duration to zero.
13860           However, this means that, in presence of interlaced streams, the
13861           very first field will never be displayed if precise presentation
13862           timestamps are honoured.
13863           https://bugzilla.gnome.org/show_bug.cgi?id=729604
13864
13865 2014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13866
13867         * gst/vaapi/gstvaapipostproc.c:
13868           vaapipostproc: create filter surface pool if it does not exist yet.
13869           ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
13870           recreating filter_pool. Unfortunately, this also meant it didn't create
13871           it if it did not exist.
13872           Fix it to always create the buffer pool if it does not exist.
13873           https://bugzilla.gnome.org/show_bug.cgi?id=723834
13874           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13875
13876 2013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
13877
13878         * gst/vaapi/gstvaapipostproc.c:
13879           vaapipostproc: reset deinterlacer state when there is a discontinuity.
13880           Reset deinterlacer state, i.e. past reference frames used for advanced
13881           deinterlacing, when there is some discontinuity detected in the course
13882           of processing source buffers.
13883           This fixes support for advanced deinterlacing when a seek occurred.
13884           https://bugzilla.gnome.org/show_bug.cgi?id=720375
13885           [fixed type of pts_diff variable, fetch previous buffer PTS from the
13886           history buffer, reduce heuristic for detecting discontinuity]
13887           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13888
13889 2014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13890
13891         * gst/vaapi/gstvaapipostproc.c:
13892           vaapipostproc: add support for crop regions in VPP mode.
13893           Apply video cropping regions stored in GstVideoCropMeta, or in older
13894           GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
13895           the crop meta are already propagated to the output buffers.
13896           https://bugzilla.gnome.org/show_bug.cgi?id=720730
13897
13898 2014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13899
13900         * gst/vaapi/gstvaapipostproc.c:
13901           vaapipostproc: make deinterlace-mode behave as expected.
13902           deinterlace-mode didn't behave in the way you'd expect if you have
13903           past experience of the deinterlace element. There were two bugs:
13904           1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
13905           2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
13906           Fix these up, and add assertions and error messages to detect cases that
13907           aren't handled.
13908           https://bugzilla.gnome.org/show_bug.cgi?id=726361
13909           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
13910           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13911
13912 2014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
13913
13914         * gst/vaapi/gstvaapidecode.c:
13915           vaapidecode: do not discard video info props when the format changed.
13916           gst_video_info_set_format() does not preserve video info properties. In
13917           order to keep important information in the caps such as interlace mode,
13918           framerate, pixel aspect ratio, ... we need to manually copy back those
13919           properties after setting the new video format.
13920           https://bugzilla.gnome.org/show_bug.cgi?id=722276
13921
13922 2014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
13923
13924         * gst/vaapi/gstvaapidecode.c:
13925           vaapidecode: plug a memory leak.
13926           It can happen that there is a pool provided that does not advertise
13927           the vappivideometa. We should unref that pool before using our own.
13928           Discovered with vaapidecode ! {glimagesink,cluttersink}
13929           https://bugzilla.gnome.org/show_bug.cgi?id=724957
13930           [fixed compilation by adding the missing semi-colon]
13931           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13932
13933 2014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13934
13935         * gst/vaapi/gstvaapidecode.c:
13936           vaapidecode: parse source data until a frame is obtained.
13937           Parse any pending data until a complete frame is obtained. This is a
13938           memory optimization to avoid expansion of video packets stuffed into
13939           the GstAdapter, and a fix to EOS condition to detect there is actually
13940           pending data that needs to be decoded, and subsequently output.
13941           https://bugzilla.gnome.org/show_bug.cgi?id=731831
13942
13943 2014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13944
13945         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13946           encoder: h264: fix multiple slices support in packed headers mode.
13947           Handle packedi slice headers and packed raw data on a per-slice basis,
13948           which is necessary for multi slice encoding.
13949
13950 2014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13951
13952         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
13953         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
13954           encoder: add infrastructure for per-slice handling of packed headers.
13955           The packed slice header and packed raw data need to be paired with
13956           the submission of VAEncSliceHeaderParameterBuffer. So handle them
13957           on a per-slice basis insted of a per-picture basis.
13958           [removed useless initializer]
13959           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13960
13961 2014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13962
13963         * gst/vaapi/gstvaapisink.c:
13964           vaapisink: fix initialization with "drm" display type.
13965           Force early initializatin of the GstVaapiDisplay so that to make sure
13966           that the sink element display object is presented first to upstream
13967           elements, as it will be correctly featuring the requested display type
13968           by the user.
13969           Otherwise, we might end up in situations where a VA/X11 display is
13970           initialized in vaapidecode, then we try VA/DRM display in vaapisink
13971           (as requested by the "display" property), but this would cause a failure
13972           because we cannot acquire a DRM display that was previously acquired
13973           through another backend (e.g. VA/X11).
13974
13975 2014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13976
13977         * gst/vaapi/gstvaapipluginbase.c:
13978           plugins: fix initialization with foreign context.
13979           When a new display is settled through GstElement::set_context() (>= 1.2),
13980           or GstVideoContext::set_context() (<= 1.0), then we shall also update the
13981           associated display type.
13982
13983 2014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
13984
13985         * Makefile.am:
13986         * configure.ac:
13987         * ext/Makefile.am:
13988         * gst/vaapi/Makefile.am:
13989         * gst/vaapi/gstvaapiparse.c:
13990         * gst/vaapi/gstvaapiparse.h:
13991         * patches/Makefile.am:
13992         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
13993         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
13994         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
13995         * patches/videoparsers/Makefile.am:
13996         * patches/videoparsers/series.frag:
13997           plugins: add built-in video parsers as "vaapiparse" element.
13998           The built-in video parsers elements are built into a single DSO named
13999           libgstvaapi_parse.so. The various video parsers could be accessed as
14000           vaapiparse_CODEC.
14001           For now, this only includes a modified version of h264parse so that to
14002           support H.264 MVC encoded streams.
14003
14004 2014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14005
14006         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14007           decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
14008           New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
14009           from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
14010
14011 2014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14012
14013         * ext/codecparsers:
14014           codecparsers: update to gst-vaapi-branch commit d6325ac.
14015           7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
14016           d2f965a h264parse: set field_pic_flag when parsing a slice header
14017           24c15b8 Import h264parse
14018           a9283e5 bytereader: Use concistant derefence method
14019           a8252c6 bytereader: Use pointer instead of index access
14020           b1bebfc Import GstBitReader and GstByteReader
14021           2f58788 h264: recognize SVC NAL units
14022           4335da5 h264: fix SPS copy code for MVC
14023           cf9b6dc h264: fix quantization matrix conversion routine names
14024           b11ce2a h264: add gst_h264_video_calculate_framerate()
14025           126dc6f add C++ guards for MPEG-4 and VP8 parsers
14026
14027 2014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14028
14029         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14030           decoder: h264: factor out DPB pruning for MVC.
14031           Factor out the removal process of unused inter-view only reference
14032           pictures from the DPB, prior to the possible insertion of the current
14033           picture.
14034           Ideally, the compiler could still opt for generating two loops. But
14035           at least, the code is now clearer for maintenance.
14036
14037 2014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14038
14039         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14040           decoder: h264: clean-ups.
14041           Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
14042           the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
14043
14044 2014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14045
14046         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14047           decoder: h264: improve pruning of unused MVC inter-view frames.
14048           Improve process for the removal of pictures from DPB before possible
14049           insertion of the current picture (C.4.4) for H.264 MVC inter-view only
14050           reference components. In particular, handle cases where picture to be
14051           inserted is not the last one of the access unit and if it was already
14052           output and is no longer marked as used for reference, including for
14053           decoding next view components within the same access unit.
14054
14055 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14056
14057         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14058           decoder: h264: improve DPB bumping process for MVC.
14059           While invoking the DPB bumping process in presence of many views,
14060           it could be necessary to output previous pictures that are ready,
14061           in a whole. i.e. emitting all view components from the very first
14062           view order index zero to the very last one in its original access
14063           unit; and not starting from the view order index of the picture
14064           that caused the DPB bumping process to be invoked.
14065           As a reminder, the maximum number of frames in DPB for MultiView
14066           High profile with more than 2 views is not necessarily a multiple
14067           of the number of views.
14068           This fixes decoding of MVCNV-4.264.
14069
14070 2014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14071
14072         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14073           decoder: h264: fix inter-view references array growth.
14074           Let the utility layer handle dynamic growth of the inter-view pictures
14075           array. By definition, setting a new size to the array will effectively
14076           grow the array, but would also fill in the newly created elements with
14077           empty entries (NULL), thus also increasing the reported length, which
14078           is not correct.
14079
14080 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14081
14082         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14083           decoder: h264: reduce ReferenceFrames entries to the essential set.
14084           When decoding Multiview High profile streams with a large number of
14085           views, it is not possible to make the VAPictureParameterBufferH264.
14086           ReferenceFrames[] array hold the complete DPB, with all possibly
14087           active pictures to be used for inter-view prediction in the current
14088           access unit.
14089           So reduce the scope of the ReferenceFrames[] array to only include
14090           the set of reference pictures that are going to be used for decoding
14091           the current picture. Basically, this is a union of all RefPicListX[]
14092           array, for all slices constituting the decoded picture.
14093
14094 2014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14095
14096         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14097           decoder: h264: fix MVC inter-view prediction process.
14098           The inter-view reference components and inter-view only reference
14099           components that are included in the reference picture lists shall
14100           be considered as not being marked as "used for short-term reference"
14101           or "used for long-term reference". This means that reference flags
14102           should all be removed from VAPictureH264.flags.
14103           This fixes decoding of MVCNV-2.264.
14104
14105 2014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14106
14107         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14108           decoder: h264: fix detection of profile changes for MVC.
14109           If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
14110           be careful to detect profiles changes and not reset the underlying
14111           VA context erroneously. In MVC situations, we could indeed get a
14112           profile_idc change for every SPS that gets activated, alternatively
14113           (base-view -> non-base view -> base-view, etc.).
14114           An improved fix would be to characterize the exact profile to use
14115           once and for all when SPS NAL units are parsed. This would also
14116           allow for fallbacks to a base-view decoding only mode.
14117
14118 2014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14119
14120         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14121           encoder: h264: drop extraneous definitions.
14122           Re-use definitions from the codecparser headers instead of duplicating
14123           them here again. That covers NALU definitions and slice types.
14124
14125 2014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14126
14127         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14128           encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
14129           https://bugzilla.gnome.org/show_bug.cgi?id=727418
14130
14131 2014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14132
14133         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14134           encoder: h264: don't allow CABAC with Extended profile.
14135           The H.264 specification does not support CABAC entropy coding for the
14136           Extended profile.
14137           https://bugzilla.gnome.org/show_bug.cgi?id=727418
14138
14139 2014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14140
14141         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14142           encoder: h264: use packed headers mode for MVC encoding.
14143           Exclusively use VA drivers that support raw packed headers for encoding.
14144           i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
14145           provides for better compatibility accross the various VA drivers and HW
14146           generations since no particular API is needed beyond what readily exists.
14147
14148 2014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14149
14150         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14151           encoder: h264: add support for packed slice headers.
14152           https://bugzilla.gnome.org/show_bug.cgi?id=722905
14153
14154 2014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14155
14156         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14157           encoder: h264: store subset sps to generate the codec-data
14158           Store the SubsetSPS nal unit which we need for MVC specific
14159           codec_data generation.
14160
14161 2014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14162
14163         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14164           encoder: h264: fix MVC pipeline hang while encoding with B-frames.
14165           Since we are encoding each view independently from each other, we
14166           need a higher number of pre-allocated surfaces to be used as the
14167           reconstructed frames. For Stereo High profile encoding, this means
14168           to effectively double the number of frames to be stored in the DPB.
14169
14170 2014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14171
14172         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14173         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
14174         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
14175         * gst/vaapi/gstvaapiencode_h264.c:
14176           encoder: h264: add initial support for H.264 Stereo High profile.
14177           Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
14178           for non-base-view streams encoding, and the usual SPS, PPS and Slice
14179           NALs for base-view encoding.
14180           The H.264 Stereo High profile encoding mode will be turned on when the
14181           "num-views" parameter is set to 2. The source (raw) YUV frames will be
14182           considered as Left/Right view, alternatively.
14183           Each of the two views has its own frames reordering pool and reference
14184           frames list management system. Inter-view references are not supported
14185           yet, so the views are encoded independently from each other.
14186           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14187           [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
14188           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14189
14190 2014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14191
14192         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14193           encoder: h264: wrap pools for refs and frames reordering.
14194           Create structures to maintain the reference frames list (RefPool) and
14195           frames reordering (ReorderPool) logic.
14196           This is a prerequisite for H.264 MVC support.
14197           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14198
14199 2014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14200
14201         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14202           encoder: h264: add provisional support for subset SPS headers.
14203           Add provisions to write subset SPS headers to the bitstream in view
14204           to supporting the H.264 MVC specification.
14205           This assumes the libva "staging" branch is in use.
14206           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14207
14208 2013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14209
14210         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14211         * gst-libs/gst/vaapi/gstvaapiutils.c:
14212           utils: add H.264 MVC profiles.
14213           Add "MultiView High" and "Stereo High" definitions.
14214           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14215           [require VA-API >= 0.35.2 for MVC profiles]
14216           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14217
14218 2014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14219
14220         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14221         * gst-libs/gst/vaapi/gstvaapiutils.c:
14222           utils: only enable VP8 profiles for newer VA-API versions.
14223           VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
14224           involving VP8 codec on earlier versions of the API.
14225
14226 2014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14227
14228         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14229           decoder: h264: compute view ids only once per slice.
14230           Optimize lookups of view ids / view order indices by caching the result
14231           of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
14232           terribly simplifies is_new_access_unit() and find_first_field() functions.
14233
14234 2014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14235
14236         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14237           decoder: h264: add support for MVC interlaced streams.
14238           Fix support for MVC Stereo High profile streams with interlaced frames.
14239           Also improve the detection logic of the first field.
14240
14241 2014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14242
14243         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14244           decoder: h264: add MVC profiles compatibility logic.
14245           Add safe fallbacks for MVC profiles:
14246           - all MultiView High profile streams with 2 views at most can be decoded
14247           with a Stereo High profile compliant decoder ;
14248           - all Stereo High profile streams with only progressive views can be
14249           decoded with a MultiView High profile compliant decoder ;
14250           - all drivers that support slice-level decoding could normally support
14251           MVC profiles when the DPB holds at most 16 frames.
14252
14253 2014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14254
14255         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14256         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14257         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14258           decoder: h264: add initial support for MVC.
14259           https://bugzilla.gnome.org/show_bug.cgi?id=721772
14260
14261 2014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14262
14263         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14264           decoder: h264: dynamically allocate the DPB.
14265           Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
14266           for supporting the MVC allocation requirements.
14267
14268 2014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14269
14270         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14271           decoder: h264: fix detection of access unit boundaries.
14272           In order to have a stricter conforming implementation, we need to carefully
14273           detect access unit boundaries. Additional operations could be necessary to
14274           perform at those boundaries.
14275
14276 2013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14277
14278         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14279           decoder: h264: detect the first VCL NAL unit of a picture for MVC.
14280           Detect the first VCL NAL unit of a picture for MVC, based on the
14281           view_id as per H.7.4.1.2.4. Note that we only need to detect new
14282           view components.
14283           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14284
14285 2013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14286
14287         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14288           decoder: h264: properly handle Prefix NAL units.
14289           Always cache the previous NAL unit so that we could check whether
14290           there is a Prefix NAL unit immediately preceding the current slice
14291           or IDR NAL unit. In that case, the NAL unit metadata is copied into
14292           the current NAL unit. Otherwise, some default values are inferred,
14293           tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
14294           [infer default values for slice if previous NAL was not a Prefix]
14295           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14296
14297 2013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
14298
14299         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14300           decoder: h264: add support for MVC base views.
14301           Allow decoding for base views of MVC encoded streams. For now, just skip
14302           the slice extension and prefix NAL units, and skip non-base view frames.
14303           Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
14304           [fixed memory leak, improved check for MVC NAL units]
14305           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14306
14307 2014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14308
14309         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14310           decoder: h264: simplify storage of decoded picture into DPB.
14311           Factor out process by which the decoded picture with the lowest POC
14312           is found, and possibly output. Likewise, the storage and marking of
14313           a reference decoded, or non-reference decoded picture, into the DPB
14314           could also be simplified as they mostly share the same operations.
14315
14316 2014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14317
14318         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14319           decoder: h264: minor clean-ups.
14320           Make init_picture_ref_lists() more consistent with other functions
14321           related to the reference marking process by supplying the current
14322           picture as argument.
14323
14324 2014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14325
14326         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14327         * gst-libs/gst/vaapi/gstvaapidisplay.h:
14328         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14329           display: add utility function to query VA driver name.
14330           Add gst_vaapi_display_get_vendor_string() helper function to query
14331           the underlying VA driver name. The display object owns the resulting
14332           string, so it shall not be deallocated.
14333           That function is thread-safe. It could be used for debugging purposes,
14334           for instance.
14335
14336 2014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14337
14338         * gst-libs/gst/vaapi/gstvaapidisplay.c:
14339         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
14340         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14341         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
14342         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
14343         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
14344         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
14345           display: make cache maintenance really MT-safe.
14346           Make sure to initialize one GstVaapiDisplay at a time, even in threaded
14347           environments. This makes sure the display cache is also consistent
14348           during the whole display creation process. In the former implementation,
14349           there were risks that display cache got updated in another thread.
14350
14351 2014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14352
14353         * gst-libs/gst/vaapi/gstvaapicontext.c:
14354           context: allow dynamic growth of VA surfaces pool.
14355           Add support for dynamic growth of the VA surfaces pool. For decoding,
14356           this implies the recreation of the underlying VA context, as per the
14357           requirement from VA-API. Besides, only increases are supported, not
14358           shrinks.
14359
14360 2014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14361
14362         * gst-libs/gst/vaapi/gstvaapicontext.c:
14363           context: reset VA context if VA surfaces set changed.
14364           It is a requirement from VA-API specification that the VA context got
14365           from vaCreateContext(), for decoding purposes, binds the supplied set
14366           of VA surfaces. This means that if the set of VA surfaces is to be
14367           changed for the current decode session, then the VA context needs to
14368           be recreated with the new set of VA surfaces.
14369
14370 2014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14371
14372         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14373           decoder: h264: fix assignment of LongTermFrameIdx.
14374           Complement fix committed as e95a42e.
14375           The H.264 AVC standard has to say: if the field is part of a reference
14376           frame or a complementary reference field pair, and the other field of
14377           the same reference frame or complementary reference field pair is also
14378           marked as "used for long-term reference", the reference frame or
14379           complementary reference field pair is also marked as "used for long-term
14380           reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
14381           This fixes decoding of MR9_BT_B in strict mode.
14382           https://bugs.freedesktop.org/show_bug.cgi?id=64624
14383           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14384
14385 2014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14386
14387         * gst-libs/gst/vaapi/gstvaapicontext.c:
14388         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14389         * gst-libs/gst/vaapi/gstvaapiutils.c:
14390         * gst-libs/gst/vaapi/gstvaapiutils.h:
14391           decoder: h264: properly support grayscale formats.
14392           Request the correct chroma format for decoding grayscale streams.
14393           i.e. make lookups of the VA chroma format more generic, thus possibly
14394           supporting more formats in the future.
14395           This means that, if a VA driver doesn't support grayscale formats,
14396           it is now going to fail. We cannot safely assume that maybe grayscale
14397           was implemented on top of some YUV 4:2:0 with the chroma components
14398           all set to 0x80.
14399
14400 2014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14401
14402         * gst-libs/gst/vaapi/gstvaapifilter.c:
14403         * gst-libs/gst/vaapi/gstvaapifilter.h:
14404         * tests/test-filter.c:
14405           build: fix source file modes.
14406           A few source files are marked executable in error - fix them
14407           https://bugzilla.gnome.org/show_bug.cgi?id=723748
14408           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
14409
14410 2014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14411
14412         * configure.ac:
14413         * gst-libs/gst/vaapi/Makefile.am:
14414         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14415         * gst/vaapi/gstvaapidecode.c:
14416           build: fix conditional compilation of VP8 decoder.
14417           https://bugzilla.gnome.org/show_bug.cgi?id=729170
14418           [added check for VASliceParameterBufferBase fields]
14419           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14420
14421 2014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14422
14423         * gst-libs/gst/codecparsers/Makefile.am:
14424           build: fix make dist for codecparsers.
14425
14426 2014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14427
14428         * ext/codecparsers:
14429           codecparsers: update to gst-vaapi-branch commit eaa3f7e.
14430           h264: fix parsing of slice groups for map type = 2
14431
14432 2014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14433
14434         * ext/codecparsers:
14435           codecparsers: update to gst-vaapi branch commit f44edfc.
14436           h264: fix derivation of default scaling lists
14437
14438 2013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
14439
14440         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14441           decoder: h264: fix long-term reference picture marking process.
14442           Fix reference picture marking process with memory_management_control_op
14443           set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
14444           picture, or the current picture.
14445           This fixes decoding of FRExt_MMCO4_Sony_B.
14446           https://bugs.freedesktop.org/show_bug.cgi?id=64624
14447           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14448           [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
14449           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14450
14451 2014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14452
14453         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14454           decoder: h264: fix initialization of RefPicLists for multiple slices.
14455           The initialization of reference picture lists (8.2.4.2) applies to all
14456           slices. So, the RefPicList0/1 lists need to be constructed prior to
14457           each slice submission to the HW decoder.
14458           This fixes decoding of video sequences where frames are encoded with
14459           multiple slices of different types, e.g. 4 slices in this order I, P,
14460           I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
14461           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14462
14463 2013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
14464
14465         * ext/codecparsers:
14466         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14467           decoder: h264: skip SPS extension and auxiliary slice NALs.
14468           When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
14469           are present in a video, decoders shall perform the (optional) decoding
14470           process specified for these NAL units or shall ignore them (7.4.1).
14471           Implement option 2 (skip) for now, as alpha composition is not
14472           supported yet during the decoding process.
14473           This fixes decoding of the primary coded video in alphaconformanceG.
14474           https://bugzilla.gnome.org/show_bug.cgi?id=703928
14475           https://bugzilla.gnome.org/show_bug.cgi?id=728869
14476           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14477           [skip NAL units earlier, i.e. at parsing time]
14478           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14479
14480 2013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
14481
14482         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14483           decoder: h264: fix slice data bit offset with MVC NAL units.
14484           When MVC slice NAL units (coded slice extension and prefix NAL) are
14485           present, the number of NAL header bytes is 3, not 1 as usual.
14486           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
14487           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14488
14489 2014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14490
14491         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14492           decoder: h264: fix activation of picture and sequence parameters.
14493           At the time the first VCL NAL unit of a primary coded picture is found,
14494           and if that NAL unit was parsed to be an SPS or PPS, then the entries
14495           in the parser may have been overriden. This means that, when the picture
14496           is to be decoded, slice_hdr->pps could point to an invalid (the next)
14497           PPS entry.
14498           So, one way to solve this problem is to not use the parser PPS and
14499           SPS info but rather maintain our own activation chain in the decoder.
14500           https://bugzilla.gnome.org/show_bug.cgi?id=724519
14501           https://bugzilla.gnome.org/show_bug.cgi?id=724518
14502
14503 2014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14504
14505         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14506           decoder: h264: retain SEI messages until the end of frame.
14507           Retain the SEI messages that were parsed from the access unit until we
14508           have completely decoded the current frame. This is done so that we can
14509           peek at that data whenever necessary during decoding. e.g. for exposing
14510           3D stereoscopic information at a later stage.
14511
14512 2014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14513
14514         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14515           decoder: h264: add support for grayscale encoded clips.
14516           Fix support for grayscale encoded video clips, and possibly others if
14517           the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
14518           the decision that a surface with the desired chroma format is not
14519           supported to the actual VA driver implementation.
14520           https://bugzilla.gnome.org/show_bug.cgi?id=728144
14521
14522 2014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14523
14524         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14525         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
14526         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
14527         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
14528         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
14529         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14530           decoder: default to YUV 4:2:0 VA surfaces.
14531           Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
14532           make sure all codecs use YUV 4:2:0 output format for now, by default.
14533
14534 2014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14535
14536         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14537         * gst-libs/gst/vaapi/gstvaapidecoder.h:
14538         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
14539           decoder: re-indent GstVaapiDecoder base object.
14540
14541 2014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14542
14543         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14544           encoder: derive chroma type from video format.
14545           Cope with previous VA context change to derive the correct surface chroma
14546           type from the input video format.
14547
14548 2014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14549
14550         * gst-libs/gst/vaapi/gstvaapicontext.c:
14551         * gst-libs/gst/vaapi/gstvaapicontext.h:
14552           context: add support for non-YUV 4:2:0 formats.
14553           Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
14554           for the upper layer to specify the desired chroma type. If the chroma
14555           type field is not set (or yields zero), then YUV 4:2:0 format is used
14556           by default.
14557
14558 2014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14559
14560         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14561           vp8: fix per-segment deblocking filter level in relative mode.
14562           Fix possible bug when a per-segment deblocking filter level value
14563           needs to be set in non-absolute mode, i.e. when the loop filter update
14564           value is negative in delta mode.
14565           Also clamp the resulting filter level value to 0..63 range.
14566
14567 2014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14568
14569         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14570           vp8: fix check for disabling the loop filter (again).
14571           Improve condition to disable the loop filter. The previous heuristic
14572           used to check all filter levels, for all segments. It turns out that
14573           only the base filter_level value defined in the frame header needs
14574           to be checked.
14575           This fixes 00-comprehensive-013.
14576
14577 2014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14578
14579         * gst-libs/gst/codecparsers/Makefile.am:
14580         * gst/vaapi/Makefile.am:
14581           build: fix make dist with certain conditionals not met.
14582           Fix generation of source tarballs when certain conditionals are not
14583           met. e.g. always include all buildable codecparsers sources in the
14584           distribution tarball, fix plug-in element sources set to include X11
14585           and encoder bits.
14586
14587 2014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14588
14589         * ext/Makefile.am:
14590           build: add missing files for GStreamer 0.10.
14591           Add missing GstVideoEncoder implementation files to fix build with ancient
14592           GStreamer 0.10 stack.
14593           https://bugzilla.gnome.org/show_bug.cgi?id=723964
14594
14595 2014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14596
14597         * ext/Makefile.am:
14598           build: add missing files for VP8 bitstream parser.
14599           Fix make dist for building the VP8 bitstream parser.
14600
14601 2014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14602
14603         * configure.ac:
14604         * ext/libvpx/Makefile.am:
14605         * gst-libs/gst/codecparsers/Makefile.am:
14606           vp8: allow compilation without the built-in libvpx.
14607           The built-in libvpx serves multiple purposes, among which the most
14608           important ones could be: track the most up-to-date, and optimized,
14609           range decoder; allow for future hybrid implementations (non-VLD);
14610           and have a completely independent range decoder implementation.
14611
14612 2014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14613
14614         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14615           vp8: propagate PTS from demux frame.
14616           gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
14617           or parser would already have determined the PTS from a previous stage.
14618
14619 2014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14620
14621         * Makefile.am:
14622         * debian.upstream/libgstvaapi.install.in:
14623         * ext/libvpx/Makefile.am:
14624         * ext/libvpx/sources.frag:
14625         * gst-libs/gst/codecparsers/Makefile.am:
14626           vp8: fix compilation with built-in libvpx.
14627           Apply correct patch from fd.o #722760 to fix several issues: update the
14628           license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
14629           make dist.
14630
14631 2014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14632
14633         * .gitmodules:
14634         * autogen.sh:
14635         * configure.ac:
14636         * ext/Makefile.am:
14637         * ext/libvpx/Makefile.am:
14638         * ext/libvpx/gstlibvpx.c:
14639         * ext/libvpx/gstlibvpx.h:
14640         * ext/libvpx/libgstcodecparsers_vpx.vers:
14641         * ext/libvpx/sources.frag:
14642         * ext/libvpx/upstream:
14643         * gst-libs/gst/codecparsers/Makefile.am:
14644         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
14645           vp8: use range decoder from libvpx.
14646           Add libvpx submodule that tracks the upstream version 1.3.0. This is
14647           needed to build a libgstcodecparsers_vpx.so library with all symbols
14648           placed into the GSTREAMER namespace.
14649
14650 2014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14651
14652         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14653           vp8: fix check for disabling the loop filter.
14654
14655 2013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
14656
14657         * configure.ac:
14658         * ext/Makefile.am:
14659         * gst-libs/gst/codecparsers/Makefile.am:
14660         * gst-libs/gst/vaapi/Makefile.am:
14661         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
14662         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
14663         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14664         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14665         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
14666         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
14667         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14668         * gst-libs/gst/vaapi/gstvaapiprofile.h:
14669         * gst/vaapi/gstvaapidecode.c:
14670           Add initial VP8 decoder.
14671           https://bugzilla.gnome.org/show_bug.cgi?id=722761
14672           [complete overhaul, fixed support for resolution changes]
14673           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14674
14675 2014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14676
14677         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14678           decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
14679           The gst_h264_parse_parse_sei() function now returns an array of SEI
14680           messages, instead of a single SEI message. Reason: it is allowed to
14681           have several SEI messages packed into a single SEI NAL unit, instead
14682           of multiple NAL units.
14683
14684 2014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14685
14686         * ext/codecparsers:
14687           codecparsers: update to gst-vaapi-branch commit a454f86.
14688           b2eb5f6 vp8: rename dboolhuff symbols
14689           b74a881 vp8: add GStreamer native utilities
14690           2940ac6 add VP8 bitstream parser
14691
14692 2014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14693
14694         * ext/codecparsers:
14695           codecparsers: update to gst-vaapi-branch commit d459bc5.
14696           d459bc5 h264: set framerate even for interlaced videos
14697           c78b82c h264: add support for Recovery Point SEI message
14698           7693bac h264: add support for Frame Packing Arrangement SEI message
14699           31fafa7 h264: add support for Stereo Video Information SEI message
14700           8b113a6 h264: parse seq_parameter_set_mvc_extension()
14701           040f9b8 h264: parse MVC syntax elements
14702           cc18ef3 h264: add nal_reader_skip_long() helper
14703           7e76a48 h264: fix slice_header() parsing for MVC
14704           caf46d8 h264: add gst_h264_parse_nalu_header() helper
14705           f75074e h264: add gst_h264_parse_sps_data() helper
14706           798c397 h264: clean-up gst_h264_parser_parse_sei_message()
14707           4e36737 h264: fix skipping of unsupported SEI messages
14708           5300766 h264: fix SEI buffering_period() parsing
14709
14710 2014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14711
14712         * ext/codecparsers:
14713         * gst-libs/gst/codecparsers/Makefile.am:
14714           codecparsers: update to gst-vaapi-branch commit 8fadf40.
14715           8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
14716           644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
14717           95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
14718           766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
14719           8ec5816 h265: Fix segfault when parsing HRD parameter
14720           5b1730f h265: Fix segfault when parsing VPS
14721           983b7f7 h265: prevent to overrun chroma_weight_l0_flag
14722           7ba641d h265: Fix debug output
14723           d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
14724
14725 2014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14726
14727         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14728           decoder: h264: fix robustness patch for bytestream format.
14729           Fix parser and decoder state to sync at the right locations. This is
14730           because we could reset the parser state, while the decoder state was
14731           not copied yet, e.g. when parsing several NAL units from multiple frames
14732           whereas the current frame was not decoded yet.
14733           This is a regression brought in by commit 6fe5496.
14734
14735 2014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14736
14737         * configure.ac:
14738         * pkgconfig/Makefile.am:
14739         * pkgconfig/gstreamer-vaapi-drm.pc.in:
14740         * pkgconfig/gstreamer-vaapi-glx.pc.in:
14741         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
14742         * pkgconfig/gstreamer-vaapi-x11.pc.in:
14743           build: fix pkgconfig file names (again).
14744           It turns out it is more convenient to have only pkgconfig files named
14745           after the installed GStreamer API version (1.0) instead of using all
14746           possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
14747           altogether anyway, so align pkgconfig file names to that.
14748
14749 2014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14750
14751         * debian.upstream/libgstvaapi-dev.install.in:
14752         * gst-libs/gst/vaapi/Makefile.am:
14753         * pkgconfig/gstreamer-vaapi.pc.in:
14754           build: fix packaging for GStreamer 1.2.
14755           Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
14756           the pkgconfig version (1.0) instead of the intended API version (1.2).
14757           libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
14758           as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
14759
14760 2014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14761
14762         * configure.ac:
14763           Bump version for development.
14764
14765 === release 0.5.8 ===
14766
14767 2014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14768
14769         * debian.upstream/control.in:
14770           debian: fix trailing whitespace in description.
14771
14772 2014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14773
14774         * debian.upstream/control.in:
14775         * debian.upstream/copyright:
14776           debian: fix package description.
14777           Try to improve package description for the compiled plug-in elements
14778           available in there. e.g. only display vaapidownload and vaapiupload
14779           for GStreamer 0.10 builds, display vaapiencode_* elements when VA
14780           encoding is enabled, etc.
14781           Also increase the copyright notice date.
14782
14783 2014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14784
14785         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14786           build: fix warnings on 64-bit platforms.
14787
14788 2014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14789
14790         * gst-libs/gst/vaapi/gstvaapicontext.c:
14791         * gst-libs/gst/vaapi/gstvaapiutils.c:
14792           build: fix for older versions of VA-API (< 0.34.0).
14793           Fix build with older versions of VA-API (< 0.34.0), or versions without
14794           good enough headers for encoding support for instance.
14795
14796 2014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14797
14798         * NEWS:
14799         * configure.ac:
14800           0.5.8.
14801
14802 2014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14803
14804         * README:
14805           README: updates.
14806           VA-API up to 0.34.0 is actually supported. Mention new video encoding
14807           support. Update copyright years, list of supported Intel HD Graphics
14808           hardware.
14809
14810 2014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14811
14812         * NEWS:
14813           NEWS: updates.
14814
14815 2014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14816
14817         * tests/test-filter.c:
14818           tests: test-filter: fix "deinterlace" option parse.
14819           Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
14820           string was provided, i.e. if it remained set to NULL.
14821
14822 2014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14823
14824         * gst-libs/gst/vaapi/Makefile.am:
14825         * gst-libs/gst/vaapi/gstvaapicontext.c:
14826         * gst-libs/gst/vaapi/gstvaapicontext.h:
14827         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14828         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
14829         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
14830           libs: factor out usages of vaGetConfigAttributes().
14831           Add gst_vaapi_get_config_attribute() helper function that takes a
14832           GstVaapiDisplay and the rest of the arguments with VA types. The aim
14833           is to have thread-safe VA helpers by default.
14834
14835 2014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14836
14837         * gst-libs/gst/vaapi/gstvaapiutils.c:
14838         * gst-libs/gst/vaapi/gstvaapiutils.h:
14839         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
14840         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
14841         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
14842         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
14843         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
14844         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
14845         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
14846         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
14847         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
14848           libs: re-indent all source code related to VA utilities.
14849
14850 2014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14851
14852         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
14853           libs: add missing file (libgstvaapi_priv_check.h).
14854
14855 2014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14856
14857         * gst-libs/gst/vaapi/gstvaapicontext.c:
14858         * gst-libs/gst/vaapi/gstvaapicontext.h:
14859         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14860         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14861         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14862         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
14863           encoder: notify the encoder of the submitted packed headers.
14864           Make sure to configure the encoder with the set of packed headers we
14865           intend to generate and submit. i.e. make selection of packed headers
14866           to submit more robust.
14867
14868 2014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14869
14870         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14871         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14872         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14873         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
14874           encoder: fix and factor out check for supported rate-control modes.
14875           Cache the first compatible GstVaapiProfile found if the encoder is not
14876           configured yet. Next, factor out the code to check for the supported
14877           rate-control modes by moving out vaGetConfigAttributes() to a separate
14878           function, while also making sure that the attribute type is actually
14879           supported by the encoder.
14880           Also fix the default set of supported rate control modes to not the
14881           "none" variant. It's totally useless to expose it at this point.
14882
14883 2014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14884
14885         * gst-libs/gst/vaapi/gstvaapicontext.c:
14886         * gst-libs/gst/vaapi/gstvaapicontext.h:
14887         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14888           context: move rate-control mode to encoder specific config.
14889           Move usage-specific config out of the common GstVaapiContextInfo.
14890           Create a specialized config for encoding and move rate-control mode
14891           to there.
14892
14893 2014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14894
14895         * gst-libs/gst/vaapi/gstvaapicontext.c:
14896         * gst-libs/gst/vaapi/gstvaapicontext.h:
14897         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14898         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14899           context: introduce concept of usage.
14900           Introduce GstVaapiContextUsage so that to explicitly determine the
14901           usage of a VA context. This is useful in view to simplifying the
14902           creation of VA context for VPP too.
14903
14904 2014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14905
14906         * gst-libs/gst/vaapi/gstvaapicontext.c:
14907           context: fix get_attribute() value result.
14908           Unknown attributes, or attributes that are not supported for the given
14909           profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
14910           So, return failure in this case.
14911
14912 2014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14913
14914         * gst-libs/gst/vaapi/Makefile.am:
14915         * gst-libs/gst/vaapi/gstvaapicontext.c:
14916         * gst-libs/gst/vaapi/gstvaapicontext.h:
14917         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
14918         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
14919         * gst-libs/gst/vaapi/gstvaapisurface.c:
14920           context: move overlay composition to separate files.
14921           Move GstVideoOverlayComposition handling to separate source files.
14922           This helps keeing GstVaapiContext core implementation to the bare
14923           minimal, i.e. simpy helpers to create a VA context and handle pool
14924           of associated VA surfaces.
14925
14926 2014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14927
14928         * gst-libs/gst/vaapi/gstvaapicontext.c:
14929         * gst-libs/gst/vaapi/gstvaapicontext.h:
14930         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14931         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14932           context: clean-ups. Strip down APIs.
14933           Improve documentation and debug messages. Clean-up APIs, i.e. strip
14934           them down to the minimal set of interfaces. They are private, so no
14935           need expose getters for instance.
14936
14937 2014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14938
14939         * gst-libs/gst/vaapi/gstvaapicontext.c:
14940         * gst-libs/gst/vaapi/gstvaapicontext.h:
14941           context: re-indent all GstVaapiContext related source code.
14942
14943 2014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14944
14945         * gst-libs/gst/vaapi/Makefile.am:
14946         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
14947         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
14948         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
14949         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
14950         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
14951         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
14952         * gst-libs/gst/vaapi/gstvaapiutils.h:
14953         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
14954         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
14955         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
14956         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
14957         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
14958           libs: check that private headers remain private.
14959           Make sure that libgstvaapi private headers remain internally used to
14960           build libgstvaapi libraries only. All header dependencies were reviewed
14961           and checks for IN_LIBGSTVAAPI definition were added accordingly.
14962           Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
14963           consistency.
14964
14965 2014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14966
14967         * configure.ac:
14968           Bump library major version.
14969           Bump the library major version due to API/ABI changes that occurred in
14970           the imaging API. In particular, GstVaapiDisplay interfaces no longer
14971           expose any GstCaps but provide GArray based ones e.g. to determine the
14972           set of supported decode/encode profiles.
14973
14974 2014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
14975
14976         * gst-libs/gst/vaapi/glibcompat.h:
14977         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
14978         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
14979         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
14980         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
14981         * gst-libs/gst/vaapi/gstvaapicontext.c:
14982         * gst-libs/gst/vaapi/gstvaapicontext.h:
14983         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14984         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14985         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
14986         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
14987         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
14988         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14989         * gst-libs/gst/vaapi/gstvaapiencoder.h:
14990         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14991         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
14992         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
14993         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
14994         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
14995         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
14996         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
14997         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
14998         * gst-libs/gst/vaapi/gstvaapifilter.c:
14999         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
15000         * gst-libs/gst/vaapi/gstvaapisurface.c:
15001         * gst-libs/gst/vaapi/gstvaapisurface.h:
15002         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
15003         * gst-libs/gst/vaapi/gstvaapitypes.h:
15004         * gst-libs/gst/vaapi/gstvaapiutils.c:
15005         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15006         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
15007         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
15008         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
15009         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
15010         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
15011         * gst-libs/gst/vaapi/gstvaapivalue.c:
15012         * gst-libs/gst/vaapi/gstvaapivalue.h:
15013         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
15014         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
15015         * gst/vaapi/gstvaapidecode.c:
15016         * gst/vaapi/gstvaapiencode.c:
15017         * gst/vaapi/gstvaapiencode.h:
15018         * gst/vaapi/gstvaapiencode_h264.c:
15019         * gst/vaapi/gstvaapiencode_h264.h:
15020         * gst/vaapi/gstvaapiencode_mpeg2.c:
15021         * gst/vaapi/gstvaapiencode_mpeg2.h:
15022         * gst/vaapi/gstvaapipluginbase.c:
15023         * gst/vaapi/gstvaapipluginutil.c:
15024         * gst/vaapi/gstvaapipluginutil.h:
15025         * gst/vaapi/gstvaapipostproc.c:
15026         * gst/vaapi/gstvaapipostproc.h:
15027         * gst/vaapi/gstvaapisink.c:
15028         * gst/vaapi/gstvaapisink.h:
15029         * gst/vaapi/gstvaapivideometa_texture.c:
15030         * tests/simple-decoder.c:
15031           legal: update copyright notice dates.
15032
15033 2014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15034
15035         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15036         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15037         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15038         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15039         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15040         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15041         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15042         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15043         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
15044         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15045         * gst/vaapi/gstvaapiencode.c:
15046         * gst/vaapi/gstvaapiencode.h:
15047         * gst/vaapi/gstvaapiencode_h264.c:
15048         * gst/vaapi/gstvaapiencode_h264.h:
15049         * gst/vaapi/gstvaapiencode_mpeg2.c:
15050         * gst/vaapi/gstvaapiencode_mpeg2.h:
15051           legal: add per-file authorship information.
15052
15053 2014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15054
15055         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15056         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
15057           decoder: fix video codec frame number in standalone mode.
15058           Set a valid GstVideoCodecFrame.system_frame_number when decoding a
15059           stream in standalone mode. While we are at it, improve the debugging
15060           messages to also include that frame number.
15061
15062 2014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
15063
15064         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15065         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
15066           decoder: fix crash on invalid pointer for GST_DEBUG().
15067           When decoding failed, or that the frame was dropped, the associated
15068           surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
15069           message needs to check whether the proxy is actually present or not.
15070           https://bugzilla.gnome.org/show_bug.cgi?id=722403
15071           [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
15072           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15073
15074 2014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15075
15076         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15077           encoder: h264: disable NAL HRD parameters for now.
15078           Don't emit NAL HRD parameters for now in the SPS headers because the
15079           SEI buffering_period() and picture_timing() messages are not handled
15080           yet. Some additional changes are necessary to get it right.
15081           https://bugzilla.gnome.org/show_bug.cgi?id=722734
15082
15083 2014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15084
15085         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15086         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15087         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15088         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
15089           encoder: h264: fix default CPB buffer size.
15090           Fix default CPB buffer size to something more reasonable (1500 ms)
15091           and that still fits the level limits. This is a non configurable
15092           property for now. The initial CPB removal delay is also fixed to
15093           750 ms.
15094           https://bugzilla.gnome.org/show_bug.cgi?id=722087
15095
15096 2014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15097
15098         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15099           encoder: h264: fix bitrate encoding for HRD conformance.
15100           Round down the calculated, or supplied, bitrate (kbps) into a multiple
15101           of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
15102           that to have less losses in precision. Likewise, don't round up because
15103           that could be a strict constraint imposed by the user.
15104
15105 2014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15106
15107         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15108           encoder: h264: fix level lookup constraints wrt. bitrate.
15109           Fix the level calculation involving bitrate limits. Since we are
15110           targetting NAL HRD conformance, the check against MaxBR from the
15111           Table A-1 limits shall involve cpbBrNalFactor depending on the
15112           active profile.
15113
15114 2014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15115
15116         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15117           encoder: h264: submit sequence parameter only once.
15118           Submit sequence parameter buffers only once, or when the bitstream
15119           was reconfigured in a way that requires such. Always submit packed
15120           sequence parameter buffers at I-frame period, if the VA driver needs
15121           those.
15122           https://bugzilla.gnome.org/show_bug.cgi?id=722737
15123
15124 2014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15125
15126         * gst-libs/gst/vaapi/gstvaapicontext.c:
15127         * gst-libs/gst/vaapi/gstvaapicontext.h:
15128         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15129         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15130         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15131           encoder: h264: only submit packed headers when required.
15132           Make sure to submit the packed headers only if the underlying VA driver
15133           requires those. Currently, only handle packed sequence and picture
15134           headers.
15135           https://bugzilla.gnome.org/show_bug.cgi?id=722737
15136
15137 2014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15138
15139         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15140           encoder: h264: fix ip_period value in sequence parameter.
15141           The VAEncSequenceParameterBuffer.ip_period value reprents the distance
15142           between the I-frame and the next P-frame. So, this also accounts for
15143           any additional B-frame in the middle of it.
15144           This fixes rate control heuristics for certain VA drivers.
15145           https://bugzilla.gnome.org/show_bug.cgi?id=722735
15146
15147 2014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15148
15149         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15150           encoder: h264: fix level when bitrate is automatically computed.
15151           Fix level characterisation when the bitrate is automatically computed
15152           from the active coding tools. i.e. ensure the bitrate once the profile
15153           is completely characterized but before the level calculation process.
15154
15155 2014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15156
15157         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15158           encoder: h264: clean-ups.
15159           Document and rename a few functions here and there. Drop code that
15160           caps num_bframes variable in reset_properties() since they shall
15161           have been checked beforehand, during properties initialization.
15162
15163 2014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15164
15165         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15166           encoder: h264: clean-up bitwriter related utilities.
15167           Clean-up GstBitWriter related utility functions and simplify notations.
15168           While we are at it, also make bitstream writing more robust should an
15169           overflow occur. We could later optimize for writing headers capped to
15170           their maximum possible size by using the _unchecked() helper variants.
15171
15172 2014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15173
15174         * gst-libs/gst/vaapi/Makefile.am:
15175         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15176         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15177           encoder: h264: completely remove private headers.
15178           Drop private header since it was originally used to expose internals
15179           to the plugin element. The proper interface is now the properties API,
15180           thus rendering private headers totally obsolete.
15181
15182 2014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15183
15184         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15185           encoder: h264: fix PPS header packing with profile < high.
15186           Fix PPS header packing when profile is below High since 8x8 transform
15187           mode and scaling lists are High Profile features.
15188
15189 2014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15190
15191         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15192           encoder: h264: always emit VUI parameters for framerate.
15193           Always emit VUI parameters for timing_info, which includes framerate
15194           information.
15195
15196 2014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15197
15198         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15199           encoder: h264: really fix frame cropping rectangle calculation.
15200           Make frame cropping rectangle calculation future proof, i.e. exactly
15201           follow the specification (7-18) to (7-21), and subsampling definitions
15202           from Table 6-1.
15203           https://bugzilla.gnome.org/show_bug.cgi?id=722089
15204           https://bugzilla.gnome.org/show_bug.cgi?id=722238
15205
15206 2014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
15207
15208         * gst/vaapi/gstvaapisink.c:
15209         * gst/vaapi/gstvaapisink.h:
15210           vaapisink: set csc render flags from sinkpad caps.
15211           This maps GstVideoColorimetry information in vaapisink's sinkpad caps
15212           to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
15213           available.
15214           https://bugzilla.gnome.org/show_bug.cgi?id=722255
15215           [factored out code, added SMPTE240M, handle per-buffer flags]
15216           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15217
15218 2012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15219
15220         * gst-libs/gst/vaapi/gstvaapisurface.h:
15221         * gst-libs/gst/vaapi/gstvaapiutils.c:
15222         * gst/vaapi/gstvaapipostproc.c:
15223           surface: rework render flags.
15224           Pack render flags per category and provide more flags into the color
15225           standard category. In particular, cover for SMPTE-240M.
15226
15227 2013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
15228
15229         * gst-libs/gst/vaapi/gstvaapifilter.c:
15230         * gst/vaapi/gstvaapipostproc.c:
15231         * gst/vaapi/gstvaapipostproc.h:
15232           vaapipostproc: add support for colorbalance filters.
15233           Add support for hue, saturation, brightness and constrat adjustments.
15234           Also fix cap info local copy to match the really expected cap subtype
15235           of interest.
15236           https://bugzilla.gnome.org/show_bug.cgi?id=720376
15237           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15238
15239 2013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
15240
15241         * gst/vaapi/gstvaapipostproc.c:
15242           vaapipostproc: fix support for "sharpen" filter.
15243           Fix copy/paste error when submitting the "sharpen" value to the
15244           GstVaapiFilter instance.
15245           https://bugzilla.gnome.org/show_bug.cgi?id=720375
15246           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15247
15248 2013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
15249
15250         * configure.ac:
15251         * pkgconfig/gstreamer-vaapi-drm.pc.in:
15252         * pkgconfig/gstreamer-vaapi-glx.pc.in:
15253         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
15254         * pkgconfig/gstreamer-vaapi-x11.pc.in:
15255         * pkgconfig/gstreamer-vaapi.pc.in:
15256           pkgconfig: plugin dir should use PKG version not API version.
15257           Fix the pluginsdir and includedir variables in the generated pkgconfig
15258           (.pc) files. The location needs to be built with the PKG version in
15259           mind instead of the API version.
15260           While we are at it, also fix the PKG version for GStreamer >= 1.3.
15261           https://bugzilla.gnome.org/show_bug.cgi?id=720820
15262           [additional fixes for includedir and pkg requirements]
15263           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15264
15265 2014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
15266
15267         * gst/vaapi/gstvaapisink.c:
15268           vaapisink: fix display initialization in GstVideoOverlay implementation.
15269           When gst_vaapisink_video_overlay_set_window_handle() is called early,
15270           before the pipeline has been set to PLAYING, the display has not yet
15271           been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
15272           up-to-date. For this reason the foreign XID is not attached.
15273           Now _ensure_display() is called earlier.
15274           https://bugzilla.gnome.org/show_bug.cgi?id=722244
15275           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15276
15277 2013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15278
15279         * gst/vaapi/gstvaapisink.c:
15280           vaapisink: expose the raw video formats in static caps template.
15281           Expose all raw video formats in the static caps template since the
15282           vaapisink is supporting raw data. We will get the exact set of formats
15283           supported by the driver dynamically through the _get_caps() routine.
15284           https://bugzilla.gnome.org/show_bug.cgi?id=703271
15285           https://bugzilla.gnome.org/show_bug.cgi?id=720737
15286           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15287
15288 2013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15289
15290         * gst/vaapi/gstvaapidecode.c:
15291           vaapidecode: query downstream caps features like GLTextureUploadMeta.
15292           Fix vaapidecode to correctly report caps features downstream, when
15293           a custom pipeline is built manually.
15294           https://bugzilla.gnome.org/show_bug.cgi?id=719372
15295           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15296
15297 2013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15298
15299         * gst/vaapi/gstvaapidecode.c:
15300           vaapidecode: add system memory caps to template caps.
15301           Since vaapidecode provides buffer that can be mapped as regular memory,
15302           those caps should be added to the template caps. That only applies to
15303           GStreamer >= 1.2.
15304           https://bugzilla.gnome.org/show_bug.cgi?id=720608
15305           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15306
15307 2013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
15308
15309         * gst/vaapi/gstvaapidecode.c:
15310           vaapidecode: fix hang on SIGINT.
15311           vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
15312           <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
15313           locked. This fixes a deadlock on state change from PAUSED to READY.
15314           https://bugzilla.gnome.org/show_bug.cgi?id=720584
15315           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15316
15317 2013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
15318
15319         * gst/vaapi/gstvaapiencode.c:
15320           vaapiencode: fix possible hang on SIGINT.
15321           vaapiencode might hang when the pipeline is stopped without any EOS,
15322           e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
15323           running and locked. This fixes a possible deadlock on state change
15324           from PAUSED to READY.
15325           https://bugzilla.gnome.org/show_bug.cgi?id=720584
15326           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15327
15328 2014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15329
15330         * gst/vaapi/gstvaapiencode.c:
15331           vaapiencode: fix typo in error message.
15332           Fix incomplete error message in gst_vaapiencode_push_frame().
15333
15334 2014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15335
15336         * gst/vaapi/gstvaapipluginutil.c:
15337         * gst/vaapi/gstvaapipluginutil.h:
15338           plugins: add helpers to create video caps with features.
15339           Add gst_vaapi_video_format_new_template_caps_with_features() helper
15340           function to add the supplied caps feature string on GStreamer >= 1.2.
15341           Add gst_vaapi_find_preferred_caps_feature() helper function to discover
15342           the "best" caps feature to use for the supplied pad. In practice, we
15343           will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
15344           and finally the system memory caps.
15345           https://bugzilla.gnome.org/show_bug.cgi?id=719372
15346
15347 2014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15348
15349         * gst/vaapi/gstvaapivideometa_texture.c:
15350           plugins: don't apply overlay composition in GLTextureUpload function.
15351           The GLTextureUpload function is not in charge of doing the overlay
15352           composition if any.
15353           https://bugzilla.gnome.org/show_bug.cgi?id=721859
15354           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15355
15356 2014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15357
15358         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15359           encoder: re-order submission of VA objects.
15360           Change the submission order of VA objects so that to make that process
15361           more logical. i.e. submit sequence parameter first, if any; next the
15362           packed headers associated to sequece, picture or slices; and finally
15363           the actual picture and associated slices.
15364
15365 2014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15366
15367         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15368         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15369         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15370         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15371         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
15372           encoder: clean-up objects.
15373           Various clean-ups to improve consistency and readability: rename some
15374           variables, drop unused macro definitions, drop initialization of vars
15375           that are zero-initialized from the base class, drop un-necessary casts,
15376           allocate GPtrArrays with a destroy function.
15377
15378 2014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15379
15380         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15381           encoder: h264: fix frame cropping rectangle calculation.
15382           Fix frame cropping rectangle calculation to handle horizontal resolutions
15383           that don't match a multiple of 16 pixels, but also the vertical resolution
15384           that was incorrectly computed for progressive sequences too.
15385           https://bugzilla.gnome.org/show_bug.cgi?id=722089
15386
15387 2014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15388
15389         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15390           encoder: h264: improve automatic bitrate calculation.
15391           For non "Constant-QP" modes, we could provide more reasonable heuristics
15392           for the target bitrate. In general, 48 bits per macroblock with all the
15393           useful coding tools enable looks safe enough. Then, this rate is raised
15394           by +10% to +15% for each coding tool that is disabled.
15395           https://bugzilla.gnome.org/show_bug.cgi?id=719699
15396
15397 2014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15398
15399         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15400           encoder: h264: support "high-compression" tuning option.
15401           Add support for "high-compression" tuning option. First, determine the
15402           largest supported profile by the hardware. Next, check any target limit
15403           set by the user. Then, enable each individual coding tool based on the
15404           resulting profile_idc value to use.
15405           https://bugzilla.gnome.org/show_bug.cgi?id=719696
15406
15407 2014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15408
15409         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15410         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15411         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15412         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15413         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
15414         * gst/vaapi/gstvaapiencode_h264.c:
15415           encoder: h264: allow target decoder constraints.
15416           Allow user to precise the largest profile to use for encoding due
15417           to target decoder constraints. For instance, if CABAC entropy coding
15418           mode is requested by "constrained-baseline" profile only is desired,
15419           then an error is returned during codec configuration.
15420           Also make sure that the suitable profile we derived actually matches
15421           what the HW can cope with.
15422           https://bugzilla.gnome.org/show_bug.cgi?id=719694
15423
15424 2014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15425
15426         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15427           encoder: h264: refine size of coded buffer.
15428           Refine the heuristic to determine the maximum size of a coded buffer
15429           to account for the exact number of slices. set_context_info() is the
15430           last step during codec reconfiguration, no additional change is done
15431           afterwards, so re-using the num_slices field here is fine.
15432           https://bugzilla.gnome.org/show_bug.cgi?id=719953
15433
15434 2013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
15435
15436         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15437         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15438         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15439           encoder: h264: expose more coding tools.
15440           Add new H.264 coding tools to improve compression:
15441           - "cabac": enable CABAC entropy coding (default: FALSE);
15442           - "dct8x8": enable spatial transform 8x8 (default: FALSE).
15443           https://bugzilla.gnome.org/show_bug.cgi?id=719693
15444           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15445
15446 2014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15447
15448         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15449         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15450         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15451           encoder: h264: derive profile and level from active coding tools.
15452           Automatically derive the minimum profile and level to be used for
15453           encoding, based on the activated coding tools. The encoder will
15454           be trying to generate a bitstream that has the best chances to be
15455           decoded on most platforms by default.
15456           Also change the default profile to "constrained-baseline" so that
15457           to ensure maximum compatibility when the stream is decoded.
15458           https://bugzilla.gnome.org/show_bug.cgi?id=719691
15459
15460 2014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15461
15462         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15463         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15464         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15465           encoder: h264: fix hardware profile lookup.
15466           Fix lookup for a suitable HW profile, as to be used by the underlying
15467           hardware, based on heuristics that lead to characterize the SW profile,
15468           i.e. the one used by the SW level encoding logic.
15469           Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
15470           as they should respectively match the baseline and main profile.
15471           https://bugzilla.gnome.org/show_bug.cgi?id=719827
15472
15473 2014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15474
15475         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15476         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15477         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15478           encoder: h264: support only the byte-stream format.
15479           The libgstvaapi core encoders are meant to support raw bitstreams only.
15480           Henceforth, we are always producing a stream in "byte-stream" format.
15481           However, the "codec-data" buffer which holds SPS and PPS headers is
15482           always available. The "lengthSizeMinusOne" field is always set to 3
15483           so that in-place "byte-stream" format to "avc" format conversion could
15484           be performed.
15485
15486 2014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15487
15488         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15489         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15490         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15491         * gst/vaapi/gstvaapiencode_h264.c:
15492           encoder: h264: clean-ups.
15493           Various clean-ups to improve consistency and readability: rename some
15494           variables, drop unused macro definitions, drop initialization of vars
15495           that are zero-initialized from the base class, drop un-necessary casts.
15496
15497 2014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15498
15499         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15500           encoder: mpeg2: fix hardware profile lookup.
15501           Fix lookup for a suitable HW profile, as to be used by the underlying
15502           hardware, based on heuristics that lead to characterize the SW profile,
15503           i.e. the one used by the SW level encoding logic.
15504
15505 2014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15506
15507         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15508         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15509           encoder: mpeg2: derive profile and level from active coding tools.
15510           Automatically derive the minimum profile and level to be used for
15511           encoding, based on the activated coding tools. Improve lookup for
15512           the best suitable level with the new MPEG-2 helper functions.
15513           Also change the default profile to "simple" so that to ensure maximum
15514           compatibility when the stream is decoded.
15515           https://bugzilla.gnome.org/show_bug.cgi?id=719703
15516
15517 2014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15518
15519         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15520         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15521         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15522           encoder: mpeg2: clean-ups.
15523           Various clean-ups to improve consistency and readability: drop unused
15524           macro definitions, drop initialization of vars that are zero-initialized
15525           from the base class, drop un-necessary casts.
15526
15527 2014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15528
15529         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15530         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15531         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15532         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15533         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15534           encoder: add tuning options API.
15535           Add encoder "tune" option to override the default behaviour that is to
15536           favor maximum decoder compatibility at the expense of lower compression
15537           ratios.
15538           Expected tuning options to be developed are:
15539           - "high-compression": improve compression, target best-in-class decoders;
15540           - "low-latency": tune for low-latency decoding;
15541           - "low-power": tune for encoding in low power / resources conditions.
15542
15543 2014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15544
15545         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15546         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15547           encoder: fix bitrate units to match kbps.
15548           Bitrate is expressed in kilobits per second (kbps). So, this exactly
15549           means in multiple of 1000 bits, not 1024 bits.
15550           https://bugzilla.gnome.org/show_bug.cgi?id=722086
15551
15552 2014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15553
15554         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15555         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15556         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15557           encoder: clean-ups.
15558           Drop obsolete and unused macros. Add a few doc comments. Slightly
15559           improve indentation of a few leftovers.
15560
15561 2014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15562
15563         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15564         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15565         * gst-libs/gst/vaapi/gstvaapivalue.c:
15566         * gst-libs/gst/vaapi/gstvaapivalue.h:
15567           encoder: filter out the supported set of rate-control properties.
15568           Only expose the exact static set of supported rate-control properties
15569           to the upper layer. For instance, if the GstVaapiEncoderXXX class does
15570           only support CQP rate control, then only add it the the exposed enum
15571           type.
15572           Add helper macros and functions to build a GType for an enum subset.
15573
15574 2014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15575
15576         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15577         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15578         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15579         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15580         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15581         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15582         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15583         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15584         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15585           encoder: add keyframe period API.
15586           Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
15587           user control the maximum distance between two keyframes. This new
15588           property can only be set prior to gst_vaapi_encoder_set_codec_state().
15589           A value of zero for "keyframe-period" gets it re-evaluated to the
15590           actual framerate during encoder reconfiguration.
15591
15592 2014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15593
15594         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15595         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15596         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15597         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15598           encoder: improve codec reconfiguration.
15599           Improve codec reconfiguration to be performed only through a single
15600           function. That is, remove the _set_context_info() hook as subclass
15601           should not alter the parent GstVaapiContextInfo itself. Besides, the
15602           VA context is constructed only at the final stages of reconfigure().
15603
15604 2014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15605
15606         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
15607         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
15608         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15609           encoder: fix possible memory leak of coded buffer pools.
15610           Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
15611           buffer pool only if the coded buffer size actually changed.
15612
15613 2014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15614
15615         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15616         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15617         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15618         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15619         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15620         * gst/vaapi/gstvaapiencode.c:
15621         * gst/vaapi/gstvaapiencode.h:
15622           encoder: add video codec-state API.
15623           Add interface to communicate the encoder resolution and related info
15624           like framerate, interlaced vs. progressive, etc. This new interface
15625           supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
15626           but rather use GstVideoCodecState.
15627           Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
15628           point for codec config. This means that the encoder is reconfigured
15629           there to match the latest properties.
15630
15631 2014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15632
15633         * gst/vaapi/gstvaapiencode.c:
15634           vaapiencode: don't crash on NULL encoder on _finish().
15635           Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
15636           if it was not created in the first place. Return "not-negotiated" error
15637           since this means we did not even reach GstVideoEncoder::set_format(),
15638           where the encoder could have been created.
15639           This fixes a crash when the vaapiencode_* plug-in elements get deallocated
15640           and that we failed to negotiate either pad.
15641           https://bugzilla.gnome.org/show_bug.cgi?id=719704
15642
15643 2014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15644
15645         * gst/vaapi/gstvaapiencode.c:
15646         * gst/vaapi/gstvaapiencode.h:
15647         * gst/vaapi/gstvaapiencode_h264.c:
15648           vaapiencode: use more GstVaapiPluginBase facilities.
15649           Avoid duplication of pad references or query functions since they are
15650           provided through the GstVaapiPluginBase object.
15651
15652 2014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15653
15654         * gst/vaapi/gstvaapiencode.c:
15655         * gst/vaapi/gstvaapiencode.h:
15656         * gst/vaapi/gstvaapiencode_h264.c:
15657         * gst/vaapi/gstvaapiencode_h264.h:
15658         * gst/vaapi/gstvaapiencode_mpeg2.c:
15659           vaapiencode: fix negotiation process of output caps.
15660           The specified caps in gst_video_encoder_set_output_state() function
15661           arguments should not contain any resolution, pixel-aspect-ratio,
15662           framerate, codec-data et al. Those rather should be set through the
15663           returned GstVideoCodecState. This means that output caps creation
15664           could be delayed until before gst_video_encoder_finish_frame() is
15665           called.
15666           This greatly simplifies the GstVideoEncoder::set_format() callback
15667           by the way.
15668
15669 2014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15670
15671         * gst/vaapi/gstvaapiencode.c:
15672           vaapiencode: make GstVaapiEncode an abstract type.
15673           Make base GstVaapiEncode class an abstract type so that we cannot
15674           create an instance from it without going through any of the codec
15675           specific derived class.
15676
15677 2014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15678
15679         * gst/vaapi/gstvaapiencode.c:
15680         * gst/vaapi/gstvaapiencode.h:
15681         * gst/vaapi/gstvaapiencode_h264.c:
15682         * gst/vaapi/gstvaapiencode_mpeg2.c:
15683           vaapiencode: rename a few member functions.
15684           Rename a few member functions to make them more consistent:
15685           - alloc_encoder(): now reduced to allocate the encoder object only;
15686           - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
15687
15688 2014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15689
15690         * gst/vaapi/gstvaapiencode.c:
15691         * gst/vaapi/gstvaapiencode.h:
15692         * gst/vaapi/gstvaapiencode_h264.c:
15693         * gst/vaapi/gstvaapiencode_h264.h:
15694         * gst/vaapi/gstvaapiencode_mpeg2.c:
15695           vaapiencode: update for new properties API.
15696           Update MPEG-2 and H.264 encode elements to cope with the new core
15697           libgstvaapi properties API. i.e. all configurable properties are now
15698           directly handled at the GstVaapiEncoder level.
15699           Besides, this also makes sure to not use or modify the GstVaapiEncoder
15700           private definitions directly. Private data need to remain private.
15701           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15702
15703 2014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15704
15705         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15706         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15707         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15708         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15709         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15710         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
15711         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15712           encoder: add properties API.
15713           Add interface to communicate configurable properties to the encoder.
15714           This covers both the common ones (rate-control, bitrate), and the
15715           codec specific properties.
15716           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15717
15718 2014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15719
15720         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15721         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15722         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15723         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15724         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15725         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15726         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15727         * gst/vaapi/gstvaapiencode.c:
15728         * gst/vaapi/gstvaapiencode_h264.c:
15729         * gst/vaapi/gstvaapiencode_mpeg2.c:
15730           encoder: add bitrate API.
15731           Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
15732           the bitrate for encoding. Currently, changing this parameter is only
15733           valid before the first frame is encoded. Should the value be modified
15734           afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
15735           returned.
15736           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15737
15738 2014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15739
15740         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15741         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15742         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15743         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15744         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
15745         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15746         * gst-libs/gst/vaapi/gstvaapitypes.h:
15747         * gst/vaapi/gstvaapiencode.c:
15748         * gst/vaapi/gstvaapiencode.h:
15749         * gst/vaapi/gstvaapiencode_h264.c:
15750         * gst/vaapi/gstvaapiencode_mpeg2.c:
15751           encoder: add rate control API.
15752           Add gst_vaapi_encoder_set_rate_control() interface to request a new
15753           rate control mode for encoding. Changing the rate control mode is
15754           only valid prior to encoding the very first frame. Afterwards, an
15755           error ("operation-failed") is issued.
15756           https://bugzilla.gnome.org/show_bug.cgi?id=719529
15757
15758 2014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15759
15760         * gst/vaapi/gstvaapiencode.c:
15761         * gst/vaapi/gstvaapiencode_h264.c:
15762         * gst/vaapi/gstvaapiencode_mpeg2.c:
15763           vaapiencode: fix indentation.
15764
15765 2014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15766
15767         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15768         * gst-libs/gst/vaapi/gstvaapiencoder.h:
15769         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15770         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
15771         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
15772         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
15773         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
15774         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
15775         * gst/vaapi/gstvaapiencode.h:
15776           encoder: fix indentation.
15777
15778 2014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15779
15780         * gst-libs/gst/vaapi/Makefile.am:
15781         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
15782         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
15783         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
15784           utils: add new MPEG-2 helper functions.
15785           Add various helper functions to convert profile, level, chroma formats
15786           from gstreamer-vaapi world and the MPEG-2 specification world.
15787
15788 2014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15789
15790         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15791           utils: h264: don't use fatal asserts.
15792           Replace g_assert() with a g_debug() so that to not make the program
15793           abort when an unsupported value is supplied.
15794
15795 2014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15796
15797         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15798         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
15799           utils: h264: add helpers for profile and level string mappings.
15800           Add profile and level helper functions to convert to/from strings.
15801
15802 2014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15803
15804         * gst-libs/gst/vaapi/Makefile.am:
15805         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15806         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
15807         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
15808         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
15809           utils: h264: expose levels in public header.
15810           Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
15811           H.264 levels in there. The additional helper functions are meant
15812           to be private for now.
15813
15814 2014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15815
15816         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
15817         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
15818         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15819         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15820           codec: add helper macros to maintain object refcount.
15821           Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
15822           to avoid explicit casts to GstVaapiMiniObject in all caller sites.
15823
15824 2014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15825
15826         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15827         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15828           codec: re-indent decoder objects.
15829
15830 2014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15831
15832         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
15833         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
15834           codec: re-indent base codec objects.
15835
15836 2014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15837
15838         * gst/vaapi/gstvaapipluginbase.c:
15839           plugins: do not free debug category in finalize method.
15840           Fixes a crash when multiple vaapidecode elements are finalized since
15841           the debug category is created once in the class init method.
15842           This is a regression from git commit 7e58d60.
15843           https://bugzilla.gnome.org/show_bug.cgi?id=721390
15844           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15845
15846 2014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15847
15848         * gst-libs/gst/vaapi/glibcompat.h:
15849         * tests/simple-decoder.c:
15850           tests: simple-decoder: don't use deprecated g_thread_create().
15851           Use g_thread_try_new() instead of the deprecated g_thread_create()
15852           function. Provide compatibility glue for any GLib version < 2.31.2.
15853
15854 2014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15855
15856         * gst-libs/gst/vaapi/gstvaapidecoder.c:
15857         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
15858         * gst-libs/gst/vaapi/gstvaapisurface.c:
15859         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
15860         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
15861         * gst/vaapi/gstvaapiencode.c:
15862           Fix printf()-like formats.
15863           Fix formts for various GST_DEBUG et al. invocations. More precisely,
15864           make size_t arguments use the %zu format specifier accordingly; force
15865           XID formats to be a 32-bit unsigned integer; and fix the format used
15866           for gst_vaapi_create_surface_with_format() error cases since we have
15867           been using strings nowadays.
15868
15869 2013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15870
15871         * gst-libs/gst/vaapi/video-format.c:
15872         * gst-libs/gst/vaapi/video-format.h:
15873           utils: format: drop unused helper functions.
15874           The following helper functions are no longer used, thus are removed:
15875           - gst_vaapi_video_format_from_structure()
15876           - gst_vaapi_video_format_from_caps()
15877           - gst_vaapi_video_format_to_caps()
15878
15879 2013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15880
15881         * gst-libs/gst/vaapi/video-format.c:
15882         * gst-libs/gst/vaapi/video-format.h:
15883           utils: re-indent GstVideoFormat related helpers.
15884
15885 2013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15886
15887         * gst/vaapi/gstvaapidownload.c:
15888           download: use GstVideoInfo facilities to build output caps.
15889           Use standard GstVideoInfo related functions to build the output caps,
15890           thus directly preserving additional fields as needed, instead of
15891           manually copying them over through gst_vaapi_append_surface_caps().
15892           Also ensure that the input caps are fixated first.
15893
15894 2013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15895
15896         * gst/vaapi/gstvaapidownload.c:
15897         * gst/vaapi/gstvaapipluginutil.c:
15898         * gst/vaapi/gstvaapipluginutil.h:
15899         * gst/vaapi/gstvaapiuploader.c:
15900           plugins: factor out construction of template caps.
15901           Add new helper functions to build video template caps.
15902           - gst_vaapi_video_format_new_template_caps():
15903           create GstCaps with size, frame rate and PAR to full range
15904           - gst_vaapi_video_format_new_template_caps_from_list():
15905           try to create a "simplified" list from the supplied formats
15906
15907 2013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15908
15909         * gst/vaapi/gstvaapipluginutil.c:
15910         * gst/vaapi/gstvaapipluginutil.h:
15911         * gst/vaapi/gstvaapipostproc.c:
15912           plugins: factor out construction of GValue from GstVideoFormat.
15913           Add new helper functions to build GValues from GstVideoFormat:
15914           - gst_vaapi_value_set_format():
15915           build a GValue from the supplied video format
15916           - gst_vaapi_value_set_format_list():
15917           build a GValue list from the supplied array of video formats
15918
15919 2013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15920
15921         * gst/vaapi/gstvaapipluginutil.c:
15922         * gst/vaapi/gstvaapipluginutil.h:
15923         * gst/vaapi/gstvaapivideocontext.c:
15924         * gst/vaapi/gstvaapivideocontext.h:
15925           plugins: re-indent common and video context creation utils.
15926
15927 2013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15928
15929         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15930         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15931         * gst/vaapi/gstvaapidecode.c:
15932         * tests/test-display.c:
15933           display: don't use GstCaps for decode or encode profiles list.
15934           Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
15935           more convenient APIs that return an array of GstVaapiProfile instead
15936           of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
15937
15938 2013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15939
15940         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15941         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15942         * gst/vaapi/gstvaapidownload.c:
15943         * gst/vaapi/gstvaapiuploader.c:
15944         * tests/test-display.c:
15945           display: don't use GstCaps for image or subpicture formats list.
15946           Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
15947           returned GstCaps, with more convenient APIs that return an array of
15948           GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
15949
15950 2013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15951
15952         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15953         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15954         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
15955           display: allocate queried resources on-demand.
15956           Allocate the set of decoders or encoders on-demand, when they are
15957           queried. Likewise for VA display attributes, image and subpicture
15958           formats.
15959
15960 2013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15961
15962         * gst-libs/gst/vaapi/gstvaapidisplay.c:
15963         * gst-libs/gst/vaapi/gstvaapidisplay.h:
15964         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
15965         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
15966         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
15967         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
15968         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
15969         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
15970         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
15971         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
15972         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
15973         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
15974         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
15975         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
15976         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
15977         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
15978         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
15979           display: re-indent all GstVaapiDisplay related source code.
15980
15981 2013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15982
15983         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15984         * gst-libs/gst/vaapi/gstvaapiprofile.h:
15985           utils: add helper functions to get codec or profile name.
15986
15987 2013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15988
15989         * gst/vaapi/gstvaapipostproc.c:
15990         * gst/vaapi/gstvaapipostproc.h:
15991         * gst/vaapi/gstvaapiuploader.c:
15992           plugins: fix permissions for certain files.
15993           Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
15994           files.
15995
15996 2013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
15997
15998         * gst/vaapi/gstvaapivideometa_texture.c:
15999           plugins: implement GLTextureUploadMeta user data copy.
16000           Makes the copies of a buffer reference their own GLTextureUploadMeta
16001           user data and prevent the original buffer accessing already freed
16002           memory if its copies has been released and freed.
16003           https://bugzilla.gnome.org/show_bug.cgi?id=720336
16004           [Propagate the original meta texture to the copy too]
16005           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16006
16007 2013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16008
16009         * gst/vaapi/gstvaapiencode.c:
16010         * gst/vaapi/gstvaapiencode.h:
16011         * gst/vaapi/gstvaapipluginbase.c:
16012         * gst/vaapi/gstvaapipluginbase.h:
16013         * gst/vaapi/gstvaapipostproc.c:
16014         * gst/vaapi/gstvaapipostproc.h:
16015         * gst/vaapi/gstvaapisink.c:
16016         * gst/vaapi/gstvaapisink.h:
16017           plugins: factor out support for raw YUV buffers on sink pads.
16018           Factor out propose_allocation() hooks, creation of video buffer pool
16019           for the sink pad, conversion from raw YUV buffers to VA surface backed
16020           buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
16021           with the new GstVaapiPluginBase abilities.
16022
16023 2013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16024
16025         * gst-libs/gst/vaapi/gstcompat.h:
16026         * gst/vaapi/gstvaapidecode.c:
16027         * gst/vaapi/gstvaapidecode.h:
16028         * gst/vaapi/gstvaapidownload.c:
16029         * gst/vaapi/gstvaapipluginbase.c:
16030         * gst/vaapi/gstvaapipluginbase.h:
16031         * gst/vaapi/gstvaapipostproc.c:
16032         * gst/vaapi/gstvaapipostproc.h:
16033         * gst/vaapi/gstvaapisink.c:
16034         * gst/vaapi/gstvaapiupload.c:
16035           plugins: factor out pad caps.
16036
16037 2013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16038
16039         * gst/vaapi/gstvaapidecode.c:
16040         * gst/vaapi/gstvaapidownload.c:
16041         * gst/vaapi/gstvaapiencode.c:
16042         * gst/vaapi/gstvaapipluginbase.c:
16043         * gst/vaapi/gstvaapipostproc.c:
16044         * gst/vaapi/gstvaapisink.c:
16045         * gst/vaapi/gstvaapiupload.c:
16046           plugins: factor out video context sharing code.
16047
16048 2013-12-13 13:24:24 +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/gstvaapipostproc.c:
16056         * gst/vaapi/gstvaapisink.c:
16057         * gst/vaapi/gstvaapiupload.c:
16058           plugins: factor out GstImplementsInterface.
16059
16060 2013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16061
16062         * gst-libs/gst/vaapi/gstvaapidisplay.c:
16063         * gst-libs/gst/vaapi/gstvaapidisplay.h:
16064         * gst/vaapi/gstvaapipluginbase.c:
16065         * gst/vaapi/gstvaapipluginutil.c:
16066           plugins: check type of display obtained from neighbours.
16067           Fix display creation code to check that any display obtained from a
16068           neighbour actually has the type we expect. Note: if display type is
16069           set to "any", we can then accept any VA display type.
16070
16071 2013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16072
16073         * gst/vaapi/gstvaapidecode.c:
16074         * gst/vaapi/gstvaapidownload.c:
16075         * gst/vaapi/gstvaapiencode.c:
16076         * gst/vaapi/gstvaapipluginbase.c:
16077         * gst/vaapi/gstvaapipluginbase.h:
16078         * gst/vaapi/gstvaapipluginutil.c:
16079         * gst/vaapi/gstvaapipluginutil.h:
16080         * gst/vaapi/gstvaapipostproc.c:
16081         * gst/vaapi/gstvaapisink.c:
16082         * gst/vaapi/gstvaapisink.h:
16083         * gst/vaapi/gstvaapiupload.c:
16084           plugins: factor out display creation process.
16085           Move common VA display creation code to GstVaapiPluginBase, with the
16086           default display type remaining "any". Also add a "display-changed"
16087           hook so that subclasses could perform additional tasks when/if the
16088           VA display changed, due to a new display type request for instance.
16089           All plug-ins are updated to cope with the new internal APIs.
16090
16091 2013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16092
16093         * gst/vaapi/Makefile.am:
16094         * gst/vaapi/gstvaapidecode.c:
16095         * gst/vaapi/gstvaapidecode.h:
16096         * gst/vaapi/gstvaapidownload.c:
16097         * gst/vaapi/gstvaapidownload.h:
16098         * gst/vaapi/gstvaapiencode.c:
16099         * gst/vaapi/gstvaapiencode.h:
16100         * gst/vaapi/gstvaapipluginbase.c:
16101         * gst/vaapi/gstvaapipluginbase.h:
16102         * gst/vaapi/gstvaapipostproc.c:
16103         * gst/vaapi/gstvaapipostproc.h:
16104         * gst/vaapi/gstvaapisink.c:
16105         * gst/vaapi/gstvaapisink.h:
16106         * gst/vaapi/gstvaapiupload.c:
16107         * gst/vaapi/gstvaapiupload.h:
16108           plugins: add new base object, store display in there.
16109           Introduce a new GstVaapiPluginBase object that will contain all common
16110           data structures and perform all common tasks. First step is to have a
16111           single place to hold VA displays.
16112           While we are at it, also make sure to store and subsequently release
16113           the appropriate debug category for the subclasses.
16114
16115 2013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16116
16117         * gst-libs/gst/vaapi/gstvaapiobject.h:
16118         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16119         * gst/vaapi/gstvaapivideometa_texture.c:
16120         * gst/vaapi/gstvaapivideometa_texture.h:
16121           plugins: fix GLTextureUploadMeta to work with different texture ids.
16122           The GLTextureUploadMeta implementation assumed that for each upload()
16123           sequence, the supplied texture id is always the same as the one that
16124           was previously cached into the underlying GstVaapiTexture. Cope with
16125           any texture id change the expense to recreate the underlying VA/GLX
16126           resources.
16127           https://bugzilla.gnome.org/show_bug.cgi?id=719643
16128
16129 2013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16130
16131         * gst/vaapi/gstvaapidecode.c:
16132         * gst/vaapi/gstvaapivideobufferpool.c:
16133         * gst/vaapi/gstvaapivideometa_texture.c:
16134           plugins: allow builds without GLX enabled for GStreamer 1.2.
16135           Don't try to build GLTextureUploadMeta related code if GLX is not
16136           enabled during GStreamer >= 1.2 builds.
16137
16138 2013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
16139
16140         * gst/vaapi/gstvaapidecode.c:
16141         * gst/vaapi/gstvaapivideobufferpool.c:
16142         * gst/vaapi/gstvaapivideobufferpool.h:
16143         * gst/vaapi/gstvaapivideometa_texture.c:
16144         * gst/vaapi/gstvaapivideometa_texture.h:
16145           plugins: request GLTextureUpload meta on buffers in the buffer pool.
16146           Requesting the GLTextureUpload meta on buffers in the bufferpool
16147           prevents such metas from being de-allocated when buffers are released
16148           in the sink.
16149           This is particulary useful in terms of performance when using the
16150           GLTextureUploadMeta API since the GstVaapiTexture associated with
16151           the target texture is stored in the meta.
16152           https://bugzilla.gnome.org/show_bug.cgi?id=712558
16153           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16154
16155 2013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16156
16157         * gst/vaapi/gstvaapivideometa_texture.c:
16158           plugins: robustify GstVideoGLTextureUploadMeta implementation.
16159           Make GstVideoGLTextureUploadMeta::upload() implementation more robust
16160           when the GstVaapiTexture associated with the supplied texture id could
16161           not be created.
16162
16163 2013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16164
16165         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16166           h264: improve robustness when packets are missing.
16167           Improve robustness when some expected packets where not received yet
16168           or that were not correctly decoded. For example, don't try to decode
16169           a picture if there was no valid frame headers parsed so far.
16170           https://bugs.freedesktop.org/show_bug.cgi?id=57902
16171
16172 2013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16173
16174         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16175           decoder: h264: fix decoding of BA3_SVA_C.264.
16176           Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
16177           extended profile specifications. However, the SPS header has the
16178           constraint_set1_flag syntax element set to 1. This means that, if
16179           a Main profile compliant decoder is available, then it should be
16180           able to decode this stream.
16181           This changes makes it possible to fall-back from Extended profile
16182           to Main profile if constraint_set1_flag is set to 1.
16183           https://bugzilla.gnome.org/show_bug.cgi?id=720190
16184
16185 2013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16186
16187         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16188         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16189           utils: h264: add more profiles.
16190           Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
16191           profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
16192           multiview profiles (H.10.1.1, H.10.1.2).
16193           Document "Constrained Baseline" and "High 10" profiles.
16194
16195 2013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16196
16197         * ext/codecparsers:
16198           codecparsers: update to gst-vaapi-branch commit e7d0e18.
16199           e7d0e18 h264: complete set of NAL unit types
16200
16201 2013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
16202
16203         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16204         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16205           decoder: h264: add support for constrained baseline profile.
16206           Recognize streams marked as conforming to the "Constrained Baseline
16207           Profile". If VA driver supports that as is, fine. Otherwise, fallback
16208           to baseline, main or high profile.
16209           Constrained Baseline Profile conveys coding tools that are common
16210           to baseline profile and main profile.
16211           https://bugzilla.gnome.org/show_bug.cgi?id=719947
16212           [Added fallbacks to main and high profiles]
16213           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16214
16215 2013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16216
16217         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16218           decoder: h264: fix decoding of scaling lists.
16219           The GStreamer codecparser layer now parses the scaling lists in zigzag
16220           scan order, as expected, so that to match the original bitstream layout
16221           and specification. However, further convert the scaling lists into
16222           raster scan order to fit the existing practice in most VA drivers.
16223           https://bugzilla.gnome.org/show_bug.cgi?id=706406
16224
16225 2013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16226
16227         * ext/codecparsers:
16228           codecparsers: update to gst-vaapi-branch commit 177c73b.
16229           a7e3255 add H.265 (HEVC) bitstream parser
16230           177c73b h264: fix picture level scaling lists derivation (rule B)
16231           14733f1 h264: fix parsing of VCL HRD parameters
16232           59a0b47 h264: store quantization matrices in zig-zag order
16233           ffb6e26 h264: add helpers to convert quantization matrices
16234           c78a504 mpeg2: also initialize debug category in parse_sequence_header()
16235           719d1b0 mpeg2: turn internal consistency check into a g_assert()
16236           5241d8e all: remove some unused functions
16237           18eb312 all: fix for GST_DISABLE_GST_DEBUG
16238           963c04a all: make warnings more meaningful
16239
16240 2013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16241
16242         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16243         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16244         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
16245           utils: add helpers for H.264 levels.
16246           - gst_vaapi_utils_h264_get_level():
16247           Returns GstVaapiLevelH264 from H.264 level_idc value
16248           - gst_vaapi_utils_h264_get_level_idc():
16249           Returns H.264 level_idc value from GstVaapiLevelH264
16250           - gst_vaapi_utils_h264_get_level_limits():
16251           Returns level limits as specified in Table A-1 of the H.264 standard
16252           - gst_vaapi_utils_h264_get_level_limits_table():
16253           Returns the Table A-1 specification
16254
16255 2013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16256
16257         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16258         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16259         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
16260           utils: add new H.264 profiles.
16261           Add "Constrained Baseline Profile" and "High 10 Profile" definitions
16262           and helper functiions.
16263
16264 2013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16265
16266           utils: add new H.264 helper functions.
16267           * Profiles:
16268           - gst_vaapi_utils_h264_get_profile():
16269           Returns GstVaapiProfile from H.264 profile_idc value
16270           - gst_vaapi_utils_h264_get_profile_idc():
16271           Returns H.264 profile_idc value from GstVaapiProfile
16272           * Chroma formats:
16273           - gst_vaapi_utils_h264_get_chroma_type():
16274           Returns GstVaapiChromaType from H.264 chroma_format_idc value
16275           - gst_vaapi_utils_h264_get_chroma_format_idc():
16276           Returns H.264 chroma_format_idc value from GstVaapiChromaType
16277
16278 2013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
16279
16280         * gst-libs/gst/base/Makefile.am:
16281         * gst-libs/gst/vaapi/Makefile.am:
16282           Fix missing files in distribution tarball.
16283           https://bugzilla.gnome.org/show_bug.cgi?id=719776
16284           [Additional fixes and clean-ups]
16285           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16286
16287 2013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16288
16289         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16290         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16291           encoder: fix computation of max coded buffer size (again).
16292           The previous fix was only valid to express the maximum size of the
16293           macroblock layer, i.e. without any headers. Now, also account for
16294           the slice headers and top picture header, but also any other header
16295           we might stuff into the VA coded buffer, e.g. sequence headers.
16296
16297 2013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16298
16299         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16300         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16301         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16302           encoder: fix computation of max coded buffer size.
16303           Fix coded buffer size for each codec. A generic issue was that the
16304           number of macroblocks was incorrectly computed. The second issue was
16305           specific to MPEG-2 were the max number of bits per macroblock, and
16306           as defined by the standard, was incorrectly mapped to the (lower)
16307           H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
16308
16309 2013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16310
16311         * gst-libs/gst/vaapi/gstvaapiencoder.c:
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           encoder: simplify VA context initialization process.
16316           Change get_context_info() into a set_context_info() function that
16317           initializes common defaults into the base class, thus allowing the
16318           subclasses to specialize the context info further on.
16319           The set_context_info() hook is also the location where additional
16320           context specific data could be initialized. At this point, we are
16321           guaranteed to have valid video resolution size and framerate. i.e.
16322           gst_vaapi_encoder_set_format() was called beforehand.
16323
16324 2013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
16325
16326         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16327           encoder: fix mpeg2 compilation error.
16328           https://bugzilla.gnome.org/show_bug.cgi?id=719746
16329           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16330
16331 2013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16332
16333         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16334         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16335         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16336         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16337         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16338         * gst/vaapi/gstvaapiencode.c:
16339           encoder: clean-ups and document public APIs.
16340           Clean public APIs up so that to better align with the decoder APIs.
16341           Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
16342           return the VA coded buffer proxy. Also provide useful documentation
16343           for the public APIs.
16344
16345 2013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16346
16347         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16348         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16349         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16350           encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
16351           Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
16352           allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
16353           through GstVaapiCodedBufferProxy user-data facility.
16354           Besides, use a GAsyncQueue to maintain a thread-safe queue object of
16355           coded buffers.
16356           Partial fix for the following report:
16357           https://bugzilla.gnome.org/show_bug.cgi?id=719530
16358
16359 2013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16360
16361         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16362         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16363         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16364         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16365         * gst/vaapi/gstvaapiencode.c:
16366           encoder: refactor status codes.
16367           Drop obsolete or unused status codes. Align some status codes with the
16368           decoder counterparts.
16369
16370 2013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16371
16372         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16373         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16374         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
16375         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16376         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
16377         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16378           encoder: fix subclassing process.
16379           Fix the GstVaapiEncoderClass parent class type. Make sure to validate
16380           subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
16381           thus avoiding useless run-time checks. Also simplify the subclass
16382           initialization process to be less error prone.
16383
16384 2013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16385
16386           encoder: rework GstVaapiCodedBuffer and related proxy.
16387           Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
16388           public and private interfaces. Besides, the map/unmap APIs should not
16389           be exposed as is but appropriate accessors should be provided instead.
16390           * GstVaapiCodedBuffer: VA coded buffer abstraction
16391           - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
16392           - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
16393           * GstVaapiCodedBufferPool: pool of VA coded buffer objects
16394           - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
16395           the specified max size, and bound to the supplied encoder
16396           * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
16397           - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
16398           - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
16399           - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
16400           Rationale: more optimized transfer functions might be provided in the
16401           future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
16402           https://bugzilla.gnome.org/show_bug.cgi?id=719775
16403
16404 2013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16405
16406         * gst/vaapi/gstvaapidecode.c:
16407         * gst/vaapi/gstvaapiencode.c:
16408         * gst/vaapi/gstvaapipostproc.c:
16409         * gst/vaapi/gstvaapisink.c:
16410           plugins: fix reference leaks of VA display objects.
16411           Fix GstElement::set_context() implementation for all plug-in elements
16412           to avoid leaking an extra reference to the VA display, thus preventing
16413           correct cleanup of VA resources in GStreamer 1.2 builds.
16414
16415 2013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16416
16417         * gst/vaapi/gstvaapipluginutil.c:
16418         * gst/vaapi/gstvaapivideocontext.c:
16419           plugins: simplify gst_vaapi_ensure_display().
16420           Return earlier if the creation of a VA display failed. Likewise, simplify
16421           gst_vaapi_video_context_propagate() now that we are guaranteed to have a
16422           valid VA display.
16423
16424 2013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16425
16426         * gst/vaapi/gstvaapivideomemory.c:
16427           plugins: fix memory leaks through GstVideoMeta maps.
16428           When GstVideoMeta maps were used, the supporting functions incorrectly
16429           used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
16430           always increasing the associated GstMemory reference count and giving
16431           zero chance to actually release that, and subsequently the VA display.
16432
16433 2013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16434
16435         * gst-libs/gst/vaapi/gstvaapifilter.c:
16436         * gst/vaapi/gstvaapiencode_h264.c:
16437         * gst/vaapi/gstvaapiencode_mpeg2.c:
16438         * gst/vaapi/gstvaapipostproc.c:
16439         * gst/vaapi/gstvaapisink.c:
16440         * gst/vaapi/gstvaapiuploader.c:
16441           plugins: use G_PARAM_STATIC_STRINGS.
16442           This avoids a few string copies during initialization.
16443
16444 2013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16445
16446         * gst/vaapi/gstvaapivideometa.c:
16447           plugins: simplify VA video meta to only reference surface proxies.
16448           Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
16449           now allocated from a surface pool. This also means that the local
16450           reference to the VA surface is also gone, as it could be extracted
16451           from the associated surface proxy.
16452
16453 2013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16454
16455         * gst/vaapi/gstvaapivideobuffer.c:
16456         * gst/vaapi/gstvaapivideobuffer.h:
16457         * gst/vaapi/gstvaapivideometa.c:
16458         * gst/vaapi/gstvaapivideometa.h:
16459           plugins: drop obsolete functions.
16460           Drop the following functions that are not longer used:
16461           - gst_vaapi_video_buffer_new_with_surface()
16462           - gst_vaapi_video_meta_new_with_surface()
16463           - gst_vaapi_video_meta_set_surface()
16464           - gst_vaapi_video_meta_set_surface_from_pool()
16465
16466 2013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16467
16468         * gst/vaapi/gstvaapivideometa.c:
16469           plugins: allow VA video meta to be allocated from surface proxy pools.
16470           Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
16471           from surface pools instead of plain VA surfaces. This is to simplify
16472           allocations now that surface proxies are created from a surface pool.
16473
16474 2013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16475
16476         * docs/reference/libs/libs-sections.txt:
16477         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
16478         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
16479         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
16480           surfaceproxy: add copy function.
16481           Add gst_vaapi_surface_proxy_copy() function that creates a new surface
16482           proxy with the same information from the parent proxy, except that the
16483           user-defined destroy notify function is not copied over.
16484           The underlying VA surface is pushed back to the video pool only when
16485           the last reference to the parent surface proxy is released.
16486
16487 2013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16488
16489         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
16490         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
16491         * gst/vaapi/gstvaapiencode.c:
16492           vaapiencode: optimize _handle_frame() to avoid extra allocation.
16493           Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
16494           and in particular the GstVaapiEncObjUserData object. i.e. directly use
16495           the VA surface proxy from the source buffer. This also makes the user
16496           data attached to the GstVideoCodecFrame more consistent between both
16497           the decoder and encoder plug-in elements.
16498
16499 2013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16500
16501         * gst/vaapi/gstvaapiencode.c:
16502           vaapiencode: fix memory leaks in _push_frame() on error.
16503           Simplify gst_vaapiencode_push_frame(), while also removing the call
16504           to gst_video_encoder_negotiate() since this is implicit in _finish()
16505           if caps changed. Also fixed memory leaks that occured on error.
16506
16507 2013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16508
16509         * gst/vaapi/gstvaapiencode.c:
16510         * gst/vaapi/gstvaapiencode.h:
16511         * gst/vaapi/gstvaapiencode_h264.c:
16512         * gst/vaapi/gstvaapiencode_h264.h:
16513         * gst/vaapi/gstvaapiencode_mpeg2.c:
16514           vaapiencode: additional clean-ups.
16515           Constify pointers wherever possible. Drop unused variables, and use
16516           consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
16517           to correctly report errors, especially when in-place conversion from
16518           bytestream to avcC format failed.
16519
16520 2013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16521
16522         * gst/vaapi/gstvaapiencode.c:
16523         * gst/vaapi/gstvaapiencode.h:
16524         * gst/vaapi/gstvaapiencode_h264.c:
16525         * gst/vaapi/gstvaapiencode_h264.h:
16526         * gst/vaapi/gstvaapiencode_mpeg2.c:
16527         * gst/vaapi/gstvaapiencode_mpeg2.h:
16528           vaapiencode: move common properties to base class.
16529           Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
16530           base class. The actual range of supported rate control modes is currently
16531           implemented as a plug-in element hook. This ought to be determined from
16532           the GstVaapiEncoder object instead, i.e. from libgstvaapi.
16533
16534 2013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16535
16536         * gst/vaapi/gstvaapiencode_h264.c:
16537         * gst/vaapi/gstvaapiencode_mpeg2.c:
16538           vaapiencode: fix plugin description and debug name.
16539           Align the plug-in debug category to its actual name. i.e. enable debug
16540           logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
16541           the plug-in element description to make it more consistent with other
16542           VA-API plug-ins.
16543
16544 2013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16545
16546         * configure.ac:
16547         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16548         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16549         * gst-libs/gst/video/Makefile.am:
16550         * gst/vaapi/gstvaapiencode.c:
16551         * gst/vaapi/gstvaapiencode.h:
16552         * gst/vaapi/gstvaapiencode_h264.c:
16553         * gst/vaapi/gstvaapiencode_mpeg2.c:
16554           vaapiencode: add initial support for GStreamer 0.10.
16555
16556 2013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16557
16558         * gst-libs/gst/vaapi/gstcompat.h:
16559           libs: add more GstBuffer compat glue for GStreamer 0.10.
16560           Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
16561           Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
16562           notify function.
16563
16564 2013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16565
16566         * configure.ac:
16567         * gst-libs/gst/video/Makefile.am:
16568           libs: always use built-in videoutils for GStreamer 0.10.
16569           GStreamer 0.10.36 is the latest and ultimate version to be released
16570           from the GStreamer 0.10 branch. i.e. no further releases are to be
16571           made. So, we can safely enable the built-in videoutils replacement
16572           now that they are in sync with the 0.10 branch.
16573
16574 2013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16575
16576         * ext/videoutils:
16577           videoutils: update to master commit d4a15a5.
16578           d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
16579           86096cc videodecoder: minor cosmetic changes to align a bit more with master
16580           b4b8b52 videodecoder: allow parse function to not use all data on adapter
16581           2145495 videodecoder: warn if frame list gets long
16582           36c3753 videodecoder: Also use the object lock to protect the output_state
16583           518c93d videodecoder: fix seeking again
16584           185fb63 video: Correct usage of the base class stream lock
16585           170e944 videodecoder: Expose _negotiate function
16586
16587 2013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
16588
16589         * configure.ac:
16590         * gst-libs/gst/vaapi/Makefile.am:
16591         * tests/Makefile.am:
16592           Fix build with GStreamer >= 1.3.
16593           http://bugzilla.gnome.org/show_bug.cgi?id=715183
16594           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16595
16596 2013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16597
16598         * configure.ac:
16599           configure: disable encoders with GStreamer 0.10.
16600           Don't try to build video encoders for GStreamer 0.10. Support code is
16601           not there yet, and probably will never for such an ancient version.
16602
16603 2013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16604
16605         * gst/vaapi/gstvaapiencode.c:
16606           vaapiencode: fix error handling while allocating output buffers.
16607           Fix default GstVideoEncoder::allocate_buffer() implementation to properly
16608           unmap the coded buffer prior to returning an error.
16609
16610 2013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16611
16612         * gst/vaapi/gstvaapiencode.c:
16613           vaapiencode: fix error handling in _finish() hook.
16614           Fix GstVideoEncoder::finish() implementation to really return possible
16615           errors instead of GST_FLOW_OK. That is, fix check for timeout status.
16616
16617 2013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16618
16619         * gst/vaapi/gstvaapiencode.c:
16620         * gst/vaapi/gstvaapiencode.h:
16621         * gst/vaapi/gstvaapiencode_h264.c:
16622         * gst/vaapi/gstvaapiencode_h264.h:
16623         * gst/vaapi/gstvaapiencode_mpeg2.c:
16624         * gst/vaapi/gstvaapiencode_mpeg2.h:
16625           vaapiencode: minor clean-ups.
16626           Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
16627           the GObject type system. We are guaranteed to only deal with the same
16628           plug-in element object.
16629
16630 2013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16631
16632         * gst/vaapi/gstvaapiencode.c:
16633         * gst/vaapi/gstvaapiencode_h264.c:
16634         * gst/vaapi/gstvaapiencode_mpeg2.c:
16635           vaapiencode: fix support for raw YUV sink buffers.
16636           Allow vaapiencode plug-in elements to encode from raw YUV buffers.
16637           The most efficient way to do so is to let the vaapiencode elements
16638           allocate a buffer pool, and subsequently buffers from it. This means
16639           that upstream elements are expected to honour downstream pools.
16640           If upstream elements insist on providing their own allocated buffers
16641           to the vaapiencode elements, then it possibly would be more efficient
16642           to insert a vaapipostproc element before the vaapiencode element.
16643           This is because vaapipostproc currently has better support than other
16644           elements for "foreign" raw YUV buffers.
16645
16646 2013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16647
16648         * gst/vaapi/gstvaapiencode.c:
16649           vaapiencode: fix support for GStreamer 1.2.
16650
16651 2013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
16652
16653         * gst/vaapi/gstvaapiencode.c:
16654         * gst/vaapi/gstvaapiencode_h264.c:
16655         * gst/vaapi/gstvaapiencode_mpeg2.c:
16656           vaapiencode: initial port to GStreamer 1.2.
16657           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16658
16659 2013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
16660
16661         * gst/vaapi/Makefile.am:
16662         * gst/vaapi/gstvaapi.c:
16663         * gst/vaapi/gstvaapiencode_mpeg2.c:
16664         * gst/vaapi/gstvaapiencode_mpeg2.h:
16665           plugins: add mpeg2 encoder element.
16666           Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
16667           is called "vaapiencode_mpeg2".
16668           Valid properties:
16669           - rate-control: rate control mode (default: cqp - constant QP)
16670           - bitrate: desired bitrate in kbps (default: auto-calculated)
16671           - key-period: maximal distance between two key frames (default: 30)
16672           - max-bframes: number of B-frames between I and P (default: 2)
16673           - quantizer: constant quantizer (default: 8)
16674           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16675
16676 2013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
16677
16678         * gst/vaapi/Makefile.am:
16679         * gst/vaapi/gstvaapi.c:
16680         * gst/vaapi/gstvaapiencode_h264.c:
16681         * gst/vaapi/gstvaapiencode_h264.h:
16682           plugins: add h264 encoder element.
16683           Add GstVaapiEncodeH264 element object. The actual plug-in element
16684           is called "vaapiencode_h264".
16685           Valid properties:
16686           - rate-control: rate control mode (default: none)
16687           - bitrate: desired bitrate in kbps (default: auto-calculated)
16688           - key-period: maximal distance between two key frames (default: 30)
16689           - num-slices: number of slices per frame (default: 1)
16690           - max-bframes: number of B-frames between I and P (default: 0)
16691           - min-qp: minimal quantizer (default: 1)
16692           - init-qp: initial quantizer (default: 26)
16693           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16694
16695 2013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
16696
16697         * gst/vaapi/Makefile.am:
16698         * gst/vaapi/gstvaapiencode.c:
16699         * gst/vaapi/gstvaapiencode.h:
16700           plugins: add base encoder element.
16701           vaapiencode element is based on GstVideoEncoder APIs.
16702           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16703
16704 2013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
16705
16706         * gst-libs/gst/vaapi/Makefile.am:
16707         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16708         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
16709         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
16710           encoder: add mpeg2 encoder.
16711           Add initial support for MPEG-2 encoding. I/P/B frames are supported.
16712           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16713
16714 2013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
16715
16716         * gst-libs/gst/vaapi/Makefile.am:
16717         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16718         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
16719         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
16720           encoder: add h264 encoder.
16721           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16722
16723 2013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
16724
16725         * configure.ac:
16726         * gst-libs/gst/vaapi/Makefile.am:
16727         * gst-libs/gst/vaapi/gstvaapiencoder.c:
16728         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16729         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
16730         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
16731         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
16732           Add initial infrastructure for video encoding.
16733           Add initial API for video encoding: only basic interfaces and small
16734           encoder objects are implemented so far.
16735           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16736
16737 2013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
16738
16739         * configure.ac:
16740         * gst-libs/gst/Makefile.am:
16741         * gst-libs/gst/base/Makefile.am:
16742         * gst-libs/gst/base/gstbitwriter.c:
16743         * gst-libs/gst/base/gstbitwriter.h:
16744         * gst-libs/gst/vaapi/Makefile.am:
16745           libs: add generic bitstream writer.
16746           GstBitWriter provides a bit writer that can write any number of bits
16747           to a pre-allocated memory buffer. Helper functions are also provided
16748           to write any number of bits from 8, 16, 32 and 64 bit variables.
16749           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16750
16751 2013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
16752
16753         * gst-libs/gst/vaapi/gstvaapicontext.c:
16754         * gst-libs/gst/vaapi/gstvaapicontext.h:
16755           libs: add support for rate-control to GstVaapiContext.
16756           Extend GstVaapiContextInfo structure to hold the desired rate control
16757           mode for encoding purposes. For decoding purposes, this field is not
16758           used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
16759           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16760
16761 2013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
16762
16763         * gst-libs/gst/vaapi/gstvaapitypes.h:
16764         * gst-libs/gst/vaapi/gstvaapiutils.c:
16765         * gst-libs/gst/vaapi/gstvaapiutils.h:
16766         * gst-libs/gst/vaapi/gstvaapivalue.c:
16767         * gst-libs/gst/vaapi/gstvaapivalue.h:
16768           libs: add rate-control attributes.
16769           Add GstVaapiRateControl types and GType values in view to supporting
16770           rate controls for encoding. This is meant to be used for instance in
16771           GstVaapiContext.
16772           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16773
16774 2013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16775
16776         * configure.ac:
16777           Bump version for development.
16778
16779 === release 0.5.7 ===
16780
16781 2013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16782
16783         * gst/vaapi/Makefile.am:
16784           build: fix for Wayland headers not in standard include dirs.
16785           Fix build when Wayland headers don't live in plain system include dirs
16786           like /usr/include but rather in /usr/include/wayland for instance.
16787           Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
16788           https://bugzilla.gnome.org/show_bug.cgi?id=712282
16789
16790 2013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
16791
16792         * gst-libs/gst/vaapi/Makefile.am:
16793           build: link libgstvaapi-wayland against videoutils.
16794           This library is using symbols that don't exist in GStreamer 0.10 so
16795           it needs to link to built-in implementation (libgstvaapi-videoutils).
16796           https://bugzilla.gnome.org/show_bug.cgi?id=712282
16797           Signed-off-by: Ross Burton <ross.burton@intel.com>
16798           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16799
16800 2013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16801
16802         * gst-libs/gst/vaapi/gstvaapifilter.c:
16803         * gst/vaapi/gstvaapipostproc.c:
16804           vaapostproc: fix memory leaks.
16805           Destroy VPP output surface pool on exit. Also avoid a possible crash
16806           in double-free situation caused by insufficiently reference counted
16807           array of formats returned during initialization.
16808
16809 2013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16810
16811         * gst/vaapi/gstvaapipostproc.c:
16812         * gst/vaapi/gstvaapipostproc.h:
16813           vaapipostproc: fix and optimize advanced deinterlacing mode.
16814           Fix advanced deinterlacing modes with VPP to track only up to 2 past
16815           reference buffers. This used to be 3 past reference buffers but this
16816           doesn't fit with the existing decode pipeline that only has 4 extra
16817           scratch surfaces.
16818           Also optimize references tracking to be only enabled when needed, i.e.
16819           when advanced deinterlacing mode is used. This means that we don't
16820           need to track past references for basic bob or weave deinterlacing.
16821
16822 2013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16823
16824         * gst/vaapi/gstvaapipostproc.c:
16825           vaapipostproc: fix "mixed" mode deinterlacing.
16826           In "mixed" interlaced streams, the buffer contains additional flags that
16827           specify whether the frame contained herein is interlaced or not. This means
16828           that we can alternatively get progressive or interlaced frames. Make sure
16829           to disable deinterlacing at the VPP level when the source buffer is no longer
16830           interlaced.
16831
16832 2013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16833
16834         * gst/vaapi/gstvaapipostproc.c:
16835           vaapipostproc: fix memory leaks with advanced deinterlacing.
16836           Fix memory leaks with advanced deinterlacing, i.e. when we keep track
16837           of past buffers. Completely reset the deinterlace state, thus destroying
16838           any buffer currently held, on _start(), _stop() and _destroy().
16839
16840 2013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16841
16842         * README:
16843           README: updates.
16844           - GStreamer 1.2 APIs are supported ;
16845           - Video Processing (VA/VPP) features.
16846
16847 2013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16848
16849         * README:
16850           README: update for GStreamer >= 1.0.x and VPP features.
16851
16852 2013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16853
16854         * gst-libs/gst/vaapi/glibcompat.h:
16855         * gst-libs/gst/vaapi/gstvaapicontext.h:
16856         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
16857         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
16858         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
16859         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
16860         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
16861         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
16862         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
16863         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
16864         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
16865         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
16866         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16867         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
16868         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
16869         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
16870         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
16871         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
16872         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
16873         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16874         * gst-libs/gst/vaapi/gstvaapiimage.c:
16875         * gst-libs/gst/vaapi/gstvaapiimage.h:
16876         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
16877         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
16878         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
16879         * gst-libs/gst/vaapi/gstvaapiobject.c:
16880         * gst-libs/gst/vaapi/gstvaapiobject.h:
16881         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16882         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16883         * gst-libs/gst/vaapi/gstvaapisurface.h:
16884         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
16885         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
16886         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
16887         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
16888         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
16889         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
16890         * gst-libs/gst/vaapi/gstvaapitexture.c:
16891         * gst-libs/gst/vaapi/gstvaapitexture.h:
16892         * gst-libs/gst/vaapi/gstvaapitypes.h:
16893         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
16894         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
16895         * gst-libs/gst/vaapi/gstvaapivalue.c:
16896         * gst-libs/gst/vaapi/gstvaapivalue.h:
16897         * gst-libs/gst/vaapi/gstvaapivideopool.c:
16898         * gst-libs/gst/vaapi/gstvaapivideopool.h:
16899         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
16900         * gst-libs/gst/vaapi/gstvaapiwindow.c:
16901         * gst-libs/gst/vaapi/gstvaapiwindow.h:
16902         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
16903         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
16904         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
16905         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
16906         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
16907         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
16908         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
16909         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
16910         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
16911         * gst/vaapi/gstvaapi.c:
16912         * gst/vaapi/gstvaapidecode.h:
16913         * gst/vaapi/gstvaapidownload.h:
16914         * gst/vaapi/gstvaapipluginutil.c:
16915         * gst/vaapi/gstvaapipluginutil.h:
16916         * gst/vaapi/gstvaapipostproc.h:
16917         * gst/vaapi/gstvaapisink.h:
16918         * gst/vaapi/gstvaapivideoconverter_glx.h:
16919         * tests/image.c:
16920         * tests/image.h:
16921         * tests/output.h:
16922         * tests/test-display.c:
16923         * tests/test-jpeg.c:
16924         * tests/test-jpeg.h:
16925         * tests/test-mpeg4.c:
16926         * tests/test-mpeg4.h:
16927         * tests/test-surfaces.c:
16928         * tests/test-windows.c:
16929           legal: update copyright notice dates.
16930
16931 2013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16932
16933         * gst-libs/gst/vaapi/glibcompat.h:
16934         * gst-libs/gst/vaapi/gstcompat.h:
16935         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
16936         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
16937         * gst-libs/gst/vaapi/gstvaapicompat.h:
16938         * gst-libs/gst/vaapi/gstvaapicontext.c:
16939         * gst-libs/gst/vaapi/gstvaapicontext.h:
16940         * gst-libs/gst/vaapi/gstvaapidebug.h:
16941         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16942         * gst-libs/gst/vaapi/gstvaapidecoder.h:
16943         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
16944         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
16945         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16946         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
16947         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
16948         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
16949         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
16950         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
16951         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
16952         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
16953         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
16954         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
16955         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
16956         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
16957         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
16958         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
16959         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
16960         * gst-libs/gst/vaapi/gstvaapidisplay.c:
16961         * gst-libs/gst/vaapi/gstvaapidisplay.h:
16962         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
16963         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
16964         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
16965         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
16966         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
16967         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
16968         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
16969         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
16970         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
16971         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
16972         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
16973         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
16974         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
16975         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
16976         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
16977         * gst-libs/gst/vaapi/gstvaapifilter.c:
16978         * gst-libs/gst/vaapi/gstvaapifilter.h:
16979         * gst-libs/gst/vaapi/gstvaapiimage.c:
16980         * gst-libs/gst/vaapi/gstvaapiimage.h:
16981         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
16982         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
16983         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
16984         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
16985         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
16986         * gst-libs/gst/vaapi/gstvaapiobject.c:
16987         * gst-libs/gst/vaapi/gstvaapiobject.h:
16988         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
16989         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
16990         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
16991         * gst-libs/gst/vaapi/gstvaapipixmap.c:
16992         * gst-libs/gst/vaapi/gstvaapipixmap.h:
16993         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
16994         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
16995         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
16996         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16997         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16998         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
16999         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
17000         * gst-libs/gst/vaapi/gstvaapisurface.c:
17001         * gst-libs/gst/vaapi/gstvaapisurface.h:
17002         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
17003         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
17004         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
17005         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17006         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
17007         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
17008         * gst-libs/gst/vaapi/gstvaapitexture.c:
17009         * gst-libs/gst/vaapi/gstvaapitexture.h:
17010         * gst-libs/gst/vaapi/gstvaapitypes.h:
17011         * gst-libs/gst/vaapi/gstvaapiutils.c:
17012         * gst-libs/gst/vaapi/gstvaapiutils.h:
17013         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
17014         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
17015         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
17016         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
17017         * gst-libs/gst/vaapi/gstvaapivalue.c:
17018         * gst-libs/gst/vaapi/gstvaapivalue.h:
17019         * gst-libs/gst/vaapi/gstvaapivideopool.c:
17020         * gst-libs/gst/vaapi/gstvaapivideopool.h:
17021         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
17022         * gst-libs/gst/vaapi/gstvaapiwindow.c:
17023         * gst-libs/gst/vaapi/gstvaapiwindow.h:
17024         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
17025         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
17026         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17027         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
17028         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17029         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17030         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
17031         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17032         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
17033         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
17034         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
17035         * gst-libs/gst/vaapi/sysdeps.h:
17036         * gst-libs/gst/vaapi/video-format.c:
17037         * gst-libs/gst/vaapi/video-format.h:
17038         * gst/vaapi/gstvaapi.c:
17039         * gst/vaapi/gstvaapidecode.c:
17040         * gst/vaapi/gstvaapidecode.h:
17041         * gst/vaapi/gstvaapidownload.c:
17042         * gst/vaapi/gstvaapidownload.h:
17043         * gst/vaapi/gstvaapipluginutil.c:
17044         * gst/vaapi/gstvaapipluginutil.h:
17045         * gst/vaapi/gstvaapipostproc.c:
17046         * gst/vaapi/gstvaapipostproc.h:
17047         * gst/vaapi/gstvaapisink.c:
17048         * gst/vaapi/gstvaapisink.h:
17049         * gst/vaapi/gstvaapiupload.c:
17050         * gst/vaapi/gstvaapiupload.h:
17051         * gst/vaapi/gstvaapiuploader.c:
17052         * gst/vaapi/gstvaapiuploader.h:
17053         * gst/vaapi/gstvaapivideobuffer.c:
17054         * gst/vaapi/gstvaapivideobuffer.h:
17055         * gst/vaapi/gstvaapivideobufferpool.c:
17056         * gst/vaapi/gstvaapivideobufferpool.h:
17057         * gst/vaapi/gstvaapivideocontext.c:
17058         * gst/vaapi/gstvaapivideocontext.h:
17059         * gst/vaapi/gstvaapivideoconverter_glx.c:
17060         * gst/vaapi/gstvaapivideoconverter_glx.h:
17061         * gst/vaapi/gstvaapivideoconverter_x11.c:
17062         * gst/vaapi/gstvaapivideoconverter_x11.h:
17063         * gst/vaapi/gstvaapivideomemory.c:
17064         * gst/vaapi/gstvaapivideomemory.h:
17065         * gst/vaapi/gstvaapivideometa.c:
17066         * gst/vaapi/gstvaapivideometa.h:
17067         * gst/vaapi/gstvaapivideometa_texture.c:
17068         * gst/vaapi/gstvaapivideometa_texture.h:
17069         * tests/codec.c:
17070         * tests/codec.h:
17071         * tests/decoder.c:
17072         * tests/decoder.h:
17073         * tests/image.c:
17074         * tests/image.h:
17075         * tests/output.c:
17076         * tests/output.h:
17077         * tests/simple-decoder.c:
17078         * tests/test-decode.c:
17079         * tests/test-decode.h:
17080         * tests/test-display.c:
17081         * tests/test-filter.c:
17082         * tests/test-h264.c:
17083         * tests/test-h264.h:
17084         * tests/test-jpeg.c:
17085         * tests/test-jpeg.h:
17086         * tests/test-mpeg2.c:
17087         * tests/test-mpeg2.h:
17088         * tests/test-mpeg4.c:
17089         * tests/test-mpeg4.h:
17090         * tests/test-surfaces.c:
17091         * tests/test-textures.c:
17092         * tests/test-vc1.c:
17093         * tests/test-vc1.h:
17094         * tests/test-windows.c:
17095           legal: add per-file authorship information.
17096           Credit original authors on a per-file basis as we cannot expect people
17097           to know all country-specific rules, or bother browsing through the git
17098           history.
17099
17100 2013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17101
17102         * NEWS:
17103         * configure.ac:
17104           0.5.7.
17105
17106 2013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17107
17108         * NEWS:
17109           NEWS: updates.
17110
17111 2013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17112
17113         * gst-libs/gst/vaapi/gstvaapidecoder.h:
17114           decoder: don't include obsolete headers.
17115           The <gst/vaapi/gstvaapicontext.h> header was removed from the public
17116           set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
17117           on private files.
17118
17119 2013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17120
17121         * gst/vaapi/Makefile.am:
17122         * gst/vaapi/gstvaapi.c:
17123         * gst/vaapi/gstvaapipostproc.c:
17124           vaapipostproc: add initial support for GStreamer 1.2.
17125           Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
17126           right now so that to cope with auto-plugging issues/regressions. e.g.
17127           this happens when the correct set of expected caps are being exposed.
17128           This means that, currently, the proposed caps are not fully accurate.
17129
17130 2013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
17131
17132         * gst/vaapi/gstvaapipostproc.c:
17133         * gst/vaapi/gstvaapipostproc.h:
17134           vaapipostproc: add support for denoise and sharpen filters.
17135           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17136
17137 2013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17138
17139         * gst/vaapi/gstvaapipostproc.c:
17140         * gst/vaapi/gstvaapipostproc.h:
17141           vaapipostproc: add support for advanced deinterlacing.
17142           Add initial support for advanced deinterlacing. The history buffer
17143           size is arbitrarily set to 3 references for now.
17144
17145 2013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17146
17147         * gst/vaapi/gstvaapipostproc.c:
17148           vaapipostproc: fix deinterlacing with VPP.
17149           Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
17150           for the first field. Render flags were supplied instead of the actual
17151           deinterlacing flags (deint_flags).
17152
17153 2013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17154
17155         * gst/vaapi/gstvaapipostproc.c:
17156           vaapipostproc: fix transform caps.
17157           Fix GstBaseTransform::transform_caps() implementation to always return
17158           the complete set of allowed sink pad caps (unfixated) even if the src
17159           pad caps we are getting are fixated. Rationale: there are just so many
17160           possible combinations, and it was wrong to provide a unique set anyway.
17161           As a side effect, this greatly simplifies the ability to derive src pad
17162           caps from fixated sink pad caps.
17163
17164 2013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
17165
17166         * docs/reference/libs/libs-sections.txt:
17167         * gst-libs/gst/vaapi/gstvaapifilter.c:
17168         * gst-libs/gst/vaapi/gstvaapifilter.h:
17169           filter: add helper to specify references for deinterlacing.
17170           Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
17171           list of surfaces used for forward or backward reference in advanced
17172           deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
17173           The list of surfaces used as deinterlacing references shall be live
17174           until the next call to gst_vaapi_filter_process().
17175           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17176
17177 2013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17178
17179         * gst-libs/gst/vaapi/gstvaapifilter.c:
17180         * gst-libs/gst/vaapi/gstvaapifilter.h:
17181         * gst-libs/gst/vaapi/gstvaapiutils.c:
17182         * gst/vaapi/gstvaapipostproc.c:
17183         * tests/test-filter.c:
17184           filter: fix semantics of deinterlacing flags.
17185           Fix deinterlacing flags to make more sense. The TFF (top-field-first)
17186           flag is meant to specify the organization of reference frames used in
17187           advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
17188           to specify that the top-field of the supplied input surface is to be
17189           used for deinterlacing. Conversely, if not set, this means that the
17190           bottom field of the supplied input surface will be used instead.
17191
17192 2013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17193
17194         * docs/reference/libs/libs-sections.txt:
17195         * gst-libs/gst/vaapi/gstvaapifilter.c:
17196         * gst-libs/gst/vaapi/gstvaapifilter.h:
17197           filter: add helpers to check for supported/active operation.
17198           Add a couple of helper functions:
17199           - gst_vaapi_filter_has_operation(): checks whether the VA driver
17200           advertises support for the supplied operation ;
17201           - gst_vaapi_filter_use_operation(): checks whether the supplied
17202           operation was already enabled to its non-default value.
17203
17204 2013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17205
17206         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17207           libs: fix GstVaapiSurfaceProxy destroy notify call site.
17208           The user-defined destroy notify function is meant to be called only when
17209           the surface proxy was fully released, i.e. once it actually released the
17210           VA surface back to the underlying pool.
17211
17212 2013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
17213
17214         * gst-libs/gst/vaapi/gstvaapivideopool.c:
17215         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
17216           libs: make GstVaapiVideoPool thread-safe.
17217           https://bugzilla.gnome.org/show_bug.cgi?id=707108
17218           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17219
17220 2013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
17221
17222         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17223         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17224           libs: robustify decoder objects and surface proxy initialization.
17225           Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
17226           sequences to have the expected default values set beforehand in case of an
17227           error raising up further during creation. i.e. make it possible to cleanly
17228           destroy those partially initialized objects.
17229           https://bugzilla.gnome.org/show_bug.cgi?id=707108
17230           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17231
17232 2013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17233
17234         * gst/vaapi/gstvaapidecode.c:
17235           vaapidecode: fix decoder flush.
17236           There are situations where gst_video_decoder_flush() is called, and
17237           this subsequently produces a gst_video_decoder_reset() that kills the
17238           currently active GstVideoCodecFrame. This means that it no longer
17239           exists by the time we reach GstVideoDecoder::finish() callback, thus
17240           possibly resulting in a crash if we assumed spare data was still
17241           available for decode (current_frame_size > 0).
17242           Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
17243           that means a flush, thus performing the actual operations there like
17244           calling gst_video_decoder_have_frame() if pending data is available.
17245
17246 2013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17247
17248         * gst/vaapi/gstvaapidecode.c:
17249         * gst/vaapi/gstvaapidecode.h:
17250           vaapidecode: fix dead-locks with decoder task.
17251           Review all interactions between the main video decoder stream thread
17252           and the decode task to derive a correct sequence of operations for
17253           decoding. Also avoid extra atomic operations that become implicit under
17254           the GstVideoDecoder stream lock.
17255
17256 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
17257
17258         * gst/vaapi/gstvaapidecode.c:
17259           vaapidecode: fix hard reset for seek cases.
17260           Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
17261           and completely purge any decoded output frame that may come out from
17262           it. At this stage, the GstVaapiDecoder shall be in a complete clean
17263           state to start decoding over new buffers.
17264           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17265
17266 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
17267
17268         * gst/vaapi/gstvaapidecode.c:
17269         * gst/vaapi/gstvaapidecode.h:
17270           vaapidecode: drop decode timeout, always wait for a free surface.
17271           vaapidecode used to wait up to one second past the expected time of
17272           presentation for the last decoded frame. This is not realistic in
17273           practice when it comes to video pause/resume. Changed behaviour to
17274           unconditionnally wait for a free VA surface prior to continuing the
17275           decoding. The decode task will continue pushing the output frames to
17276           the downstream element while also reporting errors at the same time
17277           to the main thread.
17278           https://bugzilla.gnome.org/show_bug.cgi?id=707108
17279           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17280
17281 2013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17282
17283         * gst/vaapi/gstvaapidecode.c:
17284           vaapidecode: fix srcpad caps for GStreamer 1.2.
17285           The srcpad caps exposed for GStreamer 1.2 were missing any useful info
17286           like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
17287           that it relied on possibly un-initialized data. Fix srcpad caps to be
17288           initialized from a sanitized copy of GstVideoDecoder output state caps.
17289           Note: the correct way to expose the srcpad caps triggers an additional
17290           issue in core GStreamer auto-plugging capabilities as the correct caps
17291           to be exposed should be format=ENCODED with memory:VASurface caps feature
17292           at the minimum. In some situations, we could determine the underlying
17293           VA surface format, but this is not always possible. e.g. cases where it
17294           is not allowed to expose the underlying VA surface data, or when the
17295           VA driver implementation cannot actually provide such information.
17296
17297 2013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17298
17299         * gst/vaapi/gstvaapidecode.c:
17300         * gst/vaapi/gstvaapisink.c:
17301           plugins: streamline VA formats exposed in caps to a realistic set.
17302           Currently, the decoder only supports YUV 4:2:0 output. So, expose the
17303           output formats for GStreamer 1.2 in caps to a realistic subset. This
17304           means NV12, I420 or YV12 but also ENCODED if we cannot determine the
17305           underlying VA surface format, or if it is actually not allowed to get
17306           access to the surface contents.
17307
17308 2013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17309
17310         * gst/vaapi/gstvaapidecode.c:
17311         * gst/vaapi/gstvaapisink.c:
17312           plugins: expose the expected format for GstVideoGLTextureUploadMeta.
17313           Fix vaapidecode srcpad caps to only expose RGBA video format for the
17314           meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
17315           so far. Besides, drop this meta from the vaapisink sinkpad caps since
17316           we really don't support that for rendering.
17317           https://bugzilla.gnome.org/show_bug.cgi?id=711828
17318
17319 2013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17320
17321         * configure.ac:
17322           configure: automatically detect GStreamer API version.
17323           Automatically detect GStreamer API version. The --with-gstreamer-api
17324           configure option now defaults to "autodetect" and configure then tries
17325           to derive the GStreamer API version from the highest version based on
17326           what pkg-config --modversion would report.
17327           https://bugzilla.gnome.org/show_bug.cgi?id=711657
17328
17329 2013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
17330
17331         * gst/vaapi/gstvaapipostproc.c:
17332           vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
17333           Fix raw YUV data uploaded as in the following pipeline:
17334           $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
17335           The main reason why it failed was that the videoparse element simply
17336           allocates GstBuffer with raw data chunk'ed off the sink pad without
17337           any prior knowledge of the actual frame info. i.e. it basically just
17338           calls gst_adapter_take_buffer().
17339           We could avoid the extra copy performed in vaapipostproc if the videoparse
17340           element was aware of the downstream pool and bothers copying line by
17341           line, for each plane. This means that, for a single frame per buffer,
17342           the optimizatin will be to allocate the video buffer downstream, map
17343           it, and copy each line that is coming through until we need to fills
17344           in the successive planes.
17345           Still, optimized raw YUV uploads already worked with the following:
17346           $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
17347           https://bugzilla.gnome.org/show_bug.cgi?id=711250
17348           [clean-ups, fixed error cases to unmap and unref outbuf]
17349           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17350
17351 2013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17352
17353         * gst/vaapi/gstvaapipostproc.c:
17354           vaapipostproc: try to downgrade deinterlace-method when needed.
17355           If the currently selected deinterlacing method is not supported by the
17356           underlying hardware, then try to downgrade the method to a supported one.
17357           At the minimum, basic bob-deinterlacing shall always be supported.
17358
17359 2013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17360
17361         * gst/vaapi/gstvaapipostproc.c:
17362           vaapipostproc: add initial support for deinterlacing with VPP.
17363           Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
17364           this only covers bob-deinterlacing when the output pixel format is
17365           explicitly set.
17366
17367 2013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17368
17369         * gst/vaapi/gstvaapipostproc.c:
17370           vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
17371           The size argument for GstBaseTransform::transform_size() hook is a
17372           guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
17373
17374 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17375
17376         * gst/vaapi/gstvaapipostproc.c:
17377         * gst/vaapi/gstvaapipostproc.h:
17378           vaapipostproc: add initial support for scaling.
17379           Add initial support for basic scaling with size specified through the
17380           "width" and "height" properties. If either user-provided dimension is
17381           zero and "force-aspect-ratio" is set to true (the default), then the
17382           other dimension is scaled to preserve the aspect ratio.
17383
17384 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17385
17386         * gst/vaapi/gstvaapipostproc.c:
17387         * gst/vaapi/gstvaapipostproc.h:
17388           vaapipostproc: add initial support for color conversion.
17389           If VPP is available, we always try to implicitly convert the source
17390           buffer to the "native" surface format for the underlying accelerator.
17391           This means that no optimization is performed yet to propagate raw YUV
17392           buffers to the downstream element as is, if VPP is available. i.e. it
17393           will always cause a color conversion.
17394
17395 2013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17396
17397         * gst/vaapi/gstvaapipostproc.c:
17398           vaapipostproc: fix bug when user disabled deinterlacing.
17399           Fix pipeline error / hang when the user disabled deinterlacing through
17400           the deinterlace-mode=disabled property setting.
17401
17402 2013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17403
17404         * gst/vaapi/gstvaapipostproc.c:
17405         * gst/vaapi/gstvaapipostproc.h:
17406           vaapipostproc: factor out operations to be applied into flags.
17407           Even if we only support deinterlacing for now, use flags to specify
17408           which filters are to be applied to each frame we receive in transform().
17409           This is preparatory work for integrating new filters.
17410
17411 2013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17412
17413         * gst/vaapi/gstvaapipostproc.c:
17414         * gst/vaapi/gstvaapipostproc.h:
17415           vaapipostproc: add support for raw YUV video source buffers.
17416           Allow video processing from raw YUV buffers coming from the sink pad,
17417           while still producing a VA surface for the downstream elements.
17418
17419 2013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17420
17421         * gst/vaapi/gstvaapipluginutil.c:
17422         * gst/vaapi/gstvaapipluginutil.h:
17423         * gst/vaapi/gstvaapipostproc.c:
17424           vaapipostproc: add support for "mixed" interlace mode.
17425           Add support for "mixed" interlace-mode, whereby the video frame buffer
17426           shall be deinterlaced only if its flags mention that's actually an
17427           interlaced frame buffer.
17428
17429 2013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17430
17431         * gst-libs/gst/vaapi/gstcompat.h:
17432         * gst/vaapi/gstvaapipostproc.c:
17433         * gst/vaapi/gstvaapipostproc.h:
17434         * gst/vaapi/gstvaapivideobuffer.c:
17435         * gst/vaapi/gstvaapivideobuffer.h:
17436           vaapipostproc: rework plug-in element.
17437           Rewrite the vaapipostproc plug-in element so that it derives from
17438           GstBaseTransform, thus simplifying the caps negotiation process.
17439
17440 2013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17441
17442         * gst/vaapi/gstvaapivideobufferpool.c:
17443         * gst/vaapi/gstvaapivideomemory.c:
17444         * gst/vaapi/gstvaapivideomemory.h:
17445           plugins: fix and optimize check for buffer pool allocator params.
17446           Reset the buffer pool allocator only if the config caps changed in a
17447           sensible way: format or resolution change. i.e. don't bother with
17448           other caps like colorimetry et al. as this doesn't affect the way to
17449           allocate VA surfaces or images.
17450
17451 2013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17452
17453         * gst/vaapi/gstvaapivideomemory.c:
17454           plugins: enable memory maps for read & write with direct-rendering.
17455           Enable read and write mappings only if direct-rendering is supported.
17456           Otherwise, this means that we may need to download data from the VA
17457           surface first for correctness, even if the VA surface doesn't need to
17458           be read at all. i.e. sometimes, READWRITE mappings are meant for
17459           surfaces that are written to first, and read afterwards for further
17460           processing.
17461           https://bugzilla.gnome.org/show_bug.cgi?id=704078
17462
17463 2013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17464
17465         * gst/vaapi/gstvaapivideomemory.c:
17466           plugins: fix check for direct-rendering support.
17467           Fix check for direct-rendering if the creation of VA surfaces with
17468           an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
17469           that we tried to allocate a VA surface based on the corresponding
17470           chroma type. i.e. in that particular case, we have to make sure that
17471           the derived image has actually the expected format.
17472
17473 2013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17474
17475         * gst/vaapi/gstvaapivideobufferpool.c:
17476         * gst/vaapi/gstvaapivideomemory.c:
17477         * gst/vaapi/gstvaapivideomemory.h:
17478           plugins: fix buffer pool reset_buffer() to reset memory resources.
17479           Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
17480           memory resources, and more particularly the VA surface proxy. Most
17481           importantly, the GstVaapiVideoMeta is retained. Cached surface in
17482           memory are released, thus triggering a new allocation the next time
17483           we need to map the buffer.
17484
17485 2013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17486
17487         * gst/vaapi/gstvaapivideomemory.c:
17488         * gst/vaapi/gstvaapivideomemory.h:
17489           plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
17490           Make sure GstVaapiVideoMemory allocates VA surface proxies from a
17491           pool stored in the parent VA memory allocator.
17492           This fixes the following scenario:
17493           - VA video buffer 1 is allocated from a buffer pool
17494           - Another video buffer is created, and inherits info from buffer 1
17495           - Buffer 1 is released, thus pushing it back to the buffer pool
17496           - New buffer alloc request comes it, this yields buffer 1 back
17497           - At this stage, buffers 1 and 2 still share the same underlying VA
17498           surface, but buffer 2 was already submitted downstream for further
17499           processing, thus conflicting with additional processing we were
17500           about to perform on buffer 1.
17501           Maybe the core GstBufferPool implementation should have been fixed
17502           instead to actually make sure that the returned GstBuffer memory we
17503           found from the pool is writable?
17504
17505 2013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17506
17507         * gst/vaapi/gstvaapiuploader.c:
17508           plugins: create a proxy for GstVaapiUploader allocated buffers.
17509           Always make sure to allocate a VA surface proxy for GstVaapiUploader
17510           allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
17511           a proxy surface.
17512           This fixes cases where we want to retain the underlying surface longer,
17513           instead of releasing it back to the surface pool right away.
17514
17515 2013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17516
17517         * gst/vaapi/gstvaapidecode.c:
17518         * gst/vaapi/gstvaapipluginutil.c:
17519         * gst/vaapi/gstvaapipluginutil.h:
17520         * gst/vaapi/gstvaapipostproc.c:
17521           plugins: add helper function to disable deinterlacing in caps.
17522           Add gst_caps_set_interlaced() helper function that would reset the
17523           interlace-mode field to "progressive" for GStreamer >= 1.0, or the
17524           interlaced field to "false" for GStreamer 0.10.
17525
17526 2013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17527
17528         * gst-libs/gst/vaapi/gstvaapifilter.c:
17529           filter: fix memory leak of VPP operations.
17530           Fix ensure_operations() to release the VPP operations array if non
17531           NULL, prior to returning to the caller. The former function was also
17532           renamed to a more meaningful get_operations() since the caller owns
17533           the returned array that needs to be released.
17534
17535 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
17536
17537         * gst-libs/gst/vaapi/gstvaapifilter.c:
17538           filter: fix first-time operation lookup.
17539           Fix first-time operation lookup through find_operation() if the set
17540           of supported operations was not initially determined through the
17541           gst_vaapi_filter_get_operations() helper function.
17542           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17543
17544 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
17545
17546         * gst-libs/gst/vaapi/gstvaapifilter.c:
17547           filter: fix colorbalance related subtypes.
17548           Fix intiialization of GstVaapiFilterOpData for colorbalance related
17549           operations. In particular, fill in the va_subtype field accordingly.
17550           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17551
17552 2013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17553
17554         * gst-libs/gst/vaapi/gstvaapifilter.c:
17555           filter: fix VA-API 0.34.0 symbol guards.
17556           VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
17557           that need to be guarded for libva 0.34 and 0.33, respectively.
17558           https://bugzilla.gnome.org/show_bug.cgi?id=709102
17559           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17560
17561 2013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17562
17563         * gst/vaapi/gstvaapidecode.c:
17564         * gst/vaapi/gstvaapipluginutil.c:
17565         * gst/vaapi/gstvaapisink.c:
17566           plugins: hanle the context query in any pad.
17567           Also this patch simplifies the code, since now the query is common for the
17568           decoder and the sink.
17569           https://bugzilla.gnome.org/show_bug.cgi?id=709200
17570
17571 2013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17572
17573         * gst/vaapi/gstvaapivideocontext.c:
17574           plugins: query upstream element for a GstContext.
17575           Fix gst_vaapi_video_context_prepare() to also query upstream elements
17576           for a valid GstContext. Improve comments regarding the steps used to
17577           lookup or build that context, thus conforming to the GstContext API
17578           recommendations.
17579           https://bugzilla.gnome.org/show_bug.cgi?id=709112
17580           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17581
17582 2013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17583
17584         * configure.ac:
17585         * debian.upstream/control.in:
17586           Fix detection and packaging of GStreamer 1.2.x builds.
17587           The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
17588           packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
17589           purposes, update the versioning to -1.2 suffix instead.
17590
17591 2013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17592
17593         * gst/vaapi/Makefile.am:
17594         * gst/vaapi/gstvaapidecode.c:
17595         * gst/vaapi/gstvaapidecode.h:
17596         * gst/vaapi/gstvaapisink.c:
17597         * gst/vaapi/gstvaapivideometa_texture.c:
17598         * gst/vaapi/gstvaapivideometa_texture.h:
17599           plugins: add support for GstVideoGLTextureUploadMeta.
17600           If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
17601           requested, and more specifically under a GLX configuration, then add
17602           the GstVideoGLTextureUploadMeta to the output buffer.
17603           https://bugzilla.gnome.org/show_bug.cgi?id=703236
17604           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17605
17606 2013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17607
17608         * gst/vaapi/gstvaapidecode.c:
17609         * gst/vaapi/gstvaapisink.c:
17610         * gst/vaapi/gstvaapivideomemory.h:
17611           plugins: add support for GstCaps features.
17612           Move VA video buffer memory from "video/x-surface,type=vaapi" format,
17613           as expressed in caps, to the more standard use of caps features. i.e.
17614           add "memory:VASurface" feature attribute to the associated caps.
17615           https://bugzilla.gnome.org/show_bug.cgi?id=703271
17616           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17617
17618 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17619
17620         * gst/vaapi/gstvaapidecode.c:
17621         * gst/vaapi/gstvaapisink.c:
17622           plugins: improve ::query() debugging messages.
17623           Fix gst_vaapidecode_query() to correctly display the query type name,
17624           instead of randomly displaying that we shared the underlying display.
17625           Also add debug info for the GstVaapiSink::query() handler, i.e. the
17626           supplied query type name actually.
17627           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17628
17629 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17630
17631         * gst/vaapi/gstvaapidecode.c:
17632         * gst/vaapi/gstvaapisink.c:
17633           plugins: add support for GstContext API.
17634           Add support for the new GstContext API from GStreamer 1.2.x.
17635           - implement the GstElement::set_context() hook ;
17636           - reply to the `context' query from downstream elements.
17637           https://bugzilla.gnome.org/show_bug.cgi?id=703235
17638           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17639
17640 2013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17641
17642         * gst/vaapi/Makefile.am:
17643         * gst/vaapi/gstvaapipluginutil.c:
17644         * gst/vaapi/gstvaapivideocontext.c:
17645         * gst/vaapi/gstvaapivideocontext.h:
17646           plugins: add compat layer for GstVideoContext.
17647           Add thin compatibility layer for the deprecated GstVideoContext API.
17648           For GStreamer API >= 1.2, this involves the following two functions:
17649           - gst_vaapi_video_context_prepare(): queries if a context is already
17650           set in the pipeline ;
17651           - gst_vaapi_video_context_propagate(): propagates the newly-created
17652           context to the rest of the pipeline.
17653           https://bugzilla.gnome.org/show_bug.cgi?id=703235
17654           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17655
17656 2013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17657
17658         * configure.ac:
17659         * gst/vaapi/Makefile.am:
17660         * gst/vaapi/gstvaapi.c:
17661         * gst/vaapi/gstvaapidecode.c:
17662         * gst/vaapi/gstvaapipluginutil.c:
17663         * gst/vaapi/gstvaapisink.c:
17664         * gst/vaapi/gstvaapivideobuffer.c:
17665           plugins: initial port to GStreamer 1.2.
17666           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
17667           is rather minimalistic so that to test the basic functionality.
17668           Disable vaapipostproc plugin for now as further polishing is needed.
17669           Also disable GstVideoContext interface support since this API is now
17670           gone in 1.2.x. This is preparatory work for GstContext support.
17671           https://bugzilla.gnome.org/show_bug.cgi?id=703235
17672           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17673
17674 2013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17675
17676         * tests/simple-decoder.c:
17677           tests: simple-decoder: fix for non-X11 backends.
17678           Don't try to create pixmaps if we have not requested that feature. This
17679           fixes execution for non-X11 backends, and most specifically DRM video
17680           output mode.
17681
17682 2013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17683
17684         * ext/codecparsers:
17685           codecparsers: update to gst-vaapi-branch commit b33bd32.
17686           b33bd32 jpeg: fix and optimize scan for next marker code
17687
17688 2013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17689
17690         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17691           jpeg: fix calculation of MCU count.
17692           Fix calculation of MCU count for image sizes that are not a multiple
17693           of 8 pixels in either dimension, but also for non-common sampling
17694           factors like 4:2:2 in non-interleaved mode.
17695
17696 2013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17697
17698         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17699         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
17700         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
17701           jpeg: add support for multiscan images.
17702           Add support for images with multiple scans per frame. The Huffman table
17703           can be updated before SOS, and thus possibly requiring multiple uploads
17704           of Huffman tables to the VA driver. So, the latter must be able to cope
17705           with multiple VA buffers of type 'huffman-table' and with the correct
17706           sequential order.
17707
17708 2013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17709
17710         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17711           jpeg: improve robustness when packets are missing.
17712           Improve robustness when some expected packets where not received yet
17713           or that were not correctly decoded. For example, don't try to decode
17714           a picture if there was no valid frame headers.
17715
17716 2013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17717
17718         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17719           jpeg: minor clean-ups.
17720           Improve debugging and error messages. Rename a few variables to fit the
17721           existing naming conventions. Change some fatal asserts to non-fatal
17722           error codes.
17723
17724 2013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17725
17726         * gst-libs/gst/vaapi/gstvaapidecoder.c:
17727         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17728         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
17729           jpeg: rework and optimize parser.
17730           Split the input buffer data into decoder units that represent a JPEG
17731           segment. Handle scan decoder unit specifically so that it can include
17732           both the scan header (SOS) but also any other ECS or RSTi segment.
17733           That way, we parse the input buffer stream only once at the gst-vaapi
17734           level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
17735           stream into frames SOI .. EOI and (ii) in decode_buffer() to further
17736           determine segment boundaries and decode them.
17737           In practice, this is a +15 to +25% performance improvement.
17738
17739 2013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
17740
17741         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17742           jpeg: handle comment segments.
17743           Fix decode_buffer() function to gracefully skip comment (COM) segments.
17744           This fixes decoding of streams generated by certain cameras, e.g. like
17745           the Logitech Pro C920.
17746           https://bugzilla.gnome.org/show_bug.cgi?id=708208
17747           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
17748
17749 2013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17750
17751         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17752           jpeg: fix determination of image bounds.
17753           Look for the exact image bounds characterised by the <SOI> and <EOI>
17754           markers. Use the gst_jpeg_parse() codec parser utility function to
17755           optimize the lookup for the next marker segment.
17756           https://bugzilla.gnome.org/show_bug.cgi?id=707447
17757
17758 2013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
17759
17760         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17761           jpeg: fix calculation of offset to next marker segment.
17762           Fix calculation of the offset to the next marker segment since the
17763           correction of the codecparser part to match the API specification.
17764           i.e. the GstJpegMarkerSegment.size field represents the size in bytes
17765           of the segment minus any marker prefix.
17766           https://bugzilla.gnome.org/show_bug.cgi?id=707447
17767           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
17768
17769 2013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17770
17771         * ext/codecparsers:
17772           codecparsers: update to gst-vaapi-branch commit 23c7dde.
17773           23c7dde jpeg: fix calculation of segment size
17774
17775 2013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17776
17777         * configure.ac:
17778           Bump version for development.
17779
17780 === release 0.5.6 ===
17781
17782 2013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17783
17784         * NEWS:
17785         * configure.ac:
17786           0.5.6.
17787
17788 2013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17789
17790         * NEWS:
17791           NEWS: updates.
17792
17793 2013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
17794
17795         * configure.ac:
17796         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
17797           configure: fix detection of VA/JPEG decoding API.
17798           Fix detection of VA/JPEG decoding API with non-standard libva packages.
17799           More precisely, some packages were shipping with a <va/va.h> header that
17800           did not include <va/va_dec_jpeg.h>.
17801           https://bugzilla.gnome.org/show_bug.cgi?id=706055
17802           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17803
17804 2013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
17805
17806         * gst/vaapi/gstvaapisink.c:
17807           vaapisink: ensure the uploader is setup for upstream allocated buffers.
17808           In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
17809           is setup in case upstream elements allocate buffers themselves without
17810           honouring our GstVaapiSink::bufer_alloc() hook.
17811           In particular, this fixes support for OGG video streams with WebKit.
17812           https://bugzilla.gnome.org/show_bug.cgi?id=703934
17813           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17814
17815 2013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17816
17817         * gst/vaapi/gstvaapisink.c:
17818           vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
17819           Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
17820           builds as well.
17821
17822 2013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17823
17824         * gst/vaapi/gstvaapisink.c:
17825         * gst/vaapi/gstvaapisink.h:
17826           vaapisink: handle raw buffers not created from VA video buffer pool.
17827           Handle raw video buffers that were not created from a VA video buffer
17828           pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
17829           builds instead of the GstVaapiUploader.
17830           https://bugs.freedesktop.org/show_bug.cgi?id=55818
17831
17832 2013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17833
17834         * gst/vaapi/gstvaapidecode.c:
17835           vaapidecode: remove extraneous size information from allowed caps.
17836           Fix _getcaps() implementation to not report codecs with size information
17837           filled in the returned caps. That's totally useless nowadays. Ideally,
17838           this is a hint to insert a video parser element, thus allowing future
17839           optimizations, but this is not a strict requirement for gstreamer-vaapi,
17840           which is able to parse the elementary bitstreams itself.
17841           https://bugzilla.gnome.org/show_bug.cgi?id=704734
17842
17843 2013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
17844
17845         * gst/vaapi/gstvaapidecode.c:
17846         * gst/vaapi/gstvaapidecode.h:
17847           vaapidecode: submit the last frame from output adapter to decoder.
17848           If there is no frame delimiter at the end of the stream, e.g. no
17849           end-of-stream or end-of-sequence marker, and that the current frame
17850           was fully parsed correctly, then assume that last frame is complete
17851           and submit it to the decoder.
17852           https://bugzilla.gnome.org/show_bug.cgi?id=705123
17853           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
17854           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17855
17856 2013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17857
17858         * gst/vaapi/gstvaapidecode.c:
17859         * gst/vaapi/gstvaapidecode.h:
17860           vaapidecode: push all decoded frames from within the task.
17861           Make sure to push all decoded frames from the task so that the unlying
17862           VA surfaces could all be rendered from the same thread.
17863
17864 2013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17865
17866         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17867           wayland: render the raw surface if VPP failed.
17868           As a last resort, if video processing capabilities (VPP) are not available,
17869           or they did not produce anything conclusive enough, then try to fallback to
17870           the original rendering code path whereby the whole VA surface is rendered
17871           as is, no matter of video cropping or deinterlacing requests.
17872           Note: under those conditions, the visual outcome won't be correct but at
17873           least, something gets displayed instead of bailing out.
17874
17875 2013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17876
17877         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17878           wayland: add supporting for video processing.
17879           Try to use VA/VPP processing capabilities to handle video cropping and
17880           additional rendering flags that may not be directly supported by the
17881           underlying hardware when exposing a suitable Wayland buffer for the
17882           supplied VA surface. e.g. deinterlacing, different color primaries than
17883           BT.601, etc.
17884
17885 2013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17886
17887         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17888           wayland: add new frame redraw infrastructure.
17889           Update the frame redraw infrastructure with a new FrameState stucture
17890           holds all the necessary information used to display the next pending
17891           surface.
17892           While we are at it, delay the sync operation down to when it is actually
17893           needed. That way, we keep performing additional tasks meanwhile.
17894
17895 2013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17896
17897         * docs/reference/libs/libs-sections.txt:
17898         * gst-libs/gst/vaapi/gstvaapifilter.c:
17899         * gst-libs/gst/vaapi/gstvaapifilter.h:
17900           filter: allow specification of render target regions.
17901           Add support for rendering the source surface to a particular region within
17902           the supplied target surface. The default background color is black.
17903
17904 2013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17905
17906         * gst/vaapi/gstvaapivideobuffer.c:
17907           decode: fix creation of GLX video buffers for GStreamer 0.10.
17908           Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
17909           and (ii) to correctly extract the GstSurfaceConverter from the video buffer
17910           object meta.
17911           This fixes support for cluttersink with GStreamer 0.10 builds.
17912
17913 2013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17914
17915         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
17916           mpeg2: disable video cropping as picture_display_extension() is missing.
17917           Disable video cropping in MPEG-2 codec because it is partially implemented
17918           and actually because nobody implements it that way, and the standard spec
17919           does not specify the display process either anyway.
17920           Most notably, there are two possible use cases for sequence_display_extension()
17921           horizontal_display_size & vertical_display_size: (i) guesstimating the
17922           pixel-aspect-ratio, or (ii) implement some kind of span & scan process
17923           in conjunction with picture_display_extension() information.
17924           https://bugzilla.gnome.org/show_bug.cgi?id=704848
17925
17926 2013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17927
17928         * gst/vaapi/gstvaapisink.c:
17929         * gst/vaapi/gstvaapisink.h:
17930           vaapisink: allow scaling to ignore aspect ratio.
17931           Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
17932           which allows you to say that you don't want the sink to respect aspect
17933           ratio. Add the same property to vaapisink.
17934           http://lists.freedesktop.org/archives/libva/2012-September/001298.html
17935           Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
17936
17937 2013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
17938
17939         * gst/vaapi/gstvaapisink.c:
17940           vaapisink: fix memory leak of GstVaapiUploader instance.
17941           Make sure gst_vaapisink_ensure_uploader() checks for the existence
17942           of a former GstVaapiUploader instance prior to forcibly creating a
17943           new one.
17944           https://bugzilla.gnome.org/show_bug.cgi?id=703980
17945
17946 2013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
17947
17948         * gst/vaapi/gstvaapisink.c:
17949           vaapisink: fix get_caps() implementation for GStreamer 1.0.
17950           Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
17951           by honouring the filter caps argument. More precisely, this fixes the
17952           following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
17953           https://bugzilla.gnome.org/show_bug.cgi?id=705192
17954           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
17955           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17956
17957 2013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17958
17959         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
17960           mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
17961           This fixes the following issue:
17962           CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
17963           gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
17964           'GstVaapiDecoderMpeg4Class'
17965           gstvaapidecoder_mpeg4.c:44: note: previous declaration of
17966           'GstVaapiDecoderMpeg4Class' was here
17967           make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
17968           make[5]: Leaving directory
17969           `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
17970           https://bugzilla.gnome.org/show_bug.cgi?id=705148
17971
17972 2013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17973
17974         * tests/test-filter.c:
17975           tests: filter: add support for deinterlacing.
17976           Add --deinterlace option to enable deinterlacing through explicit VA/VPP
17977           deinterlacing filter. However, if --deinterlace option is not set but the
17978           --deinterlace-flags option is set with "top-field-first", then the very
17979           basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
17980
17981 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
17982
17983         * tests/test-filter.c:
17984           tests: filter: add support for denoising and sharpening.
17985           Add --denoise option to enable noise reduction with the level specified
17986           as the option value (float). Likewise, add --sharpen option to enable
17987           sharpening.
17988           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17989
17990 2013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17991
17992         * tests/test-filter.c:
17993           tests: filter: add support for frame cropping.
17994           Add support for frame cropping through the --crop-rect|-c argument.
17995           The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
17996           or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
17997
17998 2013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17999
18000         * tests/test-filter.c:
18001           tests: filter: dump supported operations and formats.
18002
18003 2013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
18004
18005         * tests/Makefile.am:
18006         * tests/test-filter.c:
18007           tests: add initial test for video processing.
18008           Add minimal test case for video processing: scaling and color format
18009           conversion.
18010           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18011
18012 2013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
18013
18014         * docs/reference/libs/libs-sections.txt:
18015         * gst-libs/gst/vaapi/gstvaapifilter.c:
18016         * gst-libs/gst/vaapi/gstvaapifilter.h:
18017         * gst-libs/gst/vaapi/gstvaapiutils.c:
18018         * gst-libs/gst/vaapi/gstvaapiutils.h:
18019         * gst/vaapi/gstvaapipostproc.c:
18020         * gst/vaapi/gstvaapipostproc.h:
18021           filter: add initial support for deinterlacing.
18022           Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
18023           the selected field from the input surface is kept for the target surface.
18024           Setting gst_vaapi_filter_set_deinterlacing() method argument to
18025           GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
18026           Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
18027           to libgstvaapi core library.
18028           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18029
18030 2013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
18031
18032         * docs/reference/libs/libs-sections.txt:
18033         * gst-libs/gst/vaapi/gstvaapifilter.c:
18034         * gst-libs/gst/vaapi/gstvaapifilter.h:
18035           filter: add support for color balance adjustment.
18036           Add ProcAmp (color balance) adjustments for hue, saturation, brightness
18037           and contrast. The respective range for each filter shall be the same as
18038           for the VA display attributes.
18039           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18040
18041 2013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
18042
18043         * docs/reference/libs/libs-sections.txt:
18044         * gst-libs/gst/vaapi/gstvaapifilter.c:
18045         * gst-libs/gst/vaapi/gstvaapifilter.h:
18046           filter: add support for sharpening.
18047           Sharpening is configured with a float value. The supported range is
18048           -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
18049           operation at all.
18050           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18051
18052 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
18053
18054         * docs/reference/libs/libs-sections.txt:
18055         * gst-libs/gst/vaapi/gstvaapifilter.c:
18056         * gst-libs/gst/vaapi/gstvaapifilter.h:
18057           filter: add support for denoising.
18058           Noise reduction is configured with a float value. The supported range
18059           is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
18060           operation at all.
18061           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18062
18063 2013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18064
18065         * docs/reference/libs/libs-sections.txt:
18066         * gst-libs/gst/vaapi/gstvaapifilter.c:
18067         * gst-libs/gst/vaapi/gstvaapifilter.h:
18068           filter: add support for frame cropping.
18069           Frame cropping is defined with a GstVaapiRectangle value. The default
18070           behaviour is to treat the source surface as a whole
18071
18072 2013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18073
18074         * gst-libs/gst/vaapi/gstvaapifilter.c:
18075           filter: add helper functions.
18076           Add helper functions to ensure an operation VA buffer is allocated to
18077           the right size; that filter caps get parsed and assigned to the right
18078           operation too; and that float parameters are correctly scaled to fit
18079           the reported range from the VA driver.
18080
18081 2013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18082
18083         * configure.ac:
18084         * docs/reference/libs/libs-docs.xml.in:
18085         * docs/reference/libs/libs-sections.txt:
18086         * gst-libs/gst/vaapi/Makefile.am:
18087         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18088         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18089         * gst-libs/gst/vaapi/gstvaapifilter.c:
18090         * gst-libs/gst/vaapi/gstvaapifilter.h:
18091           Add initial infrastructure for video processing.
18092           Add initial API for video processing: only scaling and color format
18093           conversion operations are supported.
18094
18095 2013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18096
18097         * gst-libs/gst/vaapi/video-format.c:
18098         * gst-libs/gst/vaapi/video-format.h:
18099           libs: add gst_vaapi_video_format_from_string() helper.
18100           Add gst_vaapi_video_format_from_string() helper function to convert from
18101           a video format string representation to a suitable GstVideoFormat. This
18102           is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
18103           builds, and a proper iteration over all GstVideoFormat string representations
18104           otherwise for earlier GStreamer 0.10.x builds.
18105
18106 2013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18107
18108         * gst-libs/gst/vaapi/video-format.c:
18109         * gst-libs/gst/vaapi/video-format.h:
18110           libs: add gst_vaapi_video_format_from_va_fourcc() helper.
18111           Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
18112           VA fourcc value to a suitable GstVideoFormat.
18113
18114 2013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18115
18116         * gst-libs/gst/vaapi/gstvaapivalue.c:
18117         * gst-libs/gst/vaapi/gstvaapivalue.h:
18118           libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
18119           Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
18120           structures as a standard GType. This could be useful to have them
18121           described as a GValue later on.
18122
18123 2013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18124
18125         * docs/reference/libs/libs-docs.xml.in:
18126         * docs/reference/libs/libs-sections.txt:
18127         * gst-libs/gst/vaapi/Makefile.am:
18128         * gst-libs/gst/vaapi/gstvaapicontext.h:
18129         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
18130           libs: drop some public APIs.
18131           Don't expose GstVaapiContext APIs and make them totally private to
18132           libgstvaapi core library. That API would also tend to disappear in
18133           a future revision. Likewise, don't expose GstVaapiDisplayCache API
18134           but keep symbols visible so that the various render backends could
18135           share a common display cache implementation in libgstvaapi.
18136           Try to clean-up the documentation from any stale entry too.
18137
18138 2013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18139
18140         * tests/image.c:
18141         * tests/image.h:
18142           tests: image: allow creation of images with interleaved patterns.
18143           Add image_generate_full() function to create interleaved color rectangles.
18144           If flags is zero, the whole frame is generated with a unique pattern. If
18145           flags is non-zero, then each field is handled individually.
18146
18147 2013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18148
18149         * tests/image.c:
18150           tests: image: fix conversion from RGB to YUV.
18151           Fix RGB to YUV conversion to preserve full data range.
18152
18153 2013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18154
18155         * tests/image.c:
18156           tests: image: try to upload images through vaDeriveImage() too.
18157           On some platforms, vaPutImage() would fail even if it does not involve
18158           color format conversion or scaling, whereas copying raw pixels through
18159           vaDeriveImage() could work instead.
18160
18161 2013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18162
18163         * tests/image.c:
18164           tests: image: add support for packed YUV formats.
18165           Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
18166
18167 2013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18168
18169         * tests/image.c:
18170           tests: image: fix generation of I420/YV12 images.
18171           U/V planes were reversed, thus producing invalid images.
18172
18173 2013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18174
18175         * tests/image.c:
18176           tests: image: fix string representation for GstVideoFormat.
18177
18178 2013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18179
18180         * docs/reference/libs/libs-sections.txt:
18181         * gst-libs/gst/vaapi/Makefile.am:
18182         * gst-libs/gst/vaapi/gstvaapiimage.c:
18183         * gst-libs/gst/vaapi/gstvaapiimage.h:
18184         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
18185         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18186         * gst-libs/gst/vaapi/gstvaapisurface.c:
18187           image: clean image API up.
18188           Don't expose functions that reference a GstVaapiImageRaw, those are
18189           meant to be internal only for implementing subpictures sync. Also add
18190           a few private definitions to avoid functions calls for retrieving
18191           image size and format information.
18192
18193 2013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18194
18195         * docs/reference/libs/libs-sections.txt:
18196         * gst-libs/gst/vaapi/gstvaapiimage.c:
18197         * gst-libs/gst/vaapi/gstvaapiimage.h:
18198           image: add gst_vaapi_image_copy() helper.
18199           Add gst_vaapi_image_copy() helper function to copy images of same format
18200           and size.
18201
18202 2013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18203
18204         * gst/vaapi/gstvaapivideoconverter_x11.c:
18205           plugins: handle video cropping in X11 pixmap converter.
18206           Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
18207           we could decode from the stream.
18208
18209 2013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18210
18211         * gst/vaapi/Makefile.am:
18212         * gst/vaapi/gstvaapivideobuffer.c:
18213         * gst/vaapi/gstvaapivideoconverter_glx.c:
18214         * gst/vaapi/gstvaapivideoconverter_x11.c:
18215         * gst/vaapi/gstvaapivideoconverter_x11.h:
18216           plugins: add support for "x11-pixmap" video converter type.
18217           Install a new video converter that supports X11 pixmap targets for X11
18218           backends only, or make the GLX converter creation function chain up to
18219           the X11 converter whenever requested.
18220
18221 2013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18222
18223         * tests/simple-decoder.c:
18224           tests: simple-decoder: add support for pixmap API.
18225           Add support for the new render-to-pixmap API. Avoid flickering on
18226           platforms supporting video overlay by keeping up to 2 intermediate
18227           pixmaps.
18228
18229 2013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18230
18231         * tests/simple-decoder.c:
18232           tests: simple-decoder: add support for video cropping.
18233           Handle video cropping information attached to a VA surface proxy.
18234
18235 2013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18236
18237         * tests/output.c:
18238         * tests/output.h:
18239         * tests/test-decode.c:
18240           tests: add support for render-to-pixmap.
18241           Add --pixmap option to test-decode so that to allow copies of VA
18242           surface to an intermediate pixmap and rendering from that pixmap.
18243           Only X11 backends are supported for now.
18244
18245 2013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18246
18247         * configure.ac:
18248         * gst-libs/gst/vaapi/Makefile.am:
18249         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18250         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18251         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18252         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
18253           x11: implement pixmap rendering with RENDER extension.
18254           Use hardware accelerated XRenderComposite() function, from the RENDER
18255           extension, to blit a pixmap to screen. Besides, this can also support
18256           cropping and scaling.
18257
18258 2013-07-19 15:05:34 +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/gstvaapidisplay_x11.c:
18264         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
18265         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
18266         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
18267           x11: implement pixmap API.
18268           Implement the new render-to-pixmap API. The only supported pixmap format
18269           that will work is xRGB, with native byte ordering. Others might work but
18270           they were not tested.
18271
18272 2013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18273
18274         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
18275         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
18276         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18277           x11: update x11_get_geometry() helper function with depth output.
18278           Allow x11_get_geometry() utility function to also return the depth
18279           assigned to the X drawable.
18280
18281 2013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18282
18283         * docs/reference/libs/libs-docs.xml.in:
18284         * docs/reference/libs/libs-sections.txt:
18285         * gst-libs/gst/vaapi/Makefile.am:
18286         * gst-libs/gst/vaapi/gstvaapipixmap.c:
18287         * gst-libs/gst/vaapi/gstvaapipixmap.h:
18288         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
18289         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18290         * gst-libs/gst/vaapi/gstvaapiwindow.h:
18291         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
18292           Add initial Pixmap API.
18293           Add API to transfer VA urfaces to native pixmaps. Also add an API to
18294           render a native pixmap, for completeness. In general, rendering to
18295           pixmap would only be useful to certain VA drivers and use cases on
18296           X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
18297           in an upper layer.
18298
18299 2013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18300
18301         * docs/reference/libs/libs-sections.txt:
18302         * gst-libs/gst/vaapi/gstvaapiimage.c:
18303         * gst-libs/gst/vaapi/gstvaapisurface.c:
18304         * gst-libs/gst/vaapi/video-format.c:
18305         * gst-libs/gst/vaapi/video-format.h:
18306           libs: add and expose gst_vaapi_video_format_to_string() helper.
18307           This is just a wrapper over gst_video_format_to_string() for older
18308           GStreamer 0.10 builds.
18309
18310 2013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
18311
18312         * gst/vaapi/gstvaapipluginutil.c:
18313           plugins: fix display type comparison in gst_vaapi_create_display().
18314           After the code got moved to create the gst_vaapi_create_display() helper,
18315           this comparison was not updated to dereference the newly-created
18316           pointer, so the code was comparing the pointer itself to the type, and
18317           therefore failing to retrieve the VA display.
18318           This fixes the following error (and gets gst-vaapi decoding again):
18319           ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
18320           https://bugzilla.gnome.org/show_bug.cgi?id=704410
18321           Signed-off-by: Emilio López <emilio@elopez.com.ar>
18322
18323 2013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18324
18325         * configure.ac:
18326           Bump version for development.
18327
18328 === release 0.5.5 ===
18329
18330 2013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18331
18332         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18333           mpeg2: don't output dummy pictures.
18334           Mark dummy pictures as output already so that we don't try to submit
18335           them to the upper layer since this is purely internal / temporary
18336           picture for helping the decoder.
18337
18338 2013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18339
18340         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18341           decoder: dispose GstVideoCodecFrame earlier.
18342           Once the picture was output, it is no longer necessary to keep an extra
18343           reference to the underlying GstVideoCodecFrame. So, we can release it
18344           earlier, and maybe subsequently release the associate surface proxy
18345           earlier.
18346
18347 2013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18348
18349         * NEWS:
18350         * configure.ac:
18351           0.5.5.
18352
18353 2013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18354
18355         * docs/reference/libs/libs-sections.txt:
18356         * gst-libs/gst/vaapi/Makefile.am:
18357         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18358         * gst-libs/gst/vaapi/gstvaapiimage.c:
18359         * gst-libs/gst/vaapi/gstvaapisurface.c:
18360         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18361         * gst-libs/gst/vaapi/video-format.c:
18362         * gst-libs/gst/vaapi/video-format.h:
18363         * gst/vaapi/gstvaapidownload.c:
18364         * gst/vaapi/gstvaapiuploader.c:
18365         * tests/image.c:
18366         * tests/test-display.c:
18367           Fix new video format API.
18368           Fix new internal video format API, based on GstVideoFormat, to not
18369           clobber with system symbols. So replace the gst_video_format_* prefix
18370           with gst_vaapi_video_format_ prefix, even if the format type remains
18371           GstVideoFormat.
18372
18373 2013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18374
18375         * configure.ac:
18376           Bump library major version.
18377           Bump the library major version due to API/ABI changes that occurred in
18378           the imaging API. In particular, GstVaapiImageFormat type was replaced
18379           with the standard GstVideoFormat type. All dependent APIs were updated
18380           to match this change.
18381
18382 2013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18383
18384         * NEWS:
18385           NEWS: updates.
18386
18387 2013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18388
18389         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18390         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
18391           decoder: fix memory leak when processing interlaced pictures.
18392           Fix memory leak when processing interlaced pictures and that occurs
18393           because the first field, represented as a GstVideoCodecFrame, never
18394           gets released. i.e. when the picture is completed, this is generally
18395           the case when the second field is successfully decoded, we need to
18396           propagate the GstVideoCodecFrame of the first field to the original
18397           GstVideoDecoder so that it could reclaim memory.
18398           Otherwise, we keep accumulating the first fields into GstVideoDecoder
18399           private frames list until the end-of-stream is reached. The frames
18400           are eventually released there, but too late, i.e. too much memory
18401           may have been consumed.
18402           https://bugzilla.gnome.org/show_bug.cgi?id=701257
18403
18404 2013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18405
18406         * gst/vaapi/gstvaapipluginutil.c:
18407           plugins: simlpify gst_vaapi_create_display() helper.
18408           Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
18409           performs the necessary validation checks for the underlying VA display
18410           prior to returning to the caller. So, if an error occurred, then NULL is
18411           really returned in that case.
18412
18413 2013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18414
18415         * gst/vaapi/gstvaapipluginutil.c:
18416           plugins: add gst_vaapi_create_display() helper.
18417           https://bugzilla.gnome.org/show_bug.cgi?id=703235
18418           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18419
18420 2013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18421
18422         * gst/vaapi/gstvaapivideobufferpool.c:
18423           plugins: don't reallocate pool allocator for the same caps.
18424           If the video buffer pool config doesn't have new caps, then it's not
18425           necessary to reinstantiate the allocator. That could be a costly
18426           operation as we could do some extra heavy checking in there.
18427
18428 2013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18429
18430         * gst/vaapi/gstvaapivideomemory.c:
18431           plugins: fix ref counting of GstVaapiVideoMemory allocator.
18432           Fix reference counting issue whereby gst_memory_init() does not hold
18433           an extra reference to the GstAllocator. So, there could be situations
18434           where the last instance of GstVaapiVideoAllocator gets released before
18435           a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
18436
18437 2013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18438
18439         * gst/vaapi/gstvaapiuploader.c:
18440           vaapiupload: use implicit color conversion to NV12.
18441           Always perform conversion of sources buffers to NV12 since this is
18442           the way we tested for this capability in ensure_allowed_caps(). This
18443           also saves memory bandwidth for further rendering. However, this may
18444           not preserve quality since the YUV buffers are down-sampled to 4:2:0.
18445
18446 2013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18447
18448         * gst-libs/gst/vaapi/gstvaapivideopool.c:
18449           pool: fix deallocation of video pools.
18450           The queue of free objects to used was deallocated with g_queue_free_full().
18451           However, this convenience function shall only be used if the original queue
18452           was allocated with g_queue_new(). This caused memory corruption, eventually
18453           leading to a crash.
18454           The correct solution is to pair the g_queue_init() with the corresponding
18455           g_queue_clear(), while iterating over all free objects to deallocate them.
18456
18457 2013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
18458
18459         * gst/vaapi/gstvaapidownload.c:
18460           vaapidownload: fix src caps format error.
18461           This fixes direct linking of vaapidownload element to xvimagesink with
18462           VA drivers supporting vaGetImage() from the native VA surface format to
18463           a different VA image format. i.e. color conversion during download.
18464           http://bugzilla.gnome.org/show_bug.cgi?id=703937
18465           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18466
18467 2013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18468
18469         * gst/vaapi/gstvaapidownload.c:
18470           vaapidownload: fix debug string for image formats.
18471           The image is now expressed as a standard GstVideoFormat, which is not
18472           a FOURCC but rather a regular enum value.
18473           This is a regression introduced in commit 09397fa.
18474
18475 2013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
18476
18477         * gst-libs/gst/vaapi/gstvaapiimage.c:
18478           image: add support for raw YUY2/UYVY image copies.
18479           Implement raw image copies for YUY2 format. Add support for UYVY format
18480           too, with the same copy function as for YUY2. Even though components
18481           ordering differs, copying line strides is essentially the same.
18482           https://bugzilla.gnome.org/show_bug.cgi?id=703939
18483           https://bugzilla.gnome.org/show_bug.cgi?id=703940
18484           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18485
18486 2013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18487
18488         * gst/vaapi/gstvaapiuploader.c:
18489           plugins: clean-up video uploader helper.
18490           Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
18491           were already negotiated beforehand, and they are not used from the
18492           buffer in upstream elements.
18493           Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
18494           represented as a GstVideoInfo.
18495
18496 2013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18497
18498         * gst/vaapi/gstvaapiuploader.c:
18499           plugins: use GstVideoInfo in video uploader helper.
18500
18501 2013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18502
18503         * gst/vaapi/gstvaapivideomemory.c:
18504           plugins: allow creation of VA surfaces with explicit pixel format.
18505           Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
18506           with an explicit pixel format. This allows for direct rendering to
18507           VA surface memory from a software decoder.
18508
18509 2013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18510
18511         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18512           surface: fix surface pool creation with an explicit pixel format.
18513           Fix creation of surface pool objects to honour explicit pixel format
18514           specification. If this operation is not supported, then fallback to
18515           the older interface with chroma format.
18516
18517 2013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18518
18519         * gst-libs/gst/vaapi/gstvaapisurface.c:
18520           surface: try to determine the underlying VA surface format.
18521           If a VA surface was allocated with the chroma-format interface, try to
18522           determine the underlying pixel format on gst_vaapi_surface_get_format(),
18523           or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
18524
18525 2013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18526
18527         * docs/reference/libs/libs-sections.txt:
18528         * gst-libs/gst/vaapi/gstvaapisurface.c:
18529         * gst-libs/gst/vaapi/gstvaapisurface.h:
18530         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
18531           surface: allow creation with explicit pixel format.
18532           Make it possible to create VA surfaces with a specific pixel format.
18533           This is a new capability brought in by VA-API >= 0.34.0. If that
18534           capability is not built-in (e.g. using VA-API < 0.34.0), then
18535           gst_vaapi_surface_new_with_format() will return NULL.
18536
18537 2013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18538
18539         * docs/reference/libs/libs-sections.txt:
18540         * gst-libs/gst/vaapi/video-format.c:
18541         * gst-libs/gst/vaapi/video-format.h:
18542           surface: add helper function to get chroma type from GstVideoFormat.
18543           Add gst_video_format_get_chroma_type() helper function to determine
18544           the GstVaapiChromaType from a standard GStreamer video format. It is
18545           possible to reconstruct that from GstVideoFormatInfo but it is much
18546           simpler (and faster?) to use the local GstVideoFormatMap table.
18547
18548 2013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18549
18550         * gst-libs/gst/vaapi/gstvaapisurface.c:
18551         * gst-libs/gst/vaapi/gstvaapisurface.h:
18552         * gst-libs/gst/vaapi/gstvaapiutils.c:
18553         * gst-libs/gst/vaapi/gstvaapiutils.h:
18554           surface: add new chroma formats.
18555           Add new chroma formats available with VA-API >= 0.34.0. In particular,
18556           this includes "RGB" chroma formats, and more YUV subsampled formats.
18557           Also add a new from_GstVaapiChromaType() helper function to convert
18558           libgstvaapi chroma type to VA chroma format.
18559
18560 2013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18561
18562         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18563           pool: fix image pool to check for the video format to use.
18564           Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
18565           image pool object, only if the underlying VA display does support the
18566           requested VA image format.
18567
18568 2013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18569
18570         * gst-libs/gst/vaapi/gstvaapicontext.c:
18571         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18572         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
18573         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
18574         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
18575         * gst-libs/gst/vaapi/gstvaapivideopool.h:
18576         * gst/vaapi/gstvaapidownload.c:
18577         * gst/vaapi/gstvaapiuploader.c:
18578         * tests/Makefile.am:
18579         * tests/test-surfaces.c:
18580           Use GstVideoInfo for video pools.
18581           Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
18582           structures instead. Those are smaller, and allows for streamlining
18583           libgstvaapi more.
18584
18585 2013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18586
18587         * gst-libs/gst/vaapi/gstvaapiimage.c:
18588         * gst-libs/gst/vaapi/video-format.c:
18589           Add more video formats.
18590           Add new video format mappings to VA image formats:
18591           - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
18592           - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
18593
18594 2013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18595
18596         * gst-libs/gst/vaapi/gstvaapiimage.c:
18597           image: fix debug message with video format.
18598           Fix debug message string with image format expressed with GstVideoFormat
18599           instead of the obsolete format that turned out to be a fourcc.
18600           This is a regression from git commit e61c5fc.
18601
18602 2013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18603
18604         * tests/image.c:
18605         * tests/image.h:
18606         * tests/test-display.c:
18607         * tests/test-textures.c:
18608         * tests/test-windows.c:
18609           tests: port to new video format API.
18610
18611 2013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18612
18613         * gst/vaapi/gstvaapidownload.c:
18614         * gst/vaapi/gstvaapiuploader.c:
18615         * gst/vaapi/gstvaapivideomemory.c:
18616           plugins: port to new video format API.
18617
18618 2013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18619
18620         * gst-libs/gst/vaapi/gstvaapiimage.c:
18621           libs: use GstVideoInfo wherever possible.
18622           In particular, use gst_video_info_from_caps() helper function in VA image
18623           for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
18624           gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
18625
18626 2013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18627
18628         * docs/reference/libs/libs-docs.xml.in:
18629         * docs/reference/libs/libs-sections.txt:
18630         * gst-libs/gst/vaapi/Makefile.am:
18631         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
18632         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
18633           libs: drop GstVaapiImageFormat helpers.
18634           Drop GstVaapiImageFormat helpers since everything was moved to the new
18635           GstVideoFormat based API. Don't bother with backwards compatibility and
18636           just bump the library major version afterwards.
18637
18638 2013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18639
18640         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18641         * gst-libs/gst/vaapi/gstvaapidisplay.h:
18642         * gst-libs/gst/vaapi/gstvaapiimage.c:
18643         * gst-libs/gst/vaapi/gstvaapiimage.h:
18644         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
18645         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
18646           libs: port to new video format API.
18647
18648 2013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18649
18650         * docs/reference/libs/libs-docs.xml.in:
18651         * docs/reference/libs/libs-sections.txt:
18652         * gst-libs/gst/vaapi/Makefile.am:
18653         * gst-libs/gst/vaapi/video-format.c:
18654         * gst-libs/gst/vaapi/video-format.h:
18655           Add new video format API.
18656           Leverage GstVideoFormat utilities from core GStreamer to provide an
18657           adaptation layer to VA image formats.
18658
18659 2013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18660
18661         * NEWS:
18662           NEWS: updates.
18663
18664 2013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18665
18666         * gst/vaapi/gstvaapisink.c:
18667           vaapisink: fix creation of GLX texture.
18668           Fix creation of GLX texture, to not depend on the GstCaps video size that
18669           could be wrong, especially in presence of frame cropping. So, use the size
18670           from the source VA surfaces.
18671           An optimization could be to reduce the texture size to the actual visible
18672           size on screen. i.e. scale down the texture size to match the screen dimensions,
18673           while preserving the VA surface aspect ratio. However, some VA drivers don't
18674           honour that.
18675
18676 2013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18677
18678         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18679           mpeg2: add support for video cropping.
18680           If the stream has a sequence_display_extenion, then attach the
18681           display_horizontal/display_vertical dimension as the cropping
18682           rectangle width/height to the GstVaapiPicture.
18683           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18684
18685 2013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18686
18687         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
18688           vc1: add support for video cropping.
18689           If the Advanced profile has display_extension fields, then set the display
18690           width/height dimension as cropping rectangle to the GstVaapiPicture.
18691           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18692
18693 2013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18694
18695         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18696           h264: add support for video cropping.
18697           If the encoded stream has the frame_cropping_flag set, then associate
18698           the cropping rectangle to GstVaapiPicture.
18699           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18700
18701 2013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18702
18703         * tests/decoder.c:
18704         * tests/decoder.h:
18705         * tests/test-decode.c:
18706         * tests/test-subpicture.c:
18707           tests: add basic support for video cropping.
18708           Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
18709           instead of a plain GstVaapiSurface. This means that we can now retrieve
18710           the frame cropping rectangle from the surface proxy, along with additional
18711           information if ever needed.
18712
18713 2013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18714
18715         * gst/vaapi/gstvaapidecode.c:
18716         * gst/vaapi/gstvaapisink.c:
18717         * gst/vaapi/gstvaapivideometa.c:
18718           plugins: add support for video cropping.
18719           Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
18720           specific meta information to hold video cropping details. Make the sink
18721           support video cropping in X11 and GLX modes.
18722
18723 2013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18724
18725         * gst/vaapi/gstvaapivideometa.c:
18726         * gst/vaapi/gstvaapivideometa.h:
18727           plugins: add helper functions to set the render rectangle.
18728           Some video clips may have a clipping region that needs to propogate to
18729           the renderer. These helper functions make it possible to attach that
18730           clipping region, as a GstVaapiRectangle, the the video meta associated
18731           with the buffer.
18732           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18733           signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18734
18735 2013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18736
18737         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18738         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18739           surfaceproxy: allow for NULL cropping rectangle.
18740           Make it possible associate an empty cropping rectangle to the surface
18741           proxy, thus resetting any cropping rectangle that was previously set.
18742           This allows for returning plain NULL when no cropping rectangle was
18743           initially set up to the surface proxy, or if it was reset to defaults.
18744
18745 2013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18746
18747         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18748           surfaceproxy: clean-up helper macros.
18749           Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
18750           proxy macro argument to a GstVaapiSurfaceProxy pointer.
18751
18752 2013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18753
18754         * gst-libs/gst/vaapi/gstvaapisurface.c:
18755         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
18756         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18757         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18758           surface: add simple surface info accessors as helper macros.
18759           Add helper macros to retrieve the VA surface information like size
18760           (width, height) or chroma type. This is a micro-optimization to avoid
18761           useless function calls and NULL pointer re-checks in internal routines.
18762
18763 2013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18764
18765         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18766         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
18767         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18768         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18769         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
18770           decoder: add support for video cropping.
18771           Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
18772           cropping information from raw bitstreams to each picture being decoded.
18773           Also add helper function to surface proxy to propagate that information
18774           outside of libgstvaapi. e.g. plug-in elements or standalone applications.
18775           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18776           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18777
18778 2013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18779
18780         * ext/codecparsers:
18781           codecparsers: update to gst-vaapi-branch commit f90de0a.
18782           f90de0a h264: fix calculation of the frame cropping rectangle
18783           535515c h264: parse the cropping rectangle separately
18784
18785 2013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18786
18787         * ext/codecparsers:
18788           codecparsers: update to gst-vaapi-branch commit 0f68a71.
18789           0f68a71 mpeg2: fix video packet header size checks
18790
18791 2013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
18792
18793         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18794           mpeg2: reset quantization matrices on new sequence headers.
18795           The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
18796           shall be reset to their default values when a Sequence_Header() is
18797           decoded.
18798           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18799
18800 2013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18801
18802         * configure.ac:
18803         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
18804           mpeg2: cope with latest codecparser changes.
18805           Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
18806           used in individual header parsers. Also use the new slice parsing API.
18807
18808 2013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18809
18810         * ext/codecparsers:
18811           codecparsers: update to gst-vaapi-branch commit dddd182.
18812           dddd182 mpeg2: add slice header parsing API
18813           94e6228 mpeg2: add sequence scalable extension parsing API
18814           531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
18815           4b135d3 h264: fix the return value type for the SEI palyload parsing methods
18816
18817 2013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18818
18819         * gst/vaapi/gstvaapisink.c:
18820           vaapisink: expose the raw video formats in static caps template.
18821           Expose all raw video formats in the static caps template since the
18822           vaapisink is supporting raw data. We will get the exact set of formats
18823           supported by the driver dynamically through the _get_caps() routine.
18824           This also fixes an inconsistency wrt. GStreamer 0.10 builds.
18825           https://bugzilla.gnome.org/show_bug.cgi?id=702178
18826           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18827
18828 2013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18829
18830         * gst/vaapi/gstvaapisink.c:
18831         * gst/vaapi/gstvaapisink.h:
18832           vaapisink: add "use-glx" property for OpenGL rendering.
18833           Now that VA/GLX capable buffers are generated by default on X11, thus
18834           depending on a VA/GLX display, we stil want to use vaPutSurface() for
18835           rendering since it is faster.
18836           Anyway, OpenGL rendering in vaapisink was only meant for testing and
18837           enabling "fancy" effects to play with. This has no real value. So,
18838           disable OpenGL rendering by default.
18839
18840 2013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18841
18842         * gst/vaapi/gstvaapipluginutil.c:
18843           plugins: try to allocate a GLX display first over an X11 one.
18844           If the gstreamer-vaapi plug-in elements are built with GLX support, then
18845           try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
18846           display next.
18847           https://bugzilla.gnome.org/show_bug.cgi?id=701742
18848
18849 2013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
18850
18851         * configure.ac:
18852           configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
18853           jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
18854           https://bugzilla.gnome.org/show_bug.cgi?id=698858
18855           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18856
18857 2013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
18858
18859         * gst-libs/gst/vaapi/gstvaapiimage.c:
18860           image: fix wrong check for rect bounds in copy_image().
18861
18862 2013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18863
18864         * configure.ac:
18865           Bump version for development.
18866
18867 === release 0.5.4 ===
18868
18869 2013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18870
18871         * NEWS:
18872         * configure.ac:
18873           0.5.4.
18874
18875 2013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18876
18877         * NEWS:
18878           NEWS: updates.
18879
18880 2013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18881
18882         * configure.ac:
18883         * gst-libs/gst/codecparsers/Makefile.am:
18884           configure: always build the MPEG-4 parser.
18885           Always build the MPEG-4 parser for now as there are also core fixes
18886           included in the parser that cannot be tested for with API checks.
18887
18888 2013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18889
18890         * configure.ac:
18891           configure: add --enable-builtin-codecparsers [default="yes"] option.
18892           Add flag to have all codecparsers built-in, thus ensuring that the
18893           resulting binaries have all the necessary bug fixes and this is what
18894           the QA has been testing anyway.
18895           Of course, for a completely up-to-date Linux distribution, you could
18896           also opt for --disable-builtin-codecparsers and use the system ones.
18897           Though, some core fixes could be missing, and those cannot be tested
18898           for with API checks.
18899
18900 2013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18901
18902         * ext/codecparsers:
18903           codecparsers: update to gst-vaapi-branch commit 843ce3e.
18904           843ce3e jpeg: fix default Huffman tables generation.
18905           8655187 mpeg2: fix the pixel-aspect-ratio calculation
18906           21099dc mpeg2: actually store video bitrate values
18907           dd02087 mpeg2: fix picture packet extension size check
18908           25948e9 mpeg2: increase min size for picture coding ext
18909           f1f5a40 ensure the debug category is properly initialized
18910
18911 2013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18912
18913         * debian.upstream/Makefile.am:
18914           debian: fix list of generated files for .deb packaging.
18915
18916 2013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18917
18918         * configure.ac:
18919         * debian.upstream/Makefile.am:
18920         * debian.upstream/control.in:
18921           debian: fix libgstvaapi -dev package name.
18922           Fix libgstvaapi -dev package name so that to allow installation of both
18923           GStreamer 0.10 and 1.0.x based packages.
18924
18925 2013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18926
18927         * NEWS:
18928           NEWS: updates.
18929
18930 2013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18931
18932         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
18933           wayland: fix memory leak of display resources.
18934
18935 2013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
18936
18937         * gst/vaapi/gstvaapisink.c:
18938           vaapisink: fix build without VA/GLX support.
18939
18940 2013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18941
18942         * gst/vaapi/gstvaapivideomemory.c:
18943         * gst/vaapi/gstvaapivideomemory.h:
18944           plugins: allow buffer mappings to GstVaapiSurfaceProxy.
18945           Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
18946           video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
18947           caller. This is the only sensible enough thing to do in this mode as
18948           the underlying surface pixels need to be extracted through an explicit
18949           call to the gst_video_frame_map() function instead.
18950           A possible use-case of this is to implement a "handoff" signal handler
18951           to fakesink or identity element for further processing.
18952
18953 2013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18954
18955         * gst/vaapi/gstvaapivideomemory.c:
18956           plugins: silence check for direct-rendering mode in video memory.
18957           Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
18958           mode support, and not trigger fatal-criticals if either test surface or
18959           image could not be created. Typical case: pixel format mismatch, e.g. NV12
18960           supported by most hardware vs. I420 supported by most software decoders.
18961
18962 2013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18963
18964         * gst/vaapi/gstvaapivideomemory.c:
18965           plugins: improve video memory flags safety checks.
18966           On map, ensure we have GST_MAP_WRITE flags since this is only what we
18967           support for now. Likewise, on unmap, make sure that the VA image is
18968           unmapped for either read or write, while still committing it to the
18969           VA surface if write was requested.
18970
18971 2013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18972
18973         * gst-libs/gst/vaapi/gstvaapisurface.c:
18974           surface: fix memory leak through unreleased parent context.
18975           Break the circular references between GstVaapiContext and its children
18976           GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
18977           context, which holds a reference to its VA surfaces, then none of those
18978           were released.
18979           How does this impact support for subpictures?
18980           The only situation when the parent context needs to disappear is when
18981           it is replaced with another one because of a resolution change in the
18982           video stream for instance, or a normal destroy. In this case, it does
18983           not really matter to apply subpictures to the peer surfaces since they
18984           are either gone, or those that are left in the pipe can probably bear
18985           a reinstantiation of the subpictures for it.
18986           So, parent_context is set to NULL when the parent context is destroyed,
18987           other VA surfaces can still get subpictures attached to them, individually
18988           not as a whole. i.e. subpictures for surface S1 will be created from
18989           active composition buffers and associated to S1, subpictures for S2 will
18990           be created from the next active composition buffers, etc. We don't try
18991           to cache the subpictures in those cases (pending surfaces until EOS
18992           is reached, or pending surfaces until new surfaces matching new VA context
18993           get to be used instead).
18994
18995 2013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18996
18997         * gst/vaapi/gstvaapisink.c:
18998           vaapisink: fix one-time initialization when display property is set.
18999           Fix gst_vaapisink_ensure_display() to perform one-time initialization
19000           tasks even if the `display' property was explicitly set.
19001
19002 2013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19003
19004         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19005           window: fix GLX window initialization.
19006           Make sure to create the GLX context once the window object has completed
19007           its creation. Since gl_resize() relies on the newly created window size,
19008           then we cannot simply overload the GstVaapiWindowClass::create() hook.
19009           So, we just call into gst_vaapi_window_glx_ensure_context() once the
19010           window object is created in the gst_vaapi_window_glx_new*() functions.
19011
19012 2013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19013
19014         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19015         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
19016         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
19017         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19018         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19019         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
19020         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19021         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
19022         * gst-libs/gst/vaapi/gstvaapitexture.c:
19023         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19024         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19025         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19026         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19027           display: validate display types.
19028
19029 2013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19030
19031         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19032         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19033         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19034           display: drop internal NAME_PREFIX, store the real display name.
19035           Always store a valid display name/device path, instead of adding a
19036           particular prefix. i.e. make it simply a strdup(), or "" if it was
19037           initially NULL.
19038
19039 2013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19040
19041         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19042         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19043         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19044         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19045         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19046         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
19047         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19048           display: make it possible to lookup the display cache by type.
19049           Make it possible to add extra an extra filter to most of display cache
19050           lookup functions so that the GstVaapiDisplay instance can really match
19051           a compatible and existing display by type, instead of relying on extra
19052           string tags (e.g. "X11:" prefix, etc.).
19053
19054 2013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19055
19056         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19057         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19058         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19059           display: cope with new display cache API.
19060
19061 2013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19062
19063         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
19064         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
19065           display: rework display cache API.
19066           Simplify display cache API, while making it more flexible. We can now create
19067           custom lookup functions with gst_vaapi_display_cache_lookup_custom().
19068
19069 2013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19070
19071         * tests/test-display.c:
19072           tests: improve check for display cache.
19073           Improve check for display cache infrastructure. In particular, for X11 and
19074           GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
19075           from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
19076           shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
19077           already exists will have to generate different VA displays.
19078
19079 2013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
19080
19081         * gst/vaapi/gstvaapiuploader.c:
19082           uploader: fix memory leak in GStreamer 0.10 builds.
19083           In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
19084           but it exhibited a memory leak because the surface generated for the
19085           GstVaapiVideoMeta totally lost its parent video pool. So, it was not
19086           possible to release that surface back to the parent pool when the meta
19087           gets released, and the memory consumption kept growing.
19088           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19089
19090 2013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19091
19092         * gst/vaapi/gstvaapivideometa.c:
19093           plugins: fix gst_vaapi_video_meta_new_from_pool().
19094           Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
19095           the underlying object type, the gst_vaapi_video_meta_new_from_pool()
19096           was hereby totally broken. Fixed this regression by using the newly
19097           provided gst_vaapi_video_pool_get_object_type() function.
19098
19099 2013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19100
19101         * gst/vaapi/gstvaapiuploader.c:
19102         * gst/vaapi/gstvaapivideomemory.c:
19103         * gst/vaapi/gstvaapivideometa.c:
19104           plugins: cope with GST_VAAPI_IS_xxx() macros removal.
19105
19106 2013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19107
19108         * tests/decoder.c:
19109           tests: cope with GST_VAAPI_IS_xxx() macros removal.
19110
19111 2013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19112
19113         * docs/reference/libs/libs-sections.txt:
19114         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19115         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19116         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19117         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19118         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19119           libs: add query for GstVaapiVideoPool object types.
19120           Add API to identify the underlying GstVaapiVideoPool object type.
19121
19122 2013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19123
19124         * docs/reference/libs/libs-sections.txt:
19125         * gst-libs/gst/vaapi/gstvaapicontext.c:
19126         * gst-libs/gst/vaapi/gstvaapicontext.h:
19127         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19128         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19129         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19130         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19131         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19132         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
19133         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
19134         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19135         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
19136         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19137         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
19138         * gst-libs/gst/vaapi/gstvaapiimage.c:
19139         * gst-libs/gst/vaapi/gstvaapiimage.h:
19140         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19141         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
19142         * gst-libs/gst/vaapi/gstvaapiobject.c:
19143         * gst-libs/gst/vaapi/gstvaapiobject.h:
19144         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
19145         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
19146         * gst-libs/gst/vaapi/gstvaapisurface.c:
19147         * gst-libs/gst/vaapi/gstvaapisurface.h:
19148         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19149         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19150         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19151         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19152         * gst-libs/gst/vaapi/gstvaapitexture.c:
19153         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19154         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19155         * gst-libs/gst/vaapi/gstvaapiwindow.c:
19156         * gst-libs/gst/vaapi/gstvaapiwindow.h:
19157         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
19158         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19159         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19160         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
19161           libs: drop GST_VAAPI_IS_xxx() helper macros.
19162           Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
19163           deriving from GObject and so those were only checking for whether the
19164           argument was NULL or not. This is now irrelevant, and even confusing
19165           to some extent, because we no longer have type checking.
19166           Note: this incurs more type checking (review) but the libgstvaapi is
19167           rather small, so this is manageable.
19168
19169 2013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19170
19171         * configure.ac:
19172           Bump library major version.
19173           The whole libgstvaapi libraries got a major refresh to get rid of GObject.
19174           This is a fundamental change that requires a new SONAME. More changes are
19175           underway to streamline the core libraries.
19176           So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
19177           On one particular test (sintel HD trailer), the total number of executed
19178           instruction was reduced by 8%.
19179
19180 2013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19181
19182         * docs/reference/libs/Makefile.am:
19183         * docs/reference/libs/libs-docs.xml.in:
19184         * docs/reference/libs/libs-sections.txt:
19185         * docs/reference/libs/libs.core.types:
19186         * docs/reference/libs/libs.glx.types:
19187         * docs/reference/libs/libs.x11.types:
19188           docs: cope with removed APIs.
19189           Some APIs are dead because they are no longer based on GObject.
19190
19191 2013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19192
19193         * gst/vaapi/gstvaapidecode.c:
19194         * gst/vaapi/gstvaapidownload.c:
19195         * gst/vaapi/gstvaapipluginutil.c:
19196         * gst/vaapi/gstvaapipostproc.c:
19197         * gst/vaapi/gstvaapisink.c:
19198         * gst/vaapi/gstvaapiupload.c:
19199         * gst/vaapi/gstvaapiuploader.c:
19200         * gst/vaapi/gstvaapivideobufferpool.c:
19201         * gst/vaapi/gstvaapivideoconverter_glx.c:
19202         * gst/vaapi/gstvaapivideomemory.c:
19203         * gst/vaapi/gstvaapivideometa.c:
19204           plugins: cope with new GstVaapiMiniObject objects.
19205
19206 2013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19207
19208         * tests/decoder.c:
19209         * tests/image.c:
19210         * tests/output.c:
19211         * tests/simple-decoder.c:
19212         * tests/test-decode.c:
19213         * tests/test-display.c:
19214         * tests/test-subpicture.c:
19215         * tests/test-surfaces.c:
19216         * tests/test-textures.c:
19217         * tests/test-windows.c:
19218           tests: cope with new GstVaapiMiniObject objects.
19219
19220 2013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19221
19222         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19223           display: fix set_synchronous() to lock display.
19224
19225 2013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19226
19227         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19228         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19229           videopool: simplify creation of video objects pool.
19230
19231 2013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19232
19233         * gst-libs/gst/vaapi/gstvaapiobject.c:
19234         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19235         * gst-libs/gst/vaapi/gstvaapitypes.h:
19236           libs: simplify GstVaapiID definitions.
19237           Make GstVaapiID a gsize instead of guessing an underlying integer large
19238           enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
19239           this is plain zero and that it is no longer passed as varargs.
19240
19241 2013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19242
19243         * gst-libs/gst/vaapi/Makefile.am:
19244         * gst-libs/gst/vaapi/gstvaapi_priv.h:
19245         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
19246         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
19247         * gst-libs/gst/vaapi/gstvaapivalue.c:
19248         * gst-libs/gst/vaapi/gstvaapivalue.h:
19249           libs: drop obsolete function helpers and objects.
19250           Drop obsolete GstVaapiID related function helpers for passing them as
19251           GValues.
19252
19253 2013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19254
19255         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19256         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19257         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19258         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
19259         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
19260         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
19261         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
19262         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
19263         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
19264         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19265         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
19266         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
19267         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
19268         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
19269         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
19270         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
19271         * gst-libs/gst/vaapi/gstvaapiobject.c:
19272         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19273           libs: use GstVaapiMiniObject for display objects.
19274
19275 2013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19276
19277         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
19278         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19279         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19280         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19281         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
19282         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19283         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
19284         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19285         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
19286         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19287         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
19288         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19289         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19290         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19291         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
19292           libs: use GstVaapiMiniObject for video decoders.
19293           Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
19294           GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
19295           helper function to let the user add a callback to a function triggered
19296           whenever the codec state (e.g. caps) changes.
19297
19298 2013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19299
19300         * docs/reference/libs/libs-sections.txt:
19301         * gst-libs/gst/vaapi/Makefile.am:
19302         * gst-libs/gst/vaapi/gstvaapicontext.c:
19303         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
19304         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
19305         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
19306         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
19307         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19308         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19309         * gst-libs/gst/vaapi/gstvaapivideopool.h:
19310         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
19311           libs: use GstVaapiMiniObject for video object pools.
19312           Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
19313           GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
19314           no longer used for a long time. Make object allocators static, i.e.
19315           local to the shared library.
19316
19317 2013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19318
19319         * gst-libs/gst/vaapi/gstvaapitexture.c:
19320         * gst-libs/gst/vaapi/gstvaapitexture.h:
19321           libs: use GstVaapiObject for texture objects.
19322
19323 2013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19324
19325         * gst-libs/gst/vaapi/Makefile.am:
19326         * gst-libs/gst/vaapi/gstvaapiwindow.c:
19327         * gst-libs/gst/vaapi/gstvaapiwindow.h:
19328         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
19329         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
19330         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
19331         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
19332         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
19333         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
19334         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
19335         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
19336         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
19337         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
19338           libs: use GstVaapiObject for window objects.
19339
19340 2013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19341
19342         * gst-libs/gst/vaapi/gstvaapicontext.c:
19343         * gst-libs/gst/vaapi/gstvaapicontext.h:
19344         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19345         * gst-libs/gst/vaapi/gstvaapiimage.c:
19346         * gst-libs/gst/vaapi/gstvaapiimage.h:
19347         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
19348         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
19349         * gst-libs/gst/vaapi/gstvaapisurface.c:
19350         * gst-libs/gst/vaapi/gstvaapisurface.h:
19351         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19352         * gst-libs/gst/vaapi/gstvaapivideopool.c:
19353           libs: use GstVaapiObject for VA objects.
19354
19355 2013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19356
19357         * gst-libs/gst/vaapi/Makefile.am:
19358         * gst-libs/gst/vaapi/gstvaapiobject.c:
19359         * gst-libs/gst/vaapi/gstvaapiobject.h:
19360         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
19361           Port GstVaapiObject to GstVaapiMiniObject.
19362
19363 2013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19364
19365         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
19366         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
19367         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19368         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19369         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
19370         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
19371           libs: refine GstVaapiMiniObject.
19372           Drop support for user-defined data since this capability was not used
19373           so far and GstVaapiMiniObject represents the smallest reference counted
19374           object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
19375           Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
19376           is also possible to further simplify the layout of the object. i.e. merge
19377           GstVaapiMiniObjectBase into GstVaapiMiniObject.
19378
19379 2013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19380
19381         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19382           decoder: update picture size from the bitstream.
19383           Propagate the picture size from the bitstream to the GstVaapiDecoder,
19384           and subsequent user who installed a signal on notify::caps. This fixes
19385           decoding of TS streams when the demuxer failed to extract the required
19386           information.
19387
19388 2013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19389
19390         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19391           decoder: fix raw decoding mode.
19392           Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
19393           surface proxy to the caller.
19394
19395 2013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19396
19397         * docs/reference/libs/libs-sections.txt:
19398         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19399         * gst-libs/gst/vaapi/gstvaapidecoder.h:
19400         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19401         * gst/vaapi/gstvaapidecode.c:
19402           decoder: add gst_vaapi_decoder_get_frame_with_timeout().
19403           Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
19404           wait for a frame to be decoded, until the specified timeout in microseconds,
19405           prior to returning to the caller.
19406           This is a fix to performance regression from 851cc0, whereby the vaapidecode
19407           loop executed on the srcpad task was called to often, thus starving all CPU
19408           resources.
19409
19410 2013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19411
19412         * configure.ac:
19413           Bump version for development.
19414
19415 === release 0.5.3 ===
19416
19417 2013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19418
19419         * NEWS:
19420         * configure.ac:
19421           0.5.3.
19422
19423 2013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19424
19425         * NEWS:
19426           NEWS: updates.
19427
19428 2013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19429
19430         * gst/vaapi/gstvaapidecode.c:
19431           vaapidecode: rework heuristics to detect decode timeout.
19432           Rework heuristics to detect when downstream element ran into errors,
19433           and thus failing to release any VA surface in due time for the current
19434           frame to get decoded. In particular, recalibrate the render time base
19435           when the first frame gets submitted downstream, or when there is no
19436           timestamp that could be inferred.
19437
19438 2013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19439
19440         * gst-libs/gst/vaapi/gstcompat.h:
19441         * gst/vaapi/gstvaapidecode.c:
19442           vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
19443           Rework GstVideoDecoder::handle_frame() to decode the current frame,
19444           while possibly waiting for a free surface, and separately submit all
19445           decoded frames from a task. This makes it possible to pop and render
19446           decoded frames as soon as possible.
19447
19448 2013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19449
19450         * gst/vaapi/gstvaapidecode.c:
19451         * gst/vaapi/gstvaapidownload.c:
19452         * gst/vaapi/gstvaapisink.c:
19453         * gst/vaapi/gstvaapiupload.c:
19454           plugins: use gst_object_unref() wherever applicable.
19455           Use gst_object_unref() wherever applicable, e.g. objects derived from
19456           GstElement, GstVideoPool, etc.
19457
19458 2013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19459
19460         * docs/reference/plugins/plugins-docs.xml.in:
19461         * docs/reference/plugins/plugins-sections.txt:
19462         * docs/reference/plugins/plugins.types:
19463           docs: drop obsolete plug-ins.
19464           Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
19465           i.e. vaapiupload and vaapidownload are no longer the recommended
19466           plug-ins to use.
19467
19468 2013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19469
19470         * debian.upstream/rules:
19471           debian: fix build of GStreamer 0.10 packages.
19472           Fix build of Debian packages to scan the actual GStreamer API version
19473           from the generated changelog file.
19474
19475 2013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19476
19477         * gst/vaapi/gstvaapipostproc.c:
19478           vaapipostproc: minor clean-ups.
19479           Use g_clear_object() wherever appropriate and remove dead-code.
19480
19481 2013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19482
19483         * gst/vaapi/gstvaapipostproc.c:
19484           vaapipostproc: fix reference counting buf for passthrough mode.
19485           Fix reference counting bug for passthrough mode, whereby the input buffer
19486           was propagated as is downstream through gst_pad_push() without increasing
19487           its reference count before. The was a problem when gst_pad_push() returns
19488           an error and we further decrease the reference count of the input buffer.
19489
19490 2013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19491
19492         * gst-libs/gst/vaapi/gstcompat.h:
19493         * gst/vaapi/Makefile.am:
19494         * gst/vaapi/gstvaapi.c:
19495         * gst/vaapi/gstvaapidecode.c:
19496         * gst/vaapi/gstvaapipluginutil.h:
19497         * gst/vaapi/gstvaapipostproc.c:
19498           vaapipostproc: port to GStreamer 1.0.
19499           Add support for interlaced streams with GStreamer 1.0 too. Basically,
19500           this enables vaapipostproc, though it is not auto-plugged yet. We also
19501           make sure to reply to CAPS queries, and happily handle CAPS events.
19502
19503 2013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19504
19505         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19506           decoder: fix GstVideoCodecFrame flags for interlaced contents.
19507           Fix support for interlaced contents with GStreamer 0.10. In particular,
19508           propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
19509           correctly.
19510           This is a regression from commit 87e5717.
19511
19512 2013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19513
19514         * gst-libs/gst/vaapi/Makefile.am:
19515         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19516         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
19517         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
19518         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
19519           decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
19520           Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
19521           structure was only useful to parsing and a proper GstvaapiDecoderFrame
19522           instance will be created instead.
19523
19524 2013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19525
19526         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19527           decoder: export presentation timestamp for raw decoding mode.
19528           Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
19529           held any information about the expected presentation timestamp, frame
19530           duration or additional flags like interlaced or top-field-first.
19531
19532 2013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19533
19534         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19535         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19536           decoder: use new GstVaapiSurfaceProxy utility functions.
19537           Use new GstVaapiSurfaceProxy internal helper functions to propagate the
19538           necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
19539           Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
19540           i.e. increase the GstVideoCodecFrame reference count in push_frame rather
19541           than gst_vaapi_picture_output().
19542
19543 2013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19544
19545         * docs/reference/libs/libs-sections.txt:
19546         * gst-libs/gst/vaapi/Makefile.am:
19547         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19548         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19549         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19550           surfaceproxy: add more attributes for raw decoding modes.
19551           Add more attributes for raw decoding modes, i.e. directly through the
19552           libgstvaapi helper library. In particular, add presentation timestamp,
19553           duration and a couple of flags (interlaced, TFF, RFF, one-field).
19554
19555 2013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19556
19557         * docs/reference/libs/libs-sections.txt:
19558         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19559         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19560         * gst/vaapi/gstvaapidecode.c:
19561         * tests/simple-decoder.c:
19562           surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
19563           Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
19564           to call some user-provided function when the surface proxy is released.
19565
19566 2013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
19567
19568         * configure.ac:
19569         * gst-libs/gst/vaapi/Makefile.am:
19570           build: link libgstvaapi-glx-1.0.so against libdl.
19571           Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
19572           to resolve glXGetProcAddress() from GLX libraries. This fix builds on
19573           Fedora 17.
19574           https://bugzilla.gnome.org/show_bug.cgi?id=698046
19575           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19576
19577 2013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19578
19579         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19580           decoder: fix gst_vaapi_decoder_get_codec_state().
19581           Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
19582           supposed to make GstVaapiDecoder own the return GstVideoCodecState
19583           object. Only comment was updated, not the actual code.
19584
19585 2013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19586
19587         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19588         * gst/vaapi/gstvaapidecode.c:
19589           decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
19590           Make gst_vaapi_decoder_get_codec_state() return the original codec state,
19591           i.e. make the GstVaapiDecoder object own the return state so that callers
19592           that want an extra reference to it would just gst_video_codec_state_ref()
19593           it before usage. This aligns the behaviour with what we had before with
19594           gst_vaapi_decoder_get_caps().
19595           This is an ABI incompatible change, library major version was bumped from
19596           previous release (0.5.2).
19597
19598 2013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19599
19600         * gst/vaapi/gstvaapivideobufferpool.h:
19601         * gst/vaapi/gstvaapivideoconverter_glx.h:
19602           plugins: mark a few more functions as internal.
19603           Mark the following functions are internal, i.e. private to the vaapi plug-in:
19604           - gst_vaapi_video_buffer_pool_get_type()
19605           - gst_vaapi_video_converter_glx_get_type()
19606           - gst_vaapi_video_converter_glx_new()
19607
19608 2013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19609
19610         * gst/vaapi/gstvaapivideobuffer.c:
19611           plugins: implement GstSurfaceMeta API.
19612           Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
19613           an unstable/deprecated API, this makes it possible to support Clutter
19614           sink with minimal changes. Tested against clutter-gst 1.9.92.
19615
19616 2013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19617
19618         * gst/vaapi/gstvaapisink.c:
19619           vaapisink: optimize GstVideoOverlayInterface::expose().
19620           When render-mode is "overlay", then it is not really useful to peek into
19621           the GstBaseSink::last_buffer, since we have our own video_buffer already
19622           recorded and maintained into GstVaapiSink.
19623
19624 2013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19625
19626         * gst/vaapi/gstvaapisink.c:
19627           vaapisink: fix memory leak of GstSample objects.
19628           Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
19629           This also fixes extra unreferencing of the underlying GstBuffer in the common
19630           path afterwards (for both 0.10 or 1.0).
19631
19632 2013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19633
19634         * gst-libs/gst/vaapi/gstcompat.h:
19635         * gst/vaapi/gstvaapi.c:
19636           plugins: fix description for gst-inspect.
19637           Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
19638           need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
19639           incorrectly uses #name for creating the plug-in name, instead of using macro
19640           expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
19641
19642 2013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19643
19644         * README:
19645           README: updates.
19646           Update build requirements for GStreamer 1.0.x support. Add section for
19647           ways to report bugs.
19648
19649 2013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19650
19651         * NEWS:
19652           NEWS: updates.
19653
19654 2013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19655
19656         * gst-libs/gst/vaapi/Makefile.am:
19657         * gst/vaapi/Makefile.am:
19658           Fix make dist to include all source files, in any case.
19659           Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
19660           sure to include all source files in either case while generating source
19661           tarballs.
19662
19663 2013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19664
19665         * configure.ac:
19666           Bump library major version.
19667           Bump library major version, while preserving a major version of 0 for
19668           GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
19669           0.10 based librarieS.
19670
19671 2013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19672
19673         * gst/vaapi/gstvaapivideomemory.c:
19674         * gst/vaapi/gstvaapivideomemory.h:
19675           plugins: implement direct-rendering mode for raw YUV buffer uploads.
19676           Allow direct-rendering (writes) into target VA surfaces.
19677
19678 2013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19679
19680         * gst/vaapi/gstvaapivideobufferpool.c:
19681         * gst/vaapi/gstvaapivideomemory.c:
19682         * gst/vaapi/gstvaapivideomemory.h:
19683           plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
19684           Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
19685           the last component is unmapped. Downloads are not supported yet. The aim
19686           was to first support SW decoding + HW accelerated rendering (vaapisink).
19687           e.g. for Wayland.
19688
19689 2013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19690
19691         * gst/vaapi/gstvaapidecode.c:
19692           vaapidecode: submit all decoded frames before decoding a new one.
19693           Make sure to purge all pending frames that were already decoded prior
19694           to decoding a new one. This helps release VA surfaces as early as
19695           possible.
19696
19697 2013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19698
19699         * gst/vaapi/gstvaapidecode.c:
19700           vaapidecode: reply to CAPS queries.
19701           Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
19702           the set of allowed caps, i.e. it works similar to GstPad::get_caps().
19703           This fixes fallback to SW decoding if no HW decoder is available.
19704
19705 2013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19706
19707         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19708         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19709         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19710         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19711         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19712         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19713           decoder: fix unpaired GstBuffer map/unmaps.
19714           This possibly fixes a few memory leaks along the way.
19715
19716 2013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19717
19718         * configure.ac:
19719         * gst-libs/gst/vaapi/gstcompat.h:
19720         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
19721         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19722         * gst/vaapi/Makefile.am:
19723         * gst/vaapi/gstvaapi.c:
19724         * gst/vaapi/gstvaapidecode.c:
19725         * gst/vaapi/gstvaapisink.c:
19726         * gst/vaapi/gstvaapisink.h:
19727         * gst/vaapi/gstvaapiuploader.c:
19728         * tests/codec.c:
19729           Allow build against either GStreamer API (0.10 or 1.0).
19730           Introduce a new configure option --with-gstreamer-api that determines
19731           the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
19732           Also integrate more compatibility glue into gstcompat.h and plugins.
19733
19734 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19735
19736         * gst/vaapi/gstvaapidecode.c:
19737         * gst/vaapi/gstvaapisink.c:
19738         * gst/vaapi/gstvaapisink.h:
19739           plugins: use new video buffer pools.
19740           Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
19741           GstBaseSink::propose_allocation() to expose that pool to upstream
19742           elements; and also implement GstVideoDecoder::decide_allocation() to
19743           actually use that pool (from downstream), if any, or create one.
19744           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19745
19746 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19747
19748         * gst/vaapi/Makefile.am:
19749         * gst/vaapi/gstvaapivideobufferpool.c:
19750         * gst/vaapi/gstvaapivideobufferpool.h:
19751         * gst/vaapi/gstvaapivideomemory.c:
19752         * gst/vaapi/gstvaapivideomemory.h:
19753           plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
19754           Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
19755           object currently holds a reference to GstVaapiVideoMeta.
19756           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19757
19758 2013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19759
19760         * gst/vaapi/gstvaapivideometa.c:
19761         * gst/vaapi/gstvaapivideometa.h:
19762           plugins: allow copies of GstVaapiVideoMeta objects.
19763           Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
19764           objects created from GstVaapiVideoPool. This is mostly useful to clone a
19765           GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
19766           rendering flags.
19767
19768 2013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19769
19770         * gst/vaapi/gstvaapivideometa.c:
19771           plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
19772           Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
19773           reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
19774           gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
19775           argument is NULL.
19776
19777 2012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19778
19779         * gst/vaapi/Makefile.am:
19780         * gst/vaapi/gstvaapi.c:
19781         * gst/vaapi/gstvaapidecode.c:
19782         * gst/vaapi/gstvaapidownload.c:
19783         * gst/vaapi/gstvaapipluginutil.c:
19784         * gst/vaapi/gstvaapipostproc.c:
19785         * gst/vaapi/gstvaapisink.c:
19786         * gst/vaapi/gstvaapiupload.c:
19787         * gst/vaapi/gstvaapiuploader.c:
19788         * gst/vaapi/gstvaapivideobuffer.c:
19789         * gst/vaapi/gstvaapivideoconverter_glx.c:
19790         * gst/vaapi/gstvaapivideometa.c:
19791         * gst/vaapi/gstvaapivideometa.h:
19792           plugins: initial port to GStreamer 1.0.
19793           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
19794           is rather minimalistic so that to test the basic functionality.
19795           Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
19796           needs polishing wrt. to GStreamer 1.x functionality and the former are
19797           totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
19798           which are yet to be implemented.
19799           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19800
19801 2013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19802
19803         * gst-libs/gst/vaapi/gstcompat.h:
19804         * tests/codec.c:
19805         * tests/decoder.c:
19806         * tests/simple-decoder.c:
19807         * tests/test-subpicture.c:
19808           tests: add support for GStreamer 1.0.
19809
19810 2012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19811
19812         * configure.ac:
19813         * gst-libs/gst/vaapi/gstcompat.h:
19814         * gst-libs/gst/vaapi/gstvaapicontext.c:
19815         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19816         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19817         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
19818         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19819         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19820         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19821         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
19822         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19823         * gst-libs/gst/vaapi/gstvaapiimage.c:
19824         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
19825         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19826         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
19827         * gst-libs/gst/vaapi/gstvaapisurface.h:
19828           Add initial support for GStreamer 1.0.
19829           This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
19830           core decoding library. The changes are kept rather minimal here so that
19831           the library retains as little dependency as possible on core GStreamer
19832           functionality.
19833           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19834
19835 2013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19836
19837         * gst/vaapi/gstvaapisink.c:
19838           vaapisink: improve check for raw YUV format mode.
19839           Improve check for raw YUV format modes by avoiding checks against strings
19840           ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
19841           GstBaseSink::set_caps() is called first and if VA surface format mode is
19842           used, then GstBaseSink::buffer_alloc() is not called. If the latter is
19843           called before set_caps(), then we just make a full check. This one is
19844           pretty rare though, e.g. it usually happens once for custom pipelines.
19845
19846 2013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19847
19848         * gst/vaapi/gstvaapipluginutil.c:
19849           plugins: don't fail if there is no overlay composition to apply.
19850           Fix gst_vaapi_apply_composition() to not fail if no overlay composition
19851           was found. i.e. return success (TRUE). This was harmless though extra
19852           debug messages are not nice.
19853           This is a regression introduced by commit 95b8659.
19854
19855 2013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19856
19857         * gst/vaapi/gstvaapidecode.c:
19858         * gst/vaapi/gstvaapidecode.h:
19859           vaapidecode: expose the exact set of supported HW decoders.
19860           Don't return static caps that don't mean anything for the underlying codecs
19861           that are actually supported for decoding. i.e. always allocate a VA display
19862           and retrieve the exact set of HW decoders available. That VA display may be
19863           re-used later on during negotiation through GstVideoContext "prepare-context".
19864           This fixes fallback to SW decoding if no HW decoder is available.
19865
19866 2013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19867
19868         * docs/reference/libs/libs-sections.txt:
19869         * gst-libs/gst/vaapi/gstvaapicontext.c:
19870         * gst-libs/gst/vaapi/gstvaapicontext.h:
19871         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19872         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19873           decoder: drop obsolete functions.
19874           Drop the following functions that are now obsolete:
19875           - gst_vaapi_context_get_surface()
19876           - gst_vaapi_context_put_surface()
19877           - gst_vaapi_context_find_surface_by_id()
19878           - gst_vaapi_surface_proxy_new()
19879           - gst_vaapi_surface_proxy_get_context()
19880           - gst_vaapi_surface_proxy_set_context()
19881           - gst_vaapi_surface_proxy_set_surface()
19882           This is an API change.
19883
19884 2013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19885
19886         * gst-libs/gst/vaapi/gstvaapidecoder.c:
19887           decoder: delegate surface size check to VA context reset.
19888           Now that the surface pool is reference counted in the surface proxy wrapper,
19889           we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
19890           Besides, this check is already performed in gst_vaapi_context_reset_full().
19891
19892 2013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19893
19894         * docs/reference/libs/libs-sections.txt:
19895         * gst-libs/gst/vaapi/gstvaapicontext.c:
19896         * gst-libs/gst/vaapi/gstvaapicontext.h:
19897         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19898         * gst-libs/gst/vaapi/gstvaapisurface.h:
19899         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19900         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19901           decoder: simplify acquisition/release of spare surface.
19902           Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
19903           proxy from the context surface pool. This change also makes sure to retain
19904           the parent surface pool in the proxy.
19905           Besides, it was also totally useless to attach/detach parent context to
19906           VA surface each time we acquire/release it. Since the whole context owns
19907           all associated VA surfaces, we can mark this as such only once and for all.
19908
19909 2013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19910
19911         * configure.ac:
19912           Bump version for development.
19913
19914 === release 0.5.2 ===
19915
19916 2013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19917
19918         * NEWS:
19919         * configure.ac:
19920           0.5.2.
19921
19922 2013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19923
19924         * NEWS:
19925           NEWS: updates.
19926
19927 2013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19928
19929         * gst/vaapi/gstvaapipluginutil.c:
19930         * gst/vaapi/gstvaapisink.c:
19931           plugins: fix usage of gst_vaapi_reply_to_query().
19932           Make gst_vaapi_reply_to_query() first check whether the query argument
19933           is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
19934           Then, make sure vaapisink propagates the query to the parent class if
19935           it is not a video-context query.
19936
19937 2013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19938
19939         * gst/vaapi/gstvaapivideobuffer.c:
19940         * gst/vaapi/gstvaapivideobuffer.h:
19941           plugins: streamline video buffers.
19942           Add new gst_vaapi_video_buffer_new() helper function that allocates a video
19943           buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
19944           gst_vaapi_video_buffer_get_meta().
19945
19946 2013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19947
19948         * docs/reference/libs/libs-sections.txt:
19949         * gst-libs/gst/vaapi/Makefile.am:
19950         * gst/vaapi/Makefile.am:
19951         * gst/vaapi/gstvaapidecode.c:
19952         * gst/vaapi/gstvaapidownload.c:
19953         * gst/vaapi/gstvaapipostproc.c:
19954         * gst/vaapi/gstvaapisink.c:
19955         * gst/vaapi/gstvaapiupload.c:
19956         * gst/vaapi/gstvaapiuploader.c:
19957         * gst/vaapi/gstvaapivideobuffer.h:
19958         * gst/vaapi/gstvaapivideoconverter_glx.c:
19959         * gst/vaapi/gstvaapivideometa.c:
19960         * gst/vaapi/gstvaapivideometa.h:
19961           plugins: integrate GstVaapiVideoMeta from libgstvaapi.
19962           Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
19963           actual plugin elements. That's only useful there. Also inline reference
19964           counting code from GstVaapiMiniObject.
19965
19966 2013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19967
19968         * gst/vaapi/Makefile.am:
19969         * gst/vaapi/gstvaapidecode.c:
19970         * gst/vaapi/gstvaapidownload.c:
19971         * gst/vaapi/gstvaapipluginbuffer.c:
19972         * gst/vaapi/gstvaapipluginbuffer.h:
19973         * gst/vaapi/gstvaapipostproc.c:
19974         * gst/vaapi/gstvaapiupload.c:
19975         * gst/vaapi/gstvaapiuploader.c:
19976         * gst/vaapi/gstvaapivideobuffer.c:
19977         * gst/vaapi/gstvaapivideobuffer.h:
19978           plugins: drop gstvaapipluginbuffer.[ch] helper files.
19979           Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
19980           to gstvaapivideobuffer.[ch], and drop the obsolete files.
19981
19982 2013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19983
19984         * docs/reference/libs/libs-sections.txt:
19985         * docs/reference/libs/libs.core.types:
19986         * gst-libs/gst/vaapi/Makefile.am:
19987         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
19988         * gst/vaapi/Makefile.am:
19989         * gst/vaapi/gstvaapidownload.h:
19990         * gst/vaapi/gstvaapipluginbuffer.c:
19991         * gst/vaapi/gstvaapipostproc.h:
19992         * gst/vaapi/gstvaapivideobuffer.c:
19993         * gst/vaapi/gstvaapivideobuffer.h:
19994         * gst/vaapi/gstvaapivideoconverter_glx.h:
19995           plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
19996           Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
19997           actual plugin elements. That's only useful there.
19998
19999 2013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20000
20001         * gst/vaapi/gstvaapipluginutil.c:
20002         * gst/vaapi/gstvaapipluginutil.h:
20003         * gst/vaapi/gstvaapisink.c:
20004         * gst/vaapi/gstvaapivideoconverter_glx.c:
20005           plugins: use common helper function to apply compositions.
20006           Use common gst_vaapi_apply_composition() helper function to apply compositions
20007           attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
20008
20009 2013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20010
20011         * gst-libs/gst/vaapi/Makefile.am:
20012         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
20013         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
20014         * gst/vaapi/Makefile.am:
20015         * gst/vaapi/gstvaapipluginbuffer.c:
20016         * gst/vaapi/gstvaapivideoconverter_glx.c:
20017         * gst/vaapi/gstvaapivideoconverter_glx.h:
20018           plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
20019           Make sure libgstvaapi core decoding library doesn't include un-needed
20020           dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
20021           Besides, even if the vaapisink element is not used, we are bound to have
20022           a correctly populated GstSurfaceBuffer from vaapidecode.
20023           Also clean-up the file along the way.
20024
20025 2013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20026
20027         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20028           vc1: fix use of possibly uninitialized variable.
20029           In decode_codec_data(), force initialization of format to zero so that
20030           we can catch up cases where codec-data has neither "format" nor "wmvversion"
20031           fields, thus making it possible to gracefully fail in this case.
20032
20033 2013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20034
20035         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20036           jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
20037
20038 2013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20039
20040         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20041         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20042         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20043         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20044         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20045         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20046           decoder: sanitize codec-data decoding.
20047           Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
20048           codec-data in the decoder sub-class. Provide a common shared helper
20049           function to do the actual work and delegating further to the sub-class.
20050
20051 2013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20052
20053         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20054         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20055         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
20056         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
20057           decoder: get rid of GstVaapiDecoderUnit::buffer field.
20058           Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
20059           useless nowadays as creating sub-buffers doesn't bring any value. It
20060           actually means more memory allocations. We can't do without that in
20061           JPEG and MPEG-4:2 decoders.
20062
20063 2013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20064
20065         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20066         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20067         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20068         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20069         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20070           decoder: sanitize uses of codec frame input buffer (cosmetics).
20071           Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
20072           "buffer" variable.
20073
20074 2013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20075
20076         * gst/vaapi/gstvaapisink.c:
20077           vaapisink: add helper function to apply a composition buffer.
20078           Simplify application of a composition buffer to a GstVaapiSurface, and
20079           all its peers, until that function is eventually promoted to libgstvaapi.
20080
20081 2013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20082
20083         * gst/vaapi/gstvaapisink.c:
20084           vaapisink: fix support for raw YUV buffers.
20085           If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
20086           hook, then it will have a valid GstVaapiVideoMeta object attached to it.
20087           However, we previously assumed in that case that it was a "native" VA buffer,
20088           thus not calling into GstVaapiUploader::process().
20089
20090 2013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20091
20092         * gst-libs/gst/vaapi/gstcompat.h:
20093         * gst/vaapi/gstvaapidecode.c:
20094         * gst/vaapi/gstvaapidownload.c:
20095         * gst/vaapi/gstvaapipostproc.c:
20096         * gst/vaapi/gstvaapisink.c:
20097         * gst/vaapi/gstvaapiupload.c:
20098           plugins: use modern GstElement metadata information.
20099           Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
20100           basically is the same as gst_element_class_set_details_simple() in
20101           GStreamer 0.10 context.
20102
20103 2013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20104
20105         * gst/vaapi/gstvaapidecode.c:
20106         * gst/vaapi/gstvaapidownload.c:
20107         * gst/vaapi/gstvaapipostproc.c:
20108         * gst/vaapi/gstvaapisink.c:
20109         * gst/vaapi/gstvaapiupload.c:
20110           plugins: move up interfaces (cosmetics).
20111           Move GstImplementsInterface and GstVideoContext support functions up
20112           so that to keep a clear separation between the plugin element and its
20113           interface hooks.
20114
20115 2013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20116
20117         * gst/vaapi/gstvaapisink.c:
20118         * gst/vaapi/gstvaapiuploader.c:
20119           plugins: upgrade to newer APIs (GstVideoInfo based helpers).
20120           Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
20121           Also use the newly added gst_vaapi_image_format_from_structure() helper
20122           in GstVaapiUploader::ensure_allowed_caps().
20123
20124 2013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20125
20126         * gst/vaapi/gstvaapipluginbuffer.c:
20127           plugins: fix creation of video buffer from another source buffer.
20128           gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
20129           buffer video meta since it would be unreference'd from the get_buffer()
20130           helper function. For other cases, we still use (steal) the newly created
20131           video meta.
20132
20133 2013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20134
20135         * gst/vaapi/gstvaapipluginbuffer.c:
20136         * gst/vaapi/gstvaapipluginutil.c:
20137           plugins: include "sysdeps.h" header instead of "config.h".
20138
20139 2013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20140
20141         * gst-libs/gst/vaapi/gstcompat.h:
20142         * tests/codec.c:
20143           tests: modernize GstTypeFind functions.
20144           Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
20145           exactly correspond to the expected behaviour.
20146
20147 2013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20148
20149         * tests/image.c:
20150         * tests/image.h:
20151         * tests/test-decode.c:
20152         * tests/test-display.c:
20153         * tests/test-h264.c:
20154         * tests/test-h264.h:
20155         * tests/test-jpeg.c:
20156         * tests/test-jpeg.h:
20157         * tests/test-mpeg2.c:
20158         * tests/test-mpeg2.h:
20159         * tests/test-mpeg4.c:
20160         * tests/test-mpeg4.h:
20161         * tests/test-textures.c:
20162         * tests/test-vc1.c:
20163         * tests/test-vc1.h:
20164         * tests/test-windows.c:
20165           tests: fix license templates.
20166
20167 2013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20168
20169         * tests/test-display.c:
20170           tests: use gst_vaapi_image_format_from_structure() in test-display.
20171           Use gst_vaapi_image_format_from_structure() helper in test-display and
20172           then extract a VAImageFormat from it instead of relying on GstCaps for
20173           YUV and RGB formats.
20174
20175 2013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20176
20177         * tests/codec.c:
20178         * tests/decoder.c:
20179         * tests/output.c:
20180         * tests/test-decode.c:
20181         * tests/test-display.c:
20182         * tests/test-subpicture.c:
20183         * tests/test-textures.c:
20184         * tests/test-windows.c:
20185           tests: include "sysdeps.h" header instead of "config.h".
20186
20187 2013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20188
20189         * gst-libs/gst/vaapi/gstcompat.h:
20190         * gst-libs/gst/vaapi/gstvaapicontext.c:
20191         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20192           subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
20193           Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
20194           function with GStreamer 0.10 compatible semantics, or that tries to
20195           approach the current meaning. Basically, this is also just about moving
20196           the helper to gstcompat.h.
20197
20198 2013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20199
20200         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
20201         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
20202           image: add gst_vaapi_image_format_from_structure() helper.
20203           Add helper function to convert video formats from a GstStructure to a
20204           plain GstVaapiImageFormat.
20205
20206 2013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20207
20208         * gst-libs/gst/vaapi/Makefile.am:
20209         * gst-libs/gst/vaapi/gstcompat.h:
20210         * gst-libs/gst/vaapi/sysdeps.h:
20211           sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
20212
20213 2013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20214
20215         * gst-libs/gst/vaapi/sysdeps.h:
20216           sysdeps: add more standard includes by default.
20217
20218 2013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20219
20220         * configure.ac:
20221           configure: improve GStreamer API version checks.
20222
20223 2013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20224
20225         * configure.ac:
20226         * debian.upstream/Makefile.am:
20227         * debian.upstream/changelog.in:
20228         * debian.upstream/control.in:
20229         * debian.upstream/gstreamer-vaapi-doc.install.in:
20230         * debian.upstream/libgstvaapi-dev.install.in:
20231         * debian.upstream/libgstvaapi-drm.install.in:
20232         * debian.upstream/libgstvaapi-glx.install.in:
20233         * debian.upstream/libgstvaapi-wayland.install.in:
20234         * debian.upstream/libgstvaapi-x11.install.in:
20235         * debian.upstream/libgstvaapi.install.in:
20236         * docs/reference/libs/Makefile.am:
20237         * docs/reference/libs/libs-docs.xml.in:
20238         * docs/reference/plugins/Makefile.am:
20239         * docs/reference/plugins/plugins-docs.xml.in:
20240         * gst-libs/gst/vaapi/Makefile.am:
20241         * gst/vaapi/Makefile.am:
20242         * pkgconfig/Makefile.am:
20243         * pkgconfig/gstreamer-vaapi-drm.pc.in:
20244         * pkgconfig/gstreamer-vaapi-glx.pc.in:
20245         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
20246         * pkgconfig/gstreamer-vaapi-x11.pc.in:
20247         * pkgconfig/gstreamer-vaapi.pc.in:
20248         * tests/Makefile.am:
20249           configure: rename GST_MAJORMINOR to GST_API_VERSION.
20250
20251 2013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20252
20253         * configure.ac:
20254           configure: improve check for H.264 codecparser.
20255
20256 2013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
20257
20258         * gst/vaapi/gstvaapiuploader.c:
20259           vaapiupload: fix illegal write in ensure_image().
20260           Fix ensure_image() to only zero-initialize the first line of each plane.
20261           Properly initializing each plane to their full vertical resolution would
20262           require to actually compute it based on the image format.
20263           In particular, for NV12 images, the UV plane has half vertical resolution
20264           vs. the Y plane. So using the full image height to initialize the UV plane
20265           will obviously lead to a buffer overflow. Likewise for other YUV format.
20266           Since ensure_image() is only a helper function to initialize something,
20267           and not necessarily the whole thing, it is fine to initializ the first
20268           line only. Besides, the target surface is not rendered either.
20269           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20270
20271 2013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
20272
20273         * gst-libs/gst/codecparsers/Makefile.am:
20274         * gst-libs/gst/video/Makefile.am:
20275           build: fix compiling of local GstVideoDecoder and codecparsers.
20276           Generated source files were missing a dependency on the complete set of
20277           generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
20278           to build and almost every codec parser source depends on parserutils.h.
20279           https://bugs.freedesktop.org/show_bug.cgi?id=59575
20280           Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
20281           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20282
20283 2013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20284
20285         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20286           h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
20287           Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
20288           there is no pred_weight_table() that was parsed.
20289           This is a workaround for the VA intel-driver on Ivy Bridge.
20290
20291 2013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20292
20293         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20294           h264: use new profile definitions from codecparsers.
20295
20296 2013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20297
20298         * ext/codecparsers:
20299           codecparsers: update to gst-vaapi-branch commit 500bc02.
20300           500bc02 h264: add profile enums
20301
20302 2013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20303
20304         * NEWS:
20305           NEWS: updates.
20306
20307 2013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20308
20309         * ext/codecparsers:
20310           codecparsers: update to gst-vaapi-branch commit 31b1c57.
20311           8957fb7 mpeg2: add helpers to convert quantization matrices
20312           07c4034 mpeg2: store quantization matrices in zigzag scan order
20313
20314 2013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20315
20316         * tests/simple-decoder.c:
20317           tests: simple-decoder: fix build on older platforms.
20318           Make simple-decoder build and execute correctly on older platforms,
20319           and more precisely older versions of glib.
20320
20321 2013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20322
20323         * gst-libs/gst/vaapi/glibcompat.h:
20324           glibcompat: add replacement for g_async_queue_timeout_pop().
20325           g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
20326           g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
20327           new data to arrive in the queue.
20328
20329 2013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20330
20331         * gst-libs/gst/vaapi/glibcompat.h:
20332           glibcompat: add replacement for g_cond_wait().
20333
20334 2013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20335
20336         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20337           mpeg2: fix decoding of 4K videos.
20338           Account for slice_vertical_position_extension when vertical_size > 2800.
20339
20340 2013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20341
20342         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20343           mpeg2: fix decoding of sequence_end().
20344           There shall be only one place to call decode_current_picture(), and this
20345           is in the end_frame() hook. The EOS unit is processed after end_frame()
20346           so this means we cannot have a valid picture to decode/output at this
20347           point.
20348
20349 2013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20350
20351         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20352           mpeg2: improve robustness when packets are missing.
20353           Improve robustness when some expected packets where not received yet
20354           or that were not correctly decoded. For example, don't try to decode
20355           a picture if there was no valid sequence or picture headers.
20356
20357 2013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20358
20359         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20360           decoder: handle decode-only frames in raw API mode.
20361           Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
20362           surface proxy, i.e. with a valid VA surface. This means that any frame
20363           marked as decode-only is simply skipped.
20364
20365 2013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20366
20367         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20368         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20369           decoder: allow frames to be dropped.
20370           If the decoder was not able to decode a frame because insufficient
20371           information was available, e.g. missing sequence or picture header,
20372           then allow the frame to be gracefully dropped without generating
20373           any error.
20374           It is also possible that a frame is not meant to be displayed but
20375           only used as a reference, so dropping that frame is also a valid
20376           operation since GstVideoDecoder base class has extra references to
20377           that GstVideoCodecFrame that needs to be released.
20378
20379 2013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20380
20381         * gst/vaapi/gstvaapidecode.c:
20382           vaapidecode: handle decode-only frames.
20383           Decode-only frames may not have a valid surface proxy. So, simply discard
20384           them gracefully, i.e. don't create meta data information. GstVideoDecoder
20385           base class will properly handle this case and won't try to push any buffer
20386           to downstream elements.
20387
20388 2013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20389
20390         * gst/vaapi/gstvaapidecode.c:
20391           vaapidecode: add support for post-seek semantics reset.
20392           Implement GstVideoDecoder::reset() as a destruction of the VA decoder
20393           and the creation of a new VA decoder.
20394           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20395
20396 2013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20397
20398         * configure.ac:
20399           Bump version for development.
20400
20401 === release 0.5.1 ===
20402
20403 2013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20404
20405         * NEWS:
20406         * configure.ac:
20407           0.5.1.
20408
20409 2013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20410
20411         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20412           mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
20413
20414 2013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20415
20416         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
20417           decoder: fix documentation for GstVaapiDecoderFrame.
20418           Drop superfluous reference to prev_slice member.
20419
20420 2013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20421
20422         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20423           decoder: assume current frame is complete at end-of-stream.
20424           Assume we got a complete frame when the end-of-stream is reached and that
20425           the current codec frame contains at least one slice data unit.
20426
20427 2013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20428
20429         * NEWS:
20430         * README:
20431         * debian.upstream/copyright:
20432         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
20433         * gst-libs/gst/vaapi/gstvaapicontext.c:
20434         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20435         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20436         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20437         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20438         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
20439         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
20440         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20441         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20442         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20443         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20444         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20445         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20446         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20447         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
20448         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
20449         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20450         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20451         * gst-libs/gst/vaapi/gstvaapidisplay.h:
20452         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20453         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
20454         * gst-libs/gst/vaapi/gstvaapiprofile.h:
20455         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20456         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
20457         * gst-libs/gst/vaapi/gstvaapisurface.c:
20458         * gst-libs/gst/vaapi/gstvaapiutils.c:
20459         * gst-libs/gst/vaapi/gstvaapiutils.h:
20460         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
20461         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
20462         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
20463         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20464         * gst-libs/gst/vaapi/sysdeps.h:
20465         * gst/vaapi/gstvaapidecode.c:
20466         * gst/vaapi/gstvaapidownload.c:
20467         * gst/vaapi/gstvaapipluginbuffer.c:
20468         * gst/vaapi/gstvaapipluginbuffer.h:
20469         * gst/vaapi/gstvaapipostproc.c:
20470         * gst/vaapi/gstvaapisink.c:
20471         * gst/vaapi/gstvaapiupload.c:
20472         * gst/vaapi/gstvaapiuploader.c:
20473         * tests/output.c:
20474         * tests/test-decode.c:
20475         * tests/test-subpicture.c:
20476           legal: fix year for some copyright notices (2013).
20477
20478 2013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20479
20480         * gst-libs/gst/vaapi/gstvaapicontext.h:
20481         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20482         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20483         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
20484         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20485         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
20486         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20487         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
20488         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
20489         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
20490         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
20491         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
20492         * gst-libs/gst/vaapi/gstvaapisurface.c:
20493         * gst-libs/gst/vaapi/gstvaapisurface.h:
20494         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
20495         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
20496         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
20497         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
20498         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
20499         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
20500         * gst/vaapi/gstvaapidecode.h:
20501         * gst/vaapi/gstvaapisink.h:
20502         * tests/test-subpicture.c:
20503           legal: fix year for some copyright notices (2012).
20504
20505 2013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20506
20507         * gst-libs/gst/vaapi/gstvaapicompat.h:
20508         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
20509         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
20510         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
20511         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
20512         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
20513         * gst-libs/gst/vaapi/gstvaapiobject.c:
20514         * gst-libs/gst/vaapi/gstvaapiobject.h:
20515         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
20516         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
20517         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
20518         * gst-libs/gst/vaapi/gstvaapiprofile.c:
20519         * gst-libs/gst/vaapi/gstvaapiprofile.h:
20520         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
20521         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
20522         * gst-libs/gst/vaapi/gstvaapitexture.c:
20523         * gst-libs/gst/vaapi/gstvaapitexture.h:
20524         * gst-libs/gst/vaapi/gstvaapitypes.h:
20525         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
20526         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
20527         * gst-libs/gst/vaapi/gstvaapivalue.c:
20528         * gst-libs/gst/vaapi/gstvaapivalue.h:
20529         * gst-libs/gst/vaapi/gstvaapivideopool.c:
20530         * gst-libs/gst/vaapi/gstvaapivideopool.h:
20531         * gst-libs/gst/vaapi/gstvaapiwindow.h:
20532         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20533         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
20534         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20535         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
20536         * tests/test-display.c:
20537         * tests/test-surfaces.c:
20538         * tests/test-windows.c:
20539           legal: add Intel copyright on modified files.
20540
20541 2013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20542
20543         * NEWS:
20544           NEWS: updates.
20545
20546 2013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20547
20548         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20549           wayland: use a local event queue to avoid lock contention.
20550           This improves performance when rendering several surfaces from within
20551           the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
20552
20553 2013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20554
20555         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20556           wayland: fix thread-safe issues.
20557           The Wayland API is not fully thread-safe and client applications shall
20558           perform locking themselves on key functions. Besides, make sure to
20559           release the lock if the _render() function fails.
20560
20561 2013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20562
20563         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20564           wayland: really wait until the pending redraw completed.
20565           Introduce gst_vaapi_window_wayland_sync() helper function to wait for
20566           the completion of the redraw request. Use it in _render() function to
20567           actually block until the previous draw request is completed.
20568
20569 2013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20570
20571         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
20572           wayland: fix frame_redraw callback.
20573           The redraw callback needs to be attached to the surface prior to the
20574           commit. Otherwise, the callback notifies the next surface repaint,
20575           which is not the desired behaviour. i.e. we want to be notified for
20576           the surface we have just filled.
20577           Another isse was the redraw_pending was reset before the actual completion
20578           of the frame redraw callback function, thus causing concurrency issues.
20579           e.g. the callback could have been called again, but with a NULL buffer.
20580
20581 2013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20582
20583         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20584           wayland: fix display sharing.
20585           When the Wayland display is shared, we still have to create our own local
20586           shell and compositor objects, since they are not propagated from the cache.
20587           Likewise, we also need to determine the display size or vaapisink would
20588           fail to account for the display aspect ratio, and will try to create a 0x0
20589           window.
20590
20591 2013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20592
20593         * ext/codecparsers:
20594           codecparsers: update to gst-vaapi-branch commit 21a098e.
20595           21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
20596           f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
20597
20598 2013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20599
20600         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20601           vc1: handle frames with multiple slices.
20602
20603 2013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20604
20605         * ext/codecparsers:
20606           codecparsers: update to gst-vaapi-branch commit 3fba492.
20607           3fba492 vc1: add API to parse slice headers
20608
20609 2013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20610
20611         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20612           vc1: handle CLOSED_ENTRY.
20613           When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
20614           lack a reference anchor picture, these B pictures shall be discarded.
20615           https://bugs.freedesktop.org/show_bug.cgi?id=59505
20616
20617 2013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20618
20619         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20620           vc1: cope with latest codecparser changes.
20621           Fix build with newer VC-1 codecparser where dqsbedge was renamed to
20622           dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
20623           the actual value of DQPROFILE.
20624
20625 2013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20626
20627         * ext/codecparsers:
20628           codecparsers: update to gst-vaapi-branch commit 3d2c67c.
20629           3d2c67c vc1: simplify GstVC1VopDquant structure
20630
20631 2013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20632
20633         * ext/codecparsers:
20634           codecparsers: update to gst-vaapi-branch commit 5d33da8.
20635           5d33da8 vc1: fix bitplanes decoding
20636           562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
20637           0b13d2b vc1: fix calculation of ALTPQUANT
20638           ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
20639
20640 2013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20641
20642         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20643           vc1: fix size of encapsulated BDU.
20644           Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
20645           the size of the BDU data, starting from offset, i.e. after any start
20646           code is parsed.
20647           This fixes a buffer overflow during the unescaping process.
20648
20649 2013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
20650
20651         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20652           vc1: fix decoding of WMV3 videos in AVI format.
20653           The AVI demuxer (avidemux) does not set a proper "format" attribute
20654           to the generated caps. So, try to recover the video codec format from
20655           the "wmvversion" property instead.
20656           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20657
20658 2013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20659
20660         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20661           vc1: review and report errors accordingly.
20662           Use GST_ERROR() to report real errors instead of hiding them into
20663           GST_DEBUG().
20664
20665 2013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20666
20667         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20668           vc1: don't create GstBuffers for all decoder units.
20669           Don't create temporary GstBuffers for all decoder units, even if they
20670           are lightweight "sub-buffers", since it is not really necessary to keep
20671           the buffer data around.
20672
20673 2013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20674
20675         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20676           vc1: implement flush() hook.
20677           Make it a simple DPB flush.
20678
20679 2013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20680
20681         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20682           vc1: implement {start,end}_frame() hooks.
20683           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
20684           that to create new VA context earlier and submit VA pictures to the
20685           HW for decoding as soon as possible. i.e. don't wait for the next
20686           frame to start decoding the previous one.
20687
20688 2013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20689
20690         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20691           vc1: fix next POC for new sequence layers.
20692           Fix next POC when a new sequence layer is reached. At this point, we
20693           need to reset any previous reference picture, i.e. non B-frame.
20694
20695 2012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20696
20697         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20698           vc1: port to common GstVaapiDpb interface.
20699           Use GstVaapiDpb interface instead of maintaining our own prev and next
20700           picture pointers. While doing so, try to derive a sensible POC value.
20701           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20702
20703 2013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20704
20705         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20706           vc1: fix decode_sequence_end() to return success, not EOS.
20707
20708 2013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20709
20710         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20711           decoder: simplify gst_vaapi_decoder_get_surface().
20712           Avoid extraenous branches, i.e. immediately return with success once we
20713           have a decoded frame available.
20714
20715 2013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20716
20717         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20718           decoder: optimize and clean decode_step() up.
20719           Avoid usage of goto. Simplify decode_step() process to first accumulate all
20720           pending buffers into the GstAdapter, and then parse and decode units from
20721           that input adapter. Stop the process once a frame is fully decoded or an
20722           error occurred.
20723
20724 2013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20725
20726         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20727           display: move "vaapi" debug init to libgstvaapi_init_once().
20728
20729 2013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20730
20731         * configure.ac:
20732         * gst-libs/gst/vaapi/Makefile.am:
20733         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20734         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
20735           display: dump gstreamer-vaapi version for debugging purposes.
20736
20737 2013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20738
20739         * tests/Makefile.am:
20740           tests: simple-decoder: fix build with built-in videoutils.
20741           Fix build with built-in videoutils, i.e. when system GStreamer installation
20742           does not know about GstVideoDecoder API.
20743
20744 2013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20745
20746         * tests/simple-decoder.c:
20747           tests: simple-decoder: flush decoded frames at EOS.
20748           Flush the remaining decoded frames when an end-of-stream is reached.
20749
20750 2013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20751
20752         * tests/simple-decoder.c:
20753           tests: simple-decoder: drop use of GstVaapiVideoMeta.
20754           Don't use GstVaapiVideoMeta since that object is not guaranteed to live
20755           in libgstvaapi forever. Rather, that'd move to plugin elements at some
20756           point.
20757
20758 2013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20759
20760         * tests/simple-decoder.c:
20761           tests: simple-decoder: add benchmark mode.
20762           Add --benchmark option to enable benchmark mode where rendering is not
20763           synchronized with presentation timestamps of the decoded surfaces.
20764
20765 2013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20766
20767         * tests/Makefile.am:
20768         * tests/simple-decoder.c:
20769           tests: simple-decoder: honour framerate from the bitstream.
20770           Try to honour the framerate from the bitstream, or cap the playback to
20771           60 fps by default.
20772
20773 2013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20774
20775         * tests/simple-decoder.c:
20776           tests: simple-decoder: set window size to the surface dimensions.
20777           Set the window size to the decoded surface dimensions, if the user has
20778           not requested the application to run in full-screen mode. Besides, no
20779           effort is made to preserve aspect ratio or to center the video within
20780           the mapped window.
20781
20782 2013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20783
20784         * tests/Makefile.am:
20785         * tests/simple-decoder.c:
20786           tests: add simple decoder application.
20787           Add simple decoder application to show off decoding capabilities from
20788           raw bitstreams, for debugging or performance evaluation purposes.
20789
20790 2013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20791
20792         * tests/Makefile.am:
20793         * tests/codec.c:
20794         * tests/codec.h:
20795           tests: add codec helper utils.
20796           Add helper functions to determine the codec type from a specific file
20797           or utility functions to convert from codec type to GstCaps or from
20798           codec name to codec type.
20799
20800 2013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20801
20802         * tests/output.c:
20803           tests: allow fullscreen mode.
20804           Add new --fullscreen|-f option to create new windows in fullscreen mode.
20805
20806 2013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20807
20808         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20809           h264: implement GstVaapiDecoder::flush() as a DPB flush.
20810
20811 2013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20812
20813         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20814           h264: handle end-of-stream NALU.
20815           Handle <end-of-stream> NAL unit to actually flush any pending picture
20816           from the DPB.
20817
20818 2013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20819
20820         * gst/vaapi/gstvaapidecode.c:
20821           vaapidecode: handle EOS events.
20822           Flush all decoded frames to downstream when EOS is received. This is
20823           performed by implementing GstVideoDecoder::finish() hook.
20824
20825 2013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20826
20827         * gst/vaapi/gstvaapidecode.c:
20828           vaapidecode: split gvd_handle_frame() into decode/push frames.
20829           Split GstVideoDecoder::handle_frame() implementation into two functions:
20830           (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
20831           for purging all decoded frames and submit them downstream.
20832
20833 2013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20834
20835         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20836         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20837           decoder: add GstVaapiDecoder::flush() hook.
20838
20839 2013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20840
20841         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20842         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20843           decoder: fix check for end-of-stream in raw API mode.
20844           Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
20845           if the end-of-stream was already reached at the previous iteration.
20846
20847 2013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20848
20849         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20850           decoder: make decode_step() return once the frame is decoded.
20851           Make sure we always have a free surface left to use for decoding the
20852           current frame. This means that decode_step() has to return once a frame
20853           gets decoded. If the current adapter contains more buffers with valid
20854           frames, they will get parsed and decoded on subsequent iterations.
20855
20856 2013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20857
20858         * ext/codecparsers:
20859           codecparsers: update to gst-vaapi-branch commit b47983a.
20860           8840c2d h264: zero-initialize SPS VUI parameters
20861
20862 2013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20863
20864         * configure.ac:
20865           Bump version for development.
20866
20867 === release 0.5.0 ===
20868
20869 2013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20870
20871         * NEWS:
20872         * configure.ac:
20873           0.5.0.
20874
20875 2013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20876
20877         * docs/reference/libs/libs-docs.xml.in:
20878         * docs/reference/libs/libs-sections.txt:
20879         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20880         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20881         * gst-libs/gst/vaapi/gstvaapiprofile.h:
20882           docs: expose new interfaces.
20883
20884 2013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20885
20886         * NEWS:
20887           NEWS: updates.
20888
20889 2013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20890
20891         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20892           dpb: cosmetics (clean-ups).
20893
20894 2013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20895
20896         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20897         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20898         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20899           dpb: port to GstVaapiMiniObject.
20900
20901 2013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20902
20903         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20904         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20905         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20906           dpb: drop GstVaapiDpb2 interface, keep only one class.
20907           Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
20908           to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
20909           around the specified picture POC.
20910
20911 2012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20912
20913         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
20914         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
20915         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20916           dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
20917           Move GstVaapiDpbMpeg2 API to a more generic version that could also be
20918           useful to other decoders that require 2 reference pictures, e.g. VC-1.
20919           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20920
20921 2013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20922
20923         * configure.ac:
20924           Bump version for pre-release.
20925
20926 2013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20927
20928         * NEWS:
20929           NEWS: updates.
20930
20931 2012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
20932
20933         * configure.ac:
20934         * gst-libs/gst/vaapi/gstvaapicontext.c:
20935         * gst-libs/gst/vaapi/gstvaapiutils.c:
20936         * gst-libs/gst/vaapi/sysdeps.h:
20937         * tests/test-subpicture.c:
20938           overlay: fix build without advanced GstVideoOverlayFormatFlags.
20939           Check for global-alpha support in GstVideoOverlayComposition API.
20940           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20941
20942 2013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20943
20944         * tests/test-subpicture.c:
20945           tests: add support for global-alpha subpictures.
20946           Add --global-alpha option to test-subpicture.
20947
20948 2013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20949
20950         * tests/Makefile.am:
20951         * tests/test-subpicture.c:
20952           tests: use GstVideoOverlayComposition API for subpicture test.
20953
20954 2013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20955
20956         * tests/Makefile.am:
20957         * tests/test-subpicture.c:
20958           tests: use common decoder helpers for subpicture test.
20959           Use common decoder helpers for subpicture test, thus allowing to decode
20960           sample images in an alternate format.
20961
20962 2013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20963
20964         * tests/Makefile.am:
20965         * tests/decoder.c:
20966         * tests/decoder.h:
20967         * tests/test-decode.c:
20968           tests: add decoder helpers.
20969
20970 2013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20971
20972         * gst-libs/gst/vaapi/gstvaapicontext.c:
20973           overlay: fix ordering of composition layers.
20974           Make sure to maintain the association order of composition layers when
20975           GstVideoOverlayRectangle objects are kept around (cached).
20976
20977 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
20978
20979         * gst-libs/gst/vaapi/gstvaapicontext.c:
20980           overlay: fix support for global-alpha.
20981           Fix support for global-alpha subpictures. The previous changes brought
20982           the ability to check for GstVideoOverlayRectangle changes by comparing
20983           the underlying pixel buffer pointers. If sequence number and pixel data
20984           did not change, then this is an indication that only the global-alpha
20985           value changed. Now, try to update the underlying VA subpicture global-alpha
20986           value.
20987           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20988
20989 2013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20990
20991         * gst-libs/gst/vaapi/gstvaapicontext.c:
20992           overlay: detect render-rect changes.
20993           Don't re-upload VA subpicture if only the render rectangle changed.
20994           Rather deassociate the subpicture and re-associate it with the new
20995           render rectangle.
20996
20997 2013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20998
20999         * gst-libs/gst/vaapi/gstvaapicontext.c:
21000           overlay: fix check for pixels buffer change.
21001           A GstVideoOverlayRectangle is created whenever the underlying pixels data
21002           change. However, when global-alpha is supported, it is possible to re-use
21003           the same GstVideoOverlayRectangle but with a change to the global-alpha
21004           value. This process causes a change of sequence number, so we can no longer
21005           check for that.
21006           Still, if sequence numbers did not change, then there was no change in
21007           global-alpha either. So, we need a way to compare the underlying GstBuffer
21008           pointers. There is no API to retrieve the original pixels buffer from
21009           a GstVideoOverlayRectangle. So, we use the following heuristics:
21010           1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
21011           format flags from which the GstVideoOverlayRectangle was created. This
21012           will work if there was no prior consumer of the GstVideoOverlayRectangle
21013           with alternate (non-"native") format flags.
21014           2. In overlay_rectangle_has_changed_pixels(), we have to use the same
21015           gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
21016           with flags that match the subpicture. This is needed to cope with
21017           platforms that don't support global-alpha in HW, so the gst-video
21018           layer takes care of that and fixes this up with a possibly new
21019           GstBuffer, and hence pixels data (or) in-place by caching the current
21020           global-alpha value applied. So we have to determine the rectangle
21021           was previously used, based on what previous flags were used to
21022           retrieve the ARGB pixels buffer.
21023
21024 2013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21025
21026         * gst-libs/gst/vaapi/gstvaapicontext.c:
21027           overlay: optimize cache at the GstVideoOverlayRectangle level.
21028           We previously assumed that an overlay composition changed if the number
21029           of overlay rectangles in there actually changed, or that the rectangle
21030           was updated, and thus its seqnum was also updated.
21031           Now, we can cope with cases where the GstVideoOverlayComposition grew
21032           by one or a few more overlay rectangles, and the initial overlay rectangles
21033           are kept as is.
21034
21035 2013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21036
21037         * gst-libs/gst/vaapi/gstvaapicontext.c:
21038           overlay: simplify caching of GstVideoOverlayComposition objects.
21039           Create the GPtrArray once in the _init() function and destroy it only
21040           in the _finalize() function. Then use overlay_clear() to remove all
21041           subpicture associations for intermediate updates, don't recreate the
21042           GPtrArray.
21043           Make GstVaapiOverlayRectangle a reference counted object. Also make
21044           sure that overlay_rectangle_new() actually creates and associates the
21045           VA subpicture.
21046
21047 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
21048
21049         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
21050         * gst-libs/gst/vaapi/gstvaapiutils.c:
21051         * gst-libs/gst/vaapi/gstvaapiutils.h:
21052           overlay: add support for global-alpha.
21053           Handle global-alpha from GstVideoOverlayComposition API. Likewise,
21054           the same code path could also work for premultiplied-alpha but this
21055           was not tested.
21056           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21057
21058 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
21059
21060         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21061         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21062         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
21063         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
21064         * gst-libs/gst/vaapi/gstvaapisurface.c:
21065         * tests/image.c:
21066         * tests/test-subpicture.c:
21067           subpicture: add support for global-alpha.
21068           Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
21069           with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
21070           to address this feature.
21071           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21072
21073 2013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21074
21075         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
21076         * gst-libs/gst/vaapi/gstvaapiutils.c:
21077         * gst-libs/gst/vaapi/gstvaapiutils.h:
21078           subpicture: add premultiplied-alpha and global-alpha feature flags.
21079           Add premultiplied-alpha and global-alpha feature flags, along with converters
21080           between VA-API and gstreamer-vaapi definitions. Another round of helpers is
21081           also necessary for GstVideoOverlayComposition API.
21082
21083 2013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21084
21085         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21086           display: allow image/subpicture formats with additional flags.
21087           Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
21088           and any additional flags needed. Currently, all flags are set to zero.
21089
21090 2013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21091
21092         * gst-libs/gst/codecparsers/Makefile.am:
21093         * gst-libs/gst/video/Makefile.am:
21094         * tests/Makefile.am:
21095           libs: fix build of submodule wrappers.
21096           Make sure to build codecparsers/ and videoutils/ sources against the
21097           newly generated headers when out-of-source builds are used.
21098
21099 2013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21100
21101         * configure.ac:
21102           configure: fix checks for packages installed in non-standard roots.
21103
21104 2013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21105
21106         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
21107           decoder: fix mini object implementation on 64-bit systems.
21108           Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
21109           pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
21110           Only a gsize can hold all bits of a pointer.
21111           Thanks to Ouping Zhang for spotting this error.
21112
21113 2013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21114
21115         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21116           mpeg2: optimize scan for the end of the frame.
21117           Heuristic: if the second start-code is available, check whether that
21118           one marks the start of a new frame because e.g. this is a sequence
21119           or picture header. This doesn't save much, since we already cache the
21120           results.
21121
21122 2013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21123
21124         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21125           mpeg2: optimize scan for start codes.
21126           Accelerate scan for start codes by skipping up to 3 bytes per iteration.
21127           A start code prefix is defined by the following bytes: 00 00 01. Thus,
21128           for any group of 3 bytes (xx yy zz), we have the following possible cases:
21129           1. If zz != 1, this cannot be a start code, then skip 3 bytes;
21130           2. If yy != 0, this cannot be a start code, then skip 2 bytes;
21131           3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
21132           4. xx == 00, yy == 00, zz == 1, we have match!
21133           This algorithm requires to peek bytes from the adapter. This increases the
21134           amount of bytes copied to a temporary buffer, but this process is much faster
21135           than scanning for all the bytes and using shift/masks. So, overall, this is
21136           a win.
21137
21138 2013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21139
21140         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21141           mpeg2: drop useless gst_adapter_peek().
21142           Drop useless gst_adapter_peek() since the returned buffer was not used
21143           and this could incur superfluous memcpy().
21144
21145 2013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21146
21147         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21148           mpeg2: cosmetics: move parse_slice() down.
21149
21150 2013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21151
21152         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21153           mpeg2: avoid too many allocations of parser info objects.
21154           Move parsing back to decoding step, but keep functions separate for now.
21155           This is needed for future optimizations that may introduce some meta data
21156           for parsed info attached to codec frames.
21157
21158 2013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21159
21160         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21161         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21162           decoder: decoder units are no longer dynamically allocated objects.
21163
21164 2013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21165
21166         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21167         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21168         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21169           decoder: optimize pre-allocation of decoder units.
21170           Optimize pre-allocation of decoder units, thus avoiding un-necessary
21171           memory reallocations. The heuristic used is that we could have around
21172           one slice unit per macroblock line.
21173
21174 2013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21175
21176         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21177         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21178         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21179         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21180         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21181           decoder: use an array of units instead of a single-linked list.
21182           Use a GArray to hold decoder units in a frame, instead of a single-linked
21183           list. This makes 'append' calls faster, but not that much. At least, this
21184           makes things clearer.
21185
21186 2013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21187
21188         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21189         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21190         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21191         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21192         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21193         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21194         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21195         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21196         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21197           decoder: refactor decoder unit API.
21198           Allocate decoder unit earlier in the main parse() function and don't
21199           delegate this task to derived classes. The ultimate purpose is to get
21200           rid of dynamic allocation of decoder units.
21201
21202 2013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21203
21204         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21205           mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
21206           Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
21207           from GstVaapiDecoderUnit for MPEG-2 specific parser information.
21208
21209 2013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21210
21211         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21212           h264: introduce parser info instead of H.264 specific decoder unit.
21213           Use a new GstVaapiParserInfoH264 data structure instead of deriving
21214           from GstVaapiDecoderUnit for H.264 specific parser information.
21215
21216 2013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21217
21218         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21219           h264: set default values for some header fields.
21220           The SPS, PPS and slice headers are not fully zero-initialized in the
21221           codecparsers/ library. Rather, the standard upstream behaviour is to
21222           initialize only certain syntax elements with some inferred values if
21223           they are not present in the bitstream.
21224           At the gstreamer-vaapi decoder level, we need to further initialize
21225           certain syntax elements with some sensible default values so that to
21226           not complicate VA drivers that just pass those verbatim to the HW,
21227           and also avoid an memset() of the whole decoder unit.
21228           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21229           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21230
21231 2013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21232
21233         * ext/codecparsers:
21234           codecparsers: update to gst-vaapi-rebased commit b47983a.
21235           b47983a h264: add inferred value for slice_beta_offset_div2
21236
21237 2013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21238
21239         * gst/vaapi/gstvaapidecode.c:
21240         * gst/vaapi/gstvaapidownload.c:
21241         * gst/vaapi/gstvaapipluginbuffer.c:
21242         * gst/vaapi/gstvaapipluginbuffer.h:
21243         * gst/vaapi/gstvaapipostproc.c:
21244         * gst/vaapi/gstvaapisink.c:
21245         * gst/vaapi/gstvaapiupload.c:
21246         * gst/vaapi/gstvaapiuploader.c:
21247           plugins: cope with new GstVaapiVideoMeta API.
21248           Update plugin elements with the new GstVaapiVideoMeta API.
21249           This also fixes support for subpictures/overlay because GstVideoDecoder
21250           generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
21251           is marked as read-only. However, when comes in the textoverlay element
21252           for example, it checks whether the input buffer is writable. Since that
21253           buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
21254           does not preserve the parent field, the generated buffer in textoverlay
21255           is not exploitable because we lost all VA specific information.
21256           Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
21257           all information are preserved through gst_buffer_copy() since the latter
21258           does copy metadata (qdata in this case).
21259
21260 2013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21261
21262         * gst-libs/gst/vaapi/Makefile.am:
21263         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
21264         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
21265         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
21266         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
21267         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
21268         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
21269           videobuffer: wrap video meta into a surface buffer.
21270           Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
21271           no longer necessary but for compatibility with GStreamer 0.10 APIs or users
21272           expecting a GstSurfaceBuffer like Clutter.
21273
21274 2013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21275
21276         * gst-libs/gst/vaapi/Makefile.am:
21277         * gst-libs/gst/vaapi/gstvaapivideometa.c:
21278         * gst-libs/gst/vaapi/gstvaapivideometa.h:
21279           videobuffer: add video meta information.
21280           Add new GstVaapiVideoMeta object that holds all information needed to
21281           convey gst-vaapi specific data as a GstBuffer.
21282
21283 2013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21284
21285         * gst/vaapi/gstvaapidecode.c:
21286           vaapidecode: fix calculation of the time-out value.
21287           Fix calculation of the time-out value for cases where no VA surface is
21288           available for decoding. In this case, we need to wait until downstream
21289           sink consumed at least one surface. The time-out was miscalculated as
21290           it was always set to <current-time> + one second, which is not suitable
21291           for streams with larger gaps.
21292
21293 2013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21294
21295         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21296           decoder: always use the calculated presentation timestamp.
21297           Use PTS value computed by the decoder, which could also be derived from
21298           the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
21299           the original one was miscomputed or only represented a DTS instead.
21300
21301 2013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21302
21303         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21304           h264: don't create sub-buffer for slice data.
21305
21306 2013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21307
21308         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21309           decoder: create new context when encoded resolution changes.
21310           Create a new VA context if the encoded surface size changes because we
21311           need to keep the underlying surface pool until the last one was released.
21312           Otherwise, either of the following cases could have happened: (i) release
21313           a VA surface to an inexistent pool, or (ii) release VA surface to an
21314           existing surface pool, but with different size.
21315
21316 2013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21317
21318         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21319           mpeg2: don't create sub-buffer for slice data.
21320           Avoid creating a GstBuffer for slice data. Rather, directly use the codec
21321           frame input buffer data. This is possible because the codec frame is valid
21322           until end_frame() where we submit the VA buffers for decoding. Anyway, the
21323           slice data buffer is copied into the VA buffer when it is created.
21324
21325 2013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21326
21327         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21328           mpeg2: minor clean-ups.
21329           Drop explicit initialization of most fields that are implicitly set to
21330           zero. Remove some useless checks for NULL pointers.
21331
21332 2013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21333
21334         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21335           mpeg2: optimize scan for the second start code.
21336           Optimize scan for the second start code, on the next parse() call so that
21337           to avoid scanning again earlier bytes where we didn't find any start code.
21338
21339 2013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21340
21341         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21342           mpeg2: use sequence_display_extension() to compute PAR.
21343           Also compute pixel-aspect-ratio from sequence_display_extension(),
21344           should it exist in the bitstream.
21345
21346 2013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21347
21348         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21349           mpeg2: handle sequence_display_extension().
21350
21351 2012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21352
21353         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21354           mpeg2: implement {start,end}_frame() hooks.
21355           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
21356           that to create new VA context earlier and submit VA pictures to the
21357           HW for decoding as soon as possible. i.e. don't wait for the next
21358           frame to start decoding the previous one.
21359
21360 2012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21361
21362         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21363           mpeg2: parse slice() header earlier.
21364           Parse slice() header and first macroblock position earlier in _parse()
21365           function instead of waiting for the _decode() stage. This doesn't change
21366           anything but readability.
21367
21368 2012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21369
21370         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21371           mpeg2: add codec specific decoder unit.
21372           Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
21373           GstMpegVideoPacket and additional parsed header info. Besides, we now
21374           parse as early as in the _parse() function so that to avoid un-necessary
21375           creation of sub-buffers in _decode() for video packets that are not slices.
21376
21377 2012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21378
21379         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21380         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21381         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21382         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21383           decoder: introduce lists of units to decode before/after frame.
21384           Theory of operations: all units marked as "slice" are moved to the "units"
21385           list. Since this list only contains slice data units, the prev_slice pointer
21386           was removed. Besides, we now maintain two extra lists of units to be decoded
21387           before or after slice data units.
21388           In particular, all units in the "pre_units" list will be decoded before
21389           GstVaapiDecoder::start_frame() is called and units in the "post_units"
21390           list will be decoded after GstVaapiDecoder::end_frame() is called.
21391
21392 2013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21393
21394         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21395         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21396           decoder: drop useless checks for codec objects.
21397           Codec objects are used internally only and they are bound to be created
21398           with a valid GstVaapiDecoder object.
21399
21400 2012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21401
21402         * gst/vaapi/gstvaapidecode.c:
21403           vaapidecode: use GST_ERROR to print error messages.
21404
21405 2012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21406
21407         * gst/vaapi/gstvaapidecode.c:
21408           vaapidecode: avoid double release of frame on error.
21409           Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
21410           was already called before and it returned an error. In that case, we were
21411           releasing the frame again, thus leading to a "double-free" condition.
21412
21413 2012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21414
21415         * .gitmodules:
21416         * autogen.sh:
21417         * configure.ac:
21418         * ext/Makefile.am:
21419         * ext/videoutils:
21420         * gst-libs/gst/Makefile.am:
21421         * gst-libs/gst/vaapi/Makefile.am:
21422         * gst-libs/gst/video/Makefile.am:
21423         * gst/vaapi/Makefile.am:
21424           Add videoutils submodule for GstVideoDecoder APIs.
21425
21426 2012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21427
21428         * configure.ac:
21429           configure: check for GstVideoDecoder API.
21430           GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
21431           this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
21432           parties may either use upstream git 0.10 branch or backport the necessary support
21433           for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
21434
21435 2012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21436
21437         * docs/reference/libs/libs.core.types:
21438           docs: remove obsolete gst_vaapi_surface_proxy_get_type().
21439           GstVaapiSurfaceProxy is no longer based on the GType system.
21440
21441 2012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21442
21443         * docs/reference/libs/libs-sections.txt:
21444           docs: fix entries for GstVaapiSurfaceProxy.
21445
21446 2012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21447
21448         * NEWS:
21449           NEWS: updates.
21450
21451 2012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21452
21453         * configure.ac:
21454         * gst-libs/gst/vaapi/Makefile.am:
21455           Bump library major version.
21456           Increase library major so that to cope with API/ABI incompatible changes
21457           since 0.4.x series and avoid user issues.
21458
21459 2012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21460
21461         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21462           surfaceproxy: minor clean-ups.
21463
21464 2012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21465
21466         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21467         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21468         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21469           surfaceproxy: drop accessors to obsolete attributes.
21470           Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
21471           VA surface. i.e. drop any other attribute like timestamp, duration,
21472           interlaced or top-field-first.
21473
21474 2012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21475
21476         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21477         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21478         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21479         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21480         * gst/vaapi/gstvaapidecode.c:
21481           decoder: maintain decoded frames as GstVideoCodecFrame objects.
21482           Maintain decoded surfaces as GstVideoCodecFrame objects instead of
21483           GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
21484           the strict minimum: a context and a surface.
21485
21486 2012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21487
21488         * gst/vaapi/gstvaapidecode.c:
21489           vaapidecode: output all decoded frames as soon as possible.
21490           Make sure to push all decoded frames downstream as soon as possible.
21491           This makes sure we don't need to wait for a new frame to be ready to
21492           be decoded before receiving new decoded frames.
21493           This also separates the decode process and the output process. The latter
21494           could be moved to a specific GstTask later on.
21495
21496 2012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21497
21498         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21499         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21500           decoder: add gst_vaapi_decoder_get_frame() API.
21501           Add new gst_vaapi_decoder_get_frame() function meant to be used with
21502           gst_vaapi_decoder_decode(). The purpose is to return the next decoded
21503           frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
21504           as the user-data object.
21505
21506 2012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21507
21508         * gst/vaapi/gstvaapipostproc.c:
21509           vaapipostproc: use GstBuffer flags for TFF.
21510           Determine whether the buffer represents the top-field only by checking for
21511           the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
21512           flag. Also trust "interlaced" caps to determine whether the input frame
21513           is interleaved or not.
21514
21515 2012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21516
21517         * gst/vaapi/gstvaapipostproc.c:
21518           vaapipostproc: handle video sub-buffers.
21519           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
21520           for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
21521
21522 2012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21523
21524         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21525           h264: optimize initialization process of decoder units.
21526           Decoder units were zero-initialized, including the SPS/PPS/slice headers.
21527           The latter don't require zero-initialization since the codecparsers/ lib
21528           will do so for key variables already. This is not a great value per se but
21529           at least it makes it possible to check whether the default initialization
21530           decisions made in the codecparsers/ lib were right or not.
21531           This can be reverted if this exposes too many issues.
21532
21533 2012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21534
21535         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21536           h264: minor clean-ups.
21537           Drop explicit initialization of most fields that are implicitly set to
21538           zero. Drop helper macros for casting to GstVaapiPictureH264 or
21539           GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
21540
21541 2012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21542
21543         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21544           h264: drop GstVaapiSliceH264 object.
21545           Use standard GstVaapiSlice object from now on since we already have
21546           parsed and recorded the slice headers (GstH264SliceHdr decode units).
21547
21548 2012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21549
21550         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21551           h264: detect new pictures from decode-units.
21552           Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
21553           of assuming frame boundaries when first_mb_in_slice is zero.
21554
21555 2012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21556
21557         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21558           h264: implement {start,end}_frame() hooks.
21559           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
21560           that to create new VA context earlier and submit VA pictures to the
21561           HW for decoding as soon as possible. i.e. don't wait for the next
21562           frame to start decoding the previous one.
21563
21564 2012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21565
21566         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21567           h264: optimize scan for the second start code.
21568           Optimize scan for the second start code, on the next parse() call so that
21569           to avoid scanning again earlier bytes where we didn't find any start code.
21570
21571 2012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21572
21573         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21574           h264: add codec specific decoder unit.
21575           Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
21576           NAL unit header (GstH264NalUnit) and additional parsed header info.
21577           Besides, we now parse headers as early as in the _parse() function so
21578           that to avoid un-necessary creation of sub-buffers in _decode() for
21579           NAL units that are not slices.
21580           This is a performance win by ~+1.1% only.
21581
21582 2012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21583
21584         * gst/vaapi/gstvaapisink.c:
21585           vaapisink: handle sub video-buffers.
21586           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
21587           for non raw YUV cases. Make sure vaapisink now understands those buffers.
21588
21589 2012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21590
21591         * gst/vaapi/gstvaapidecode.c:
21592           vaapidecode: use gst_vaapi_decoder_get_codec_state().
21593           Directly use the GstVideoCodecState associated with the VA decoder
21594           instead of parsing caps again.
21595           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21596           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21597
21598 2012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21599
21600         * gst/vaapi/gstvaapidecode.c:
21601           vaapidecode: use more standard helpers.
21602           Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
21603           in more places.
21604
21605 2012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21606
21607         * gst/vaapi/gstvaapidecode.c:
21608         * gst/vaapi/gstvaapidecode.h:
21609           vaapidecode: move to GstVideoDecoder base class.
21610           Make vaapidecode derive from the standard GstVideoDecoder base element
21611           class. This simplifies the code to the strict minimum for the decoder
21612           element and makes it easier to port to GStreamer 1.x API.
21613           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21614           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21615
21616 2012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21617
21618         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
21619           jpeg: initial port to new GstVaapiDecoder API
21620
21621 2012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21622
21623         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21624           vc1: initial port to new GstVaapiDecoder API
21625
21626 2012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21627
21628         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21629           h264: initial port to new GstVaapiDecoder API
21630
21631 2012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21632
21633         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
21634           mpeg4: initial port to new GstVaapiDecoder API
21635
21636 2012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21637
21638         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21639           mpeg2: initial port to new GstVaapiDecoder API.
21640
21641 2012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21642
21643         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21644         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21645         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21646         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
21647         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21648         * gst-libs/gst/vaapi/gstvaapiprofile.h:
21649           decoder: use GstVideoCodecState.
21650           Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
21651           it with a new gst_vaapi_decoder_get_codec_state() function. This makes
21652           it possible to drop picture size (width, height) information, framerate
21653           (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
21654           and interlace mode (is_interlaced field).
21655           This is a new API with backwards compatibility maintained. In particular,
21656           gst_vaapi_decoder_get_caps() is still available.
21657           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21658           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21659
21660 2012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21661
21662         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21663         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21664         * tests/test-decode.c:
21665         * tests/test-subpicture.c:
21666           decoder: update gst_vaapi_decoder_get_surface() semantics.
21667           Align gst_vaapi_decoder_get_surface() semantics with the rest of the
21668           API. That is, return a GstVaapiDecoderStatus and the decoded surface
21669           as a handle to GstVaapiSurfaceProxy in parameter.
21670           This is an API/ABI change.
21671
21672 2012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21673
21674         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21675           decoder: use standard helper functions.
21676           Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
21677           whenever necessary.
21678
21679 2012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21680
21681         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21682         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21683         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21684           decoder: expose new parse/decode API.
21685           Introduce new decoding process whereby a GstVideoCodecFrame is created
21686           first. Next, input stream buffers are accumulated into a GstAdapter,
21687           that is then passed to the _parse() function. The GstVaapiDecoder object
21688           accumulates all parsed units and when a complete frame or field is
21689           detected, that GstVideoCodecFrame is passed to the _decode() function.
21690           Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
21691           process was successful.
21692
21693 2012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21694
21695         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21696         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21697           decoder: add {start,end}_frame() hooks.
21698           The start_frame() hook is called prior to traversing all decode-units
21699           for decoding. The unit argument represents the first slice in the frame.
21700           Some codecs (e.g. H.264) need to wait for the first slice in order to
21701           determine the actual VA context parameters.
21702
21703 2012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21704
21705         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21706         * gst-libs/gst/vaapi/gstvaapidecoder.h:
21707         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
21708           decoder: add new GstVaapiDecoder API.
21709           Split decoding process into two steps: (i) parse incoming bitstreams
21710           into simple decoder-units until the frame or field is complete; and
21711           (ii) decode the whole frame or field at once.
21712           This is an ABI change.
21713
21714 2012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21715
21716         * gst-libs/gst/vaapi/Makefile.am:
21717         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
21718         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
21719           decoder: add new "decoder-frame" object.
21720           Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
21721           (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
21722           an extension to GstVideoCodecFrame for VA decoder purposes. It is available
21723           as the user-data member element.
21724           This is a libgstvaapi internal object.
21725
21726 2012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21727
21728         * gst-libs/gst/vaapi/Makefile.am:
21729         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
21730         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
21731           decoder: add new "decoder-unit" object.
21732           Introduce GstVaapiDecoderUnit which represents a fragment of the source
21733           stream to be decoded. For instance, a decode-unit will be a NAL unit for
21734           H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
21735           streams.
21736           This is a libgstvaapi internal object.
21737
21738 2012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21739
21740         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21741           Port GstVaapiFrameStore to GstVaapiMiniObject.
21742
21743 2012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21744
21745         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21746         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
21747         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21748         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21749         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21750           Port codec objects to GstVaapiMiniObject.
21751
21752 2012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21753
21754         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21755         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21756         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
21757         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
21758         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
21759         * gst/vaapi/gstvaapidecode.c:
21760         * gst/vaapi/gstvaapipluginbuffer.c:
21761         * tests/test-decode.c:
21762         * tests/test-subpicture.c:
21763           surfaceproxy: port to GstVaapiMiniObject.
21764           GstVaapiSurfaceProxy does not use any particular functionality from
21765           GObject. Actually, it only needs a basic object type with reference
21766           counting.
21767           This is an API and ABI change.
21768
21769 2012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21770
21771         * gst-libs/gst/vaapi/Makefile.am:
21772         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
21773         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
21774           Add GstVaapiMiniObject.
21775           Introduce a new reference counted object that is very lightweight and
21776           also provides flags and user-data functionalities. Initialization and
21777           finalization times are reduced by up to a factor 5x vs GstMiniObject
21778           from GStreamer 0.10 stack.
21779           This is a libgstvaapi internal object.
21780
21781 2012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21782
21783         * tests/Makefile.am:
21784         * tests/test-decode.c:
21785         * tests/test-mpeg4.c:
21786         * tests/test-mpeg4.h:
21787           tests: add test for MPEG-4:2 decoding.
21788
21789 2012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21790
21791         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21792           h264: initialize VA context before allocating the first slice.
21793           Fix decode_slice() to ensure a VA context exists prior to creating a
21794           new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
21795           context ID. i.e. the latter was not initialized, thus causing failures
21796           on Cedar Trail for example.
21797
21798 2012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
21799
21800         * configure.ac:
21801           configure: install plugin elements in GST_PLUGIN_PATH, if set.
21802           If GST_PLUGIN_PATH environment variable exists and points to a valid
21803           directory, then use it as the system installation path for gst-vaapi
21804           plugin elements.
21805           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21806
21807 2012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21808
21809         * configure.ac:
21810           configure: downgrade glib required version to 2.28.
21811
21812 2012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21813
21814         * gst-libs/gst/vaapi/glibcompat.h:
21815         * gst/vaapi/gstvaapi.c:
21816           libs: fix compatibility with glib 2.28.
21817           Always prefer non deprecated APIs by default and provide compatibility
21818           glue for older glib versions when necessary.
21819
21820 2012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21821
21822         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21823         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21824         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
21825         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
21826           libs: use glib >= 2.32 semantics for mutexes.
21827           Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
21828           and termination. Basically, the new mutex objects can be used as static
21829           mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
21830
21831 2012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21832
21833         * gst-libs/gst/vaapi/Makefile.am:
21834           libs: only export gst_vaapi_*() symbols.
21835           This fixes symbol clashes between the gst-vaapi built-in codecparsers/
21836           library and the system-provided one, mainly used by videoparses/. Now,
21837           only symbols with the gst_vaapi_* prefix will be exported, if they are
21838           not marked as "hidden" to libgstvaapi.
21839
21840 2012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21841
21842         * gst/vaapi/gstvaapiuploader.c:
21843           vaapiupload: reset direct-rendering to zero when changing caps.
21844           Make sure to reset direct-rendering flag to zero when caps are changed,
21845           and only derive it to one when the next checks succeed.
21846
21847 2012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21848
21849         * gst/vaapi/gstvaapiupload.c:
21850           vaapiupload: fix sink caps to report the supported set of YUV caps.
21851           Try to allocate the GstVaapiUploader helper object prior to listing the
21852           supported image formats. Otherwise, only a single generic caps is output
21853           with no particular pixel format referenced in there.
21854
21855 2012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
21856
21857         * gst/vaapi/gstvaapiupload.c:
21858         * gst/vaapi/gstvaapiupload.h:
21859           vaapiupload: use new GstVaapiUploader helper.
21860           Use GstVaapiUploader helper that automatically handles direct rendering
21861           mode, thus making the "direct-rendering" property obsolete and hence it
21862           is now removed.
21863           The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
21864           really well supported and it could actually trigger degraded performance.
21865           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21866
21867 2012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21868
21869         * gst/vaapi/gstvaapisink.c:
21870         * gst/vaapi/gstvaapiuploader.c:
21871         * gst/vaapi/gstvaapiuploader.h:
21872           vaapisink: compute and expose the supported set of YUV caps.
21873           Make vaapisink expose only the set of supported caps for raw YUV buffers.
21874           Add gst_vaapi_uploader_get_caps() helper function to determine the set
21875           of supported YUV caps as source (for images). This function actually
21876           tries to zero and upload each image to a 64x64 test surface. Of course,
21877           this relies on VA drivers to not claim success if vaPutImage() is not
21878           correctly supported.
21879
21880 2012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21881
21882         * NEWS:
21883         * gst/vaapi/Makefile.am:
21884         * gst/vaapi/gstvaapisink.c:
21885         * gst/vaapi/gstvaapisink.h:
21886         * gst/vaapi/gstvaapiuploader.c:
21887         * gst/vaapi/gstvaapiuploader.h:
21888           vaapisink: add support for raw YUV buffers.
21889           Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
21890           It is up to the caller to negotiate source caps (for images) and output
21891           caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
21892           to help decide between the creation of a GstVaapiVideoBuffer or a regular
21893           GstBuffer on sink pads.
21894           Signed-off-by: Zhao Halley <halley.zhao@intel.com>
21895           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21896
21897 2012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21898
21899         * gst-libs/gst/vaapi/gstvaapiimage.c:
21900           image: fix GstVaapiImage map and unmap.
21901           Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
21902           structure correctly filled in if the image was already mapped.
21903           Likewise, make gst_vaapi_image_unmap() return TRUE if the image
21904           was already unmapped.
21905
21906 2012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
21907
21908         * NEWS:
21909         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
21910           videobuffer: fix memory leak for surface and image.
21911           Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
21912           thus resulting on actual memory leak of GstVaapiImage when using them
21913           for downloads/uploads from VA surfaces and more specifically surfaces
21914           when the pipeline is shutdown. i.e. vaTerminate() was never called
21915           because the resources were not unreferenced, and thus not deallocated
21916           in the end.
21917           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21918
21919 2012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21920
21921         * NEWS:
21922           NEWS: updates.
21923
21924 2012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21925
21926         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21927           h264: fix picture size in macroblocks.
21928           The picture size signalled by sps->{width,height} is the actual size with
21929           cropping applied, not the original size derived from pic_width_in_mbs_minus1
21930           and pic_height_in_map_units_minus1. VA driver expects that original size,
21931           uncropped.
21932           There is another issue pending: frame cropping information needs to be
21933           taken care of.
21934
21935 2012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21936
21937         * gst-libs/gst/codecparsers/Makefile.am:
21938           codecparsers: always build parserutils first.
21939           Fix commit 18245b4 so that to link and build parserutils.[ch] first.
21940           This is needed since that's the common dependency for actual codec
21941           parsers (gstvc1parser.c for instance).
21942
21943 2012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21944
21945         * gst-libs/gst/codecparsers/Makefile.am:
21946           codecparsers: always build the VC-1 parser library.
21947           ... this is useful to make sure pixel-aspect-ratio and framerate
21948           information are correctly parsed since we have no means to detect
21949           that at configure time.
21950
21951 2012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21952
21953         * configure.ac:
21954         * gst-libs/gst/codecparsers/Makefile.am:
21955         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
21956           mpeg2: fix PAR calculation from commit bd11bae.
21957           Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
21958           correct PAR values. While doing so, require a newer version of the
21959           bitstream parser library.
21960           Note: it may be necessary to also parse the Sequence_Display_Extension()
21961           header.
21962           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
21963           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21964
21965 2012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21966
21967         * gst-libs/gst/vaapi/Makefile.am:
21968           Fix build with the GNU gold linker.
21969           In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
21970           and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
21971
21972 2012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
21973
21974         * configure.ac:
21975         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21976         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
21977         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
21978           wayland: port to 1.0 version of the protocol.
21979           This patch updates to relect the 1.0 version of the protocol. The main
21980           changes are the switch to wl_registry for global object notifications
21981           and the way that the event queue and file descriptor is processed.
21982           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21983
21984 2012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21985
21986         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21987           h264: fix incorrect integration of previous commit (4d31e1e).
21988           git am got confused somehow, though the end result doesn't change at
21989           all since we require both SPS and PPS to be parsed prior to decoding
21990           the first slice.
21991
21992 2012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21993
21994         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21995           h264: start decoding slices after first SPS/PPS activation.
21996           Only start decoding slices when at least one SPS and PPS got activated.
21997           This fixes cases when a source represents a substream of another stream
21998           and no SPS and PPS was inserted before the first slice of the generated
21999           substream.
22000
22001 2012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22002
22003         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22004           h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
22005           ... for interlaced streams. The short_ref[] and long_ref[] arrays may
22006           contain up to 32 fields but VA ReferenceFrames[] array expects up to
22007           16 reference frames, thus including both fields.
22008
22009 2012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22010
22011         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22012           h264: fix interlaced stream decoding with MMCO.
22013           Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
22014           is equal to 1, i.e. when memory management control operations are used. In
22015           particular, when field_pic_flag is set to 0, the new reference flags shall
22016           be applied to both fields.
22017
22018 2012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22019
22020         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22021           h264: add initial support for interlaced streams.
22022           Decoded frames are only output when they are complete, i.e. when both
22023           fields are decoded. This also means that the "interlaced" caps is not
22024           propagated to vaapipostproc or vaapisink elements. Another limitation
22025           is that interlaced bitstreams with MMCO are unlikely to work.
22026
22027 2012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22028
22029         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22030           h264: split remove_reference_at() into finer units.
22031           Split remove_reference_at() into a function that actually removes the
22032           specified entry from the short-term or long-term reference picture array,
22033           and a function that sets reference flags to the desired value, possibly
22034           zero. The latters marks the picture as "unused for reference".
22035
22036 2012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22037
22038         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22039           decoder: fix gst_vaapi_picture_new_field() object type.
22040           Fix gst_vaapi_picture_new_field() to preserve the original picture type.
22041           e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
22042           shall generate a GstVaapiPictureH264 object.
22043
22044 2012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22045
22046         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22047           h264: add picture structure for reference picture marking process.
22048           Introduce new `structure' field to the H.264 specific picture structure
22049           so that to simplify the reference picture marking process. That local
22050           picture structure is derived from the original picture structure, as
22051           defined by the syntax elements field_pic_flag and bottom_field_flag.
22052
22053 2012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22054
22055         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22056           h264: introduce new frame store structure.
22057           The frame store represents a Decoded Picture Buffer entry, which can
22058           hold up to two fields. So far, the frame store is only used to hold
22059           full frames.
22060
22061 2012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22062
22063         * ext/codecparsers:
22064           codecparsers: update to gst-vaapi-rebased commit 73d6aab.
22065           73d6aab h264: fix rbsp_more_data() implementation
22066           25d04cf h264: fix error code for invalid size parsed in SPS
22067           84798e5 fix FSF address
22068
22069 2012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22070
22071         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22072           h264: minor clean-ups.
22073           Move DPB flush up if the current picture to decode is an IDR. Besides,
22074           don't bother to check for IDR pictures in dpb_add() function since an
22075           explicit DPB flush was already performed in this case.
22076
22077 2012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22078
22079         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22080           h264: simplify reference picture marking process.
22081           ... to build the short_ref[] and long_ref[] lists from the DPB, instead
22082           of maintaining them separately. This avoids refs/unrefs while making it
22083           possible to generate the list based on the actual picture structure.
22084           This also ensures that the list of generated ReferenceFrames[] actually
22085           matches what reference frames are available in the DPB. i.e. short_ref[]
22086           and long_ref[] entries are implied from the DPB, so there is no risk of
22087           having "dangling" references.
22088
22089 2012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22090
22091         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22092           h264: introduce per-field POC in GstVaapiPictureH264.
22093           Use the POC member available in the GstVaapiPicture base class and
22094           get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
22095           and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
22096           initialized to INT_MAX, so that to simplify picture POC calculation
22097           for non frame pictures.
22098
22099 2012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22100
22101         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22102           h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
22103           Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
22104           reference bits, thus simplifying the reference picture marking process
22105           to only track a single set of reference flags. Also introduce a new
22106           long_term_frame_idx member.
22107
22108 2012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22109
22110         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22111           h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
22112
22113 2012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22114
22115         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22116           h264: fill in GstVaapiPicture structure.
22117           ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
22118
22119 2012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22120
22121         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22122           h264: add vaapi_fill_picture() helper.
22123           Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
22124           to VAPictureH264 structure. This is preparatory work to get rid of the
22125           local VAPictureH264 member in GstVaapiPictureH264.
22126
22127 2012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22128
22129         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22130           h264: fix activation order of picture and sequence parameters.
22131           Delay ensure_context() until we actually need a VA context for allocating
22132           new VA surfaces, and then GstVaapiPictures, but also when a real activation
22133           of a new picture parameter set occurs, thus also implying an activation
22134           of the related sequence parameter set.
22135           The most important thing was to drop the global pps and sps pointers since
22136           they may not have matched the currently activated picture parameter or
22137           sequence parameter sets at the specified decode point.
22138           Anoter positive side-effect is that this cleans up all occurrences of
22139           decode_current_picture() to only keep those useful in decode_picture(),
22140           before a new picture is allocated, or in decode_sequence_end() when
22141           an end-of-stream or end-of-sequence condition occurred.
22142
22143 2012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22144
22145         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22146           h264: fix scaling list generation.
22147           ... aka fix regression from efaab79. In particular, ScalingList8x8[]
22148           array was partially copied to the VAIQMatrixBufferH264. While we are
22149           at it, also improve bounds checking and avoid copying 8x8 scaling
22150           lists if transform_8x8_mode_flag is set to 0.
22151
22152 2012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22153
22154         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22155           h264: fix detection of picture boundaries.
22156           Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
22157           unit of a primary coded picture.
22158
22159 2012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22160
22161         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22162           h264: optimize handling of scaling lists.
22163           Don't copy scaling lists twice to an intermediate state. Rather, directly
22164           use the scaling lists from GstH264PPS since they would match those provided
22165           by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
22166           available in the bitstream.
22167
22168 2012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22169
22170         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22171           h264: simplify code when MMCO is 5.
22172           Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
22173           is now updated accordingly to the standard. Besides, MMCO = 5 specific
22174           operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
22175
22176 2012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22177
22178         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22179           h264: fix MMCO-based reference picture marking process.
22180           Fix adaptive memory control decoded reference picture marking process
22181           implementation for operations 2 to 6, thus also fixing support for
22182           long-term reference pictures.
22183
22184 2012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22185
22186         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22187           h264: move MMCO handlers out of the loop (cosmetics).
22188           This change only splits each individual MMCO handler into several functions
22189           dedicated for each operation. This is needed to perform further work later
22190           on.
22191
22192 2012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22193
22194         * Makefile.am:
22195           debian: fix make dist for packaging.
22196           bzip2 tarballs are now used, so update the deb.upstream dependencies
22197           to include dist-bzip2 instead of plain old dist, and use the correct
22198           tar extract options to handle that format.
22199
22200 2012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22201
22202         * configure.ac:
22203           configure: generate bzip2 tarballs in ustar format by default.
22204
22205 2012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22206
22207         * configure.ac:
22208           configure: bump glib required version to 2.31.2.
22209           Use new Thread API. In particular, g_mutex_init() and g_cond_init()
22210           rather than g_mutex_new() and g_cond_new() respectively.
22211
22212 2012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
22213
22214         * gst/vaapi/gstvaapidecode.c:
22215         * gst/vaapi/gstvaapidecode.h:
22216           vaapidecode: adopt non-deprecrated glib locking primitive pattern.
22217           The use of heap allocated GMutex/GCond is deprecated. Instead place them
22218           inside the structure they are locking.
22219           These changes switch to use g_mutex_init/g_cond_init rather than the heap
22220           allocation functions.
22221           Because we cannot test for a NULL pointer for the GMutex/GCond we must
22222           initialise inside the GObject _init function and clear inside the _finalize
22223           which is guaranteed to only be called once and after the object is no longer
22224           in use.
22225
22226 2012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22227
22228         * gst/vaapi/gstvaapidecode.c:
22229           vaapidecode: fix compiler warnings.
22230           Don't care of the return value for gst_vaapi_decoder_put_buffer()
22231           during destruction of the element. Don't print out (uninitialised)
22232           error code when allocation of video buffer failed.
22233
22234 2012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22235
22236         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22237           h264: add flag to compile with strict DPB ordering mode.
22238           Allow build with strict DPB ordering mode whereby evicted entries
22239           are replaced by the next entries, in order instead of optimizing
22240           it away with the last entry in the DPB.
22241           This is only useful for debugging purpose, against a reference SW
22242           decoder for example.
22243
22244 2012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22245
22246         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22247           h264: drop extra code covered by built-in codecparsers.
22248           GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
22249           a newer version of codecparsers/ are used if the system provided one is
22250           now recent enough to have those required extensions.
22251
22252 2012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22253
22254         * gst-libs/gst/codecparsers/Makefile.am:
22255           codecparsers: fix generation of symlinks.
22256           Try to improve dependencies while generating symlinks to externally
22257           maintained copy of codecparsers (derived from upstream git master
22258           tree).
22259
22260 2012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22261
22262         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22263           vc1: use framerate information from bitstream parser.
22264
22265 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22266
22267         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22268           vc1: use pixel-aspect-ratio from bitstream parser.
22269           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22270           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22271
22272 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22273
22274         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22275           mpeg2: use pixel-aspec-ratio information from bitstream parser.
22276           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22277           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22278
22279 2012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22280
22281         * configure.ac:
22282         * gst-libs/gst/codecparsers/Makefile.am:
22283           codecparsers: h264: use submodule sources.
22284           Use newer sources from the codecparsers/ submodule for
22285           - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
22286           - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
22287
22288 2012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22289
22290         * .gitignore:
22291         * configure.ac:
22292         * gst-libs/gst/codecparsers/Makefile.am:
22293         * gst-libs/gst/codecparsers/gstjpegparser.c:
22294         * gst-libs/gst/codecparsers/gstjpegparser.h:
22295         * gst-libs/gst/vaapi/Makefile.am:
22296           codecparsers: jpeg: use submodule sources.
22297
22298 2012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22299
22300         * .gitmodules:
22301         * Makefile.am:
22302         * autogen.sh:
22303         * configure.ac:
22304         * ext/Makefile.am:
22305         * ext/codecparsers:
22306           Add codecparsers submodule.
22307
22308 2012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22309
22310         * .gitignore:
22311           .gitignore: updates.
22312
22313 2012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22314
22315         * autogen.sh:
22316           autogen: fix check for gtkdocize and autoreconf.
22317           If gtkdocize or autoreconf programs were not found, then the autogen.sh
22318           script would fail to report that correctly because test -z was not passed
22319           any argument (empty string "" in this case).
22320
22321 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22322
22323         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22324           h264: use pixel-aspect-ratio from SPS header.
22325           Propagate pixel-aspect-ratio determined by the GStreamer codecparser
22326           from the sequence headers.
22327           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
22328           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22329
22330 2012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22331
22332         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22333           h264: add decode_nalu() helper function.
22334           Split decode_buffer() into the core infrastructure that determines
22335           the NAL units contained in the adapter and the actual function that
22336           decodes the NAL unit.
22337
22338 2012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22339
22340         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22341           h264: fix end-of-stream conditions (flush).
22342           Decode pending data in the adapter prior to processing the actual
22343           code for end-of-stream.
22344
22345 2012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22346
22347         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22348           mpeg2: add decode_packet() helper function.
22349           Split decode_buffer() into the core infrastructure that determines
22350           the packets contained in the adapter and the actual function that
22351           decodes the packet data.
22352
22353 2012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22354
22355         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22356           mpeg2: fix end-of-stream conditions (flush).
22357           Decode pending data in the adapter prior to processing the actual
22358           code for end-of-stream. Initial code from Feng Yuan.
22359
22360 2012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22361
22362         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22363           mpeg2: fix memory leak of empty packets.
22364           Fix memory leakage of empty packets, i.e. packets that only contain
22365           the start code prefix. In particular, free empty user-data packets.
22366           Besides, the codec parser will already fail gracefully if the packet
22367           to parse does not have the minimum required size. So, we can also
22368           completely drop the block of code that used to handle packets of size 4
22369           (including the start code).
22370
22371 2012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22372
22373         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22374           mpeg2: fix return value for "no-data" conditions.
22375           Fix return value when the second scan for start code fails. This means
22376           there is not enough data to determine the full extents of the current
22377           packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
22378           in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
22379
22380 2012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22381
22382         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22383           decoder: refine semantics of gst_vaapi_decoder_put_buffer().
22384           Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
22385           buffer is passed on. An empty buffer is a buffer with a NULL data pointer
22386           or with a size equals to zero. In this case, that buffer is simply
22387           skipped and the function returns TRUE. A NULL buffer argument still
22388           marks the end-of-stream.
22389
22390 2012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22391
22392         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22393         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22394           decoder: drop unused functions.
22395
22396 2012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
22397
22398         * gst/vaapi/gstvaapidecode.c:
22399           vaapidecode: flush buffers when receiving EOS.
22400           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22401
22402 2012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22403
22404         * debian.upstream/Makefile.am:
22405           debian: fix make dist for packaging.
22406
22407 2012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22408
22409         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
22410         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22411           wayland: cosmetics (remove tabs).
22412
22413 2012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
22414
22415         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22416           wayland: add support for windowed mode.
22417           Rather than always making the surface fullscreen instead implement the
22418           set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
22419           fullscreen on not depending on that.
22420           Reviewed-by: Joe Konno <joe.konno@intel.com>
22421           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22422
22423 2012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22424
22425         * configure.ac:
22426           Bump version for development.
22427
22428 2012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22429
22430         * README:
22431         * configure.ac:
22432           Fix and document build dependencies better.
22433
22434 2012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22435
22436         * debian.upstream/control.in:
22437           debian: fix GStreamer build dependencies.
22438
22439 2012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22440
22441         * configure.ac:
22442         * debian.upstream/control.in:
22443           debian: fix Wayland build dependencies.
22444
22445 2012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22446
22447         * debian.upstream/control.in:
22448           debian: fix conditional build of packages.
22449           Make it still possible to build package even if one of the build dependencies
22450           for a specific video backend is not available.
22451
22452 2012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22453
22454         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22455         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22456           utils: drop unused GLX helpers.
22457           Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
22458           extensions since they are not used throughout gstreamer-vaapi.
22459
22460 2012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22461
22462         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22463           utils: fix build with <GL/glext.h> version >= 85.
22464           Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
22465           This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
22466           GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
22467           GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
22468           thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
22469           Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
22470           newer versions of the <GL/glext.h> header.
22471
22472 2012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22473
22474         * configure.ac:
22475           configure: update VA-API version requirements.
22476           VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
22477
22478 2012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22479
22480         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22481           h264: review and report errors accordingly.
22482           Use GST_ERROR() to report real errors instead of hiding them into
22483           GST_DEBUG().
22484
22485 2012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22486
22487         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22488           h264: exclusively use GstAdapter, drop sub-buffer hack.
22489           Maintaining the sub-buffer is rather suboptimal especially since we
22490           were also maintaining a GstAdapter. Now, we only use the GstAdapter
22491           thus requiring minor extra parsing when receiving avcC buffers.
22492
22493 2012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22494
22495         * README:
22496           README: updates.
22497
22498 2012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22499
22500         * NEWS:
22501           NEWS: updates.
22502
22503 2012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22504
22505         * debian.upstream/gstreamer-vaapi.install.in:
22506           debian: fix packaging on recent Ubuntu platforms.
22507           Use explicit GStreamer plugins path.
22508
22509 2012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22510
22511         * docs/reference/libs/libs-docs.xml.in:
22512         * docs/reference/libs/libs.core.types:
22513           docs: fix build for make dist.
22514
22515 2012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
22516
22517         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22518           wayland: set opaque region for YUV surface.
22519           This allows the compositor to optimize redraws and cull away changes
22520           obscured by the video surface.
22521           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22522
22523 2012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22524
22525         * configure.ac:
22526           configure: fix check for libva-glx and libva-drm.
22527
22528 2012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22529
22530         * gst-libs/gst/vaapi/glibcompat.h:
22531           glibcompat: add replacement for g_cond_wait_until().
22532
22533 2012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22534
22535         * gst/vaapi/gstvaapidecode.c:
22536         * gst/vaapi/gstvaapidownload.c:
22537         * gst/vaapi/gstvaapipostproc.c:
22538         * gst/vaapi/gstvaapisink.c:
22539         * gst/vaapi/gstvaapiupload.c:
22540           plugins: include "sysdeps.h" instead of "config.h".
22541
22542 2012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22543
22544         * gst-libs/gst/codecparsers/gstjpegparser.c:
22545           codecparsers: jpeg: add missing includes.
22546
22547 2012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22548
22549         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22550         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22551         * gst/vaapi/gstvaapidecode.c:
22552           vaapidecode: don't reset decoder if codec type is the same.
22553           Reset, i.e. destroy then create, the decoder in _setcaps() handler only
22554           if the underlying codec type actually changed. This makes it possible
22555           to be more tolerant with certain MPEG-2 streams that get parsed to
22556           form caps that are compatible with the previous state but minor changes
22557           to "codec-data".
22558
22559 2012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22560
22561         * gst/vaapi/gstvaapidecode.c:
22562           vaapidecode: simplify codec lookup from caps.
22563           Add new gst_vaapi_codec_from_caps() helper to determine codec type from
22564           the specified caps. Don't globally expose this function since this is
22565           really trivial and only used in the vaapidecode element.
22566
22567 2012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22568
22569         * gst/vaapi/gstvaapidecode.c:
22570         * gst/vaapi/gstvaapidecode.h:
22571           vaapidecode: improve "no free surface" conditions.
22572           Previously, vaapidecode would wait up to one second until a free surface
22573           is available, or it aborts decoding. Now, vaapidecode waits until the
22574           last decoded surface was to be presented, plus one second. Besides, end
22575           times are now expressed relative to the monotonic clock.
22576
22577 2012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22578
22579         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22580         * gst/vaapi/gstvaapidecode.c:
22581           decoder: propagate buffer duration downstream.
22582
22583 2012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22584
22585         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22586         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
22587           surfaceproxy: add "duration" property.
22588
22589 2012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22590
22591         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22592         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22593         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22594         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22595         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22596         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22597         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22598           decoder: cope with new GstVaapiContextInfo based API.
22599           Update decoders to report the maximum number of reference frames to use.
22600
22601 2012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22602
22603         * gst-libs/gst/vaapi/gstvaapicontext.c:
22604           context: JPEG codec does not need any reference frame.
22605
22606 2012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22607
22608         * gst-libs/gst/vaapi/gstvaapicontext.c:
22609         * gst-libs/gst/vaapi/gstvaapicontext.h:
22610           context: allow number of reference frames to be set.
22611           Make it possible to specify the maximum number of references to use within
22612           a single VA context. This helps reducing GPU memory allocations to the useful
22613           number of references to be used.
22614
22615 2012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22616
22617         * gst/vaapi/gstvaapipostproc.c:
22618           vaapipostproc: fix deinterlace-{mode,method} types definition.
22619
22620 2012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22621
22622         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22623           mpeg4: fix debug info for unsupported profile.
22624
22625 2012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22626
22627         * gst-libs/gst/vaapi/gstvaapicontext.c:
22628         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22629         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22630         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22631         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22632         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22633         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22634         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22635         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
22636         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
22637         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22638         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
22639         * gst-libs/gst/vaapi/gstvaapiimage.c:
22640         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
22641         * gst-libs/gst/vaapi/gstvaapiobject.c:
22642         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22643         * gst-libs/gst/vaapi/gstvaapisurface.c:
22644         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
22645         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22646         * gst-libs/gst/vaapi/gstvaapitexture.c:
22647         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22648         * gst-libs/gst/vaapi/gstvaapivalue.c:
22649         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
22650         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
22651         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
22652         * gst-libs/gst/vaapi/gstvaapivideopool.c:
22653         * gst-libs/gst/vaapi/gstvaapiwindow.c:
22654         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
22655         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22656         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22657         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22658           libs: fix build in strict ISO C mode.
22659
22660 2012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22661
22662         * gst/vaapi/gstvaapi.c:
22663         * gst/vaapi/gstvaapidecode.c:
22664         * gst/vaapi/gstvaapidownload.c:
22665         * gst/vaapi/gstvaapipostproc.c:
22666         * gst/vaapi/gstvaapisink.c:
22667         * gst/vaapi/gstvaapiupload.c:
22668           plugins: fix build in strict ISO C mode.
22669
22670 2012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22671
22672         * pkgconfig/gstreamer-vaapi-glx.pc.in:
22673         * pkgconfig/gstreamer-vaapi-x11.pc.in:
22674         * pkgconfig/gstreamer-vaapi.pc.in:
22675           pkgconfig: fix dependencies and slightly improve description.
22676           Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
22677           descriptions with clearer renderer names.
22678
22679 2012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
22680
22681         * gst/vaapi/gstvaapidecode.c:
22682           vaapidecode: acquire lock only if the mutex exists.
22683           When playback stops the GstVaapiDecode object is reset into a clean
22684           state. However, surfaces may still be referenced by library users and
22685           unreferencing them after the reset triggers an access to an unset mutex.
22686           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22687
22688 2012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22689
22690         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22691           decoder: drop extraneous return for void function.
22692
22693 2012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22694
22695         * gst-libs/gst/vaapi/gstvaapiimage.c:
22696           image: don't use (void *) pointer arithmetic.
22697
22698 2012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
22699
22700         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22701         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22702         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22703         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
22704         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
22705         * gst-libs/gst/vaapi/gstvaapiprofile.h:
22706         * gst-libs/gst/vaapi/gstvaapisurface.h:
22707         * gst-libs/gst/vaapi/gstvaapitypes.h:
22708         * gst/vaapi/gstvaapipostproc.h:
22709           Do not forward declare enums.
22710           Forward declaring enums is not allowed by the C standard and aborts
22711           compilation if the header file is included in a C++ project.
22712           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22713
22714 2012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22715
22716         * configure.ac:
22717           configure: fix check for VA/DRM API.
22718
22719 2012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22720
22721         * gst/vaapi/gstvaapisink.c:
22722           vaapisink: fix calculation of window size.
22723           If either dimension is out-of-bounds, then scale window to fit the
22724           display size, even if the output is to be rotated. Use the standard
22725           gst_video_sink_center_rect() function to center and scale the window
22726           wrt. the outer (display) bounds.
22727
22728 2012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
22729
22730         * gst/vaapi/gstvaapisink.c:
22731         * gst/vaapi/gstvaapisink.h:
22732           vaapisink: add video rotation support.
22733           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22734
22735 2012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22736
22737         * gst/vaapi/gstvaapipluginutil.h:
22738           pluginutils: add G_PRIMITIVE_SWAP() helper macro.
22739           This macro helps swapping variables while maintaining the correct underlying
22740           and primitive type.
22741
22742 2012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22743
22744         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22745           display: fix display aspect ratio when display is rotated.
22746
22747 2012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22748
22749         * configure.ac:
22750         * gst-libs/gst/vaapi/Makefile.am:
22751         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
22752         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
22753           display: fix physical display size when display is rotated.
22754
22755 2012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22756
22757         * gst-libs/gst/vaapi/gstvaapivalue.c:
22758           display: fix GstVaapiRotation enumeration of values.
22759
22760 2012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22761
22762         * docs/reference/libs/libs-docs.xml.in:
22763         * docs/reference/libs/libs-sections.txt:
22764         * gst-libs/gst/vaapi/Makefile.am:
22765         * gst-libs/gst/vaapi/gstvaapivideosink.c:
22766         * gst-libs/gst/vaapi/gstvaapivideosink.h:
22767         * gst/vaapi/gstvaapidecode.c:
22768         * gst/vaapi/gstvaapidownload.c:
22769         * gst/vaapi/gstvaapipostproc.c:
22770         * gst/vaapi/gstvaapisink.c:
22771         * gst/vaapi/gstvaapiupload.c:
22772           vaapisink: drop obsolete GstVaapiVideoSink interface.
22773           This interface was deprecated since 0.3.x series when the GstVideoContext
22774           interface was added to the main GStreamer APIs.
22775
22776 2012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22777
22778         * gst/vaapi/gstvaapisink.c:
22779         * gst/vaapi/gstvaapisink.h:
22780           vaapisink: automatically detect overlay rendering mode.
22781           Retain the VA surface until another surface is to be displayed only
22782           if VA display rendering mode is determined to be "overlay" mode.
22783
22784 2012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22785
22786         * gst/vaapi/gstvaapisink.c:
22787         * gst/vaapi/gstvaapisink.h:
22788           vaapisink: retain VA surface until another one is displayed.
22789           Keep VA surface proxy associated with the surface that is currently
22790           being displayed. This makes sure that surface is not released back
22791           to the pool of surfaces free to use for decoding. This is necessary
22792           with VA driver implementations that support rendering to an overlay
22793           pipe. Otherwise, there could be cases where we are decoding into a
22794           surface that is being displayed, hence some flickering.
22795
22796 2012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22797
22798         * gst/vaapi/gstvaapisink.h:
22799           vaapisink: fix build with older toolchains.
22800           Don't re-declare GstVaapiTexture if USE_GLX mode is set.
22801
22802 2012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22803
22804         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22805           display: partially revert 8ebe4d6.
22806           Don't try to fix up the initial values, this could make things worse.
22807           Simply assume the driver does not support the capability in this case.
22808
22809 2012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22810
22811         * tests/test-display.c:
22812           tests: dump VA display properties.
22813
22814 2012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22815
22816         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22817           display: fix validation process of properties during discovery.
22818           Some VA drivers (e.g. EMGD) can have completely random values for initial
22819           display attributes. So, try to improve the discovery process to check the
22820           initial display attribute values actually fall within valid bounds. If not,
22821           try to reset those to some sensible values like the default value reported
22822           through vaQueryDisplayAttributes().
22823
22824 2012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22825
22826         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22827         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22828           display: add color balance properties.
22829           Add support for hue, saturation, brightness and contrast attributes.
22830
22831 2012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22832
22833         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22834           display: initialize default attribute values.
22835           Ensure the display attribute is actually supported by trying to retrieve
22836           its current value during GstVaapiDisplay creation.
22837
22838 2012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22839
22840         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22841           display: raise "notify" for property changes.
22842
22843 2012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22844
22845         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22846         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22847           display: expose display attributes as GObject properties.
22848           Expose VA display "render-mode" and "rotation" attributes as standard
22849           GObject properties.
22850
22851 2012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22852
22853         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22854           display: install properties in batch.
22855           Use g_object_class_install_properties() to install GstVaapiDisplay properties.
22856           It is useful to maintain properties as GParamSpec so that to be able to raise
22857           "notify" signals by id instead of by name in the future.
22858
22859 2012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22860
22861         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22862           display: fix gst_vaapi_display_has_property().
22863           Append the "render-mode" and "rotation" properties, should they be supported
22864           by the underlying VA driver.
22865
22866 2012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
22867
22868         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22869         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22870         * gst-libs/gst/vaapi/gstvaapitypes.h:
22871         * gst-libs/gst/vaapi/gstvaapiutils.c:
22872         * gst-libs/gst/vaapi/gstvaapiutils.h:
22873         * gst-libs/gst/vaapi/gstvaapivalue.c:
22874         * gst-libs/gst/vaapi/gstvaapivalue.h:
22875           display: add support for rotation modes.
22876           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22877
22878 2012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22879
22880         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22881         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22882         * gst-libs/gst/vaapi/gstvaapitypes.h:
22883         * gst-libs/gst/vaapi/gstvaapivalue.c:
22884         * gst-libs/gst/vaapi/gstvaapivalue.h:
22885           display: add support for rendering modes.
22886           A rendering mode can be "overlay" or "texture"'ed blit.
22887           The former mode implies that a VA surface used for rendering can't be
22888           re-used right away for decoding, so the sink shall make provisions to
22889           retain the associated surface proxy until the next surface is to be
22890           displayed.
22891           The latter mode implies that the VA surface is implicitly copied to an
22892           intermediate backing store, or back buffer of a frame buffer, so the
22893           associated surface proxy can be disposed right away.
22894
22895 2012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22896
22897         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22898         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22899         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22900           display: add initial support for display attributes.
22901           The VA display attributes are mapped to properties so that to maintain the
22902           GStreamer terminology. Properties are to be identified by name, but internal
22903           functions are available to lookup the property by the actual VA display
22904           attribute type.
22905
22906 2012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
22907
22908         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22909           jpeg: fix end-of-image (EOI) handler.
22910           decode_current_picture() was converted to return a gboolean instead
22911           of a GstVaapiDecoderStatus, so we were not getting out of the decode
22912           loop as expected, or could cause an error instead.
22913           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22914
22915 2012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22916
22917         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22918           mpeg2: include start code into VA slice data buffer.
22919           Integrate the start code prefix in the slice data buffer that is submitted
22920           to the hardware. VA-API specifies that slice_data_offset is the offset to
22921           the first byte of slice data. And, for MPEG-2, slice() data begins with
22922           the slice_start_code. Some VA driver implementations (EMGD) expect this.
22923
22924 2012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
22925
22926         * autogen.sh:
22927           autogen: fix configure script generation when srcdir != builddir.
22928           This patch allows for regenerating the configure script from a build
22929           directory that is not the actual source directory.
22930           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22931
22932 2012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
22933
22934         * configure.ac:
22935           configure: use new libtool syntax.
22936           This now requires libtool >= 2.2 to regenerate the configure script.
22937           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22938
22939 2012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
22940
22941         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22942           decoder: use g_object_notify_by_pspec().
22943           Use g_object_notify_by_pspec() instead of g_object_notify() so that to
22944           avoid a property name lookup. i.e. this makes notifications faster to
22945           the `vaapidecode' element.
22946           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22947
22948 2012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22949
22950         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22951           wayland: handle de-interlacing flags.
22952           VA/Wayland API was updated to allow flags for bob deinterlacing.
22953           More elaborated filters will require a complete VA/VPP pipeline.
22954
22955 2012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22956
22957         * gst-libs/gst/codecparsers/gstjpegparser.c:
22958           jpeg: fix default quantization tables.
22959           Two elements in the luminance quantization table were wrong. So,
22960           gst_jpeg_get_default_quantization_tables() now reconstructs tables
22961           in zig-zag order from the standard ones (Tables K.1 and K.2).
22962
22963 2012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22964
22965         * gst-libs/gst/codecparsers/gstjpegparser.c:
22966           jpeg: compute default Huffman tables.
22967           ... instead of having them pre-calculated. This saves around 1.5 KB
22968           of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
22969           to do more work. Though, the client application may have to call that
22970           function at most once, only.
22971
22972 2012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22973
22974         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22975           display: drop VAProfileNone entries from debug messages.
22976
22977 2012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
22978
22979         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22980           display: query for supported display attributes.
22981           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22982
22983 2012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
22984
22985         * gst-libs/gst/vaapi/gstvaapiutils.c:
22986         * gst-libs/gst/vaapi/gstvaapiutils.h:
22987           utils: add string_of_VADisplayAttributeType() helper.
22988           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22989
22990 2012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22991
22992         * gst/vaapi/gstvaapisink.c:
22993           vaapisink: handle VA/DRM API.
22994           This is not useful in practice but for raw performance evaluation when
22995           the sink is invoked with display=drm sync=false. fakesink could also be
22996           used though.
22997
22998 2012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22999
23000         * gst/vaapi/Makefile.am:
23001         * gst/vaapi/gstvaapipluginutil.c:
23002           plugins: add support for headless pipelines.
23003
23004 2012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23005
23006         * tests/Makefile.am:
23007         * tests/output.c:
23008         * tests/test-display.c:
23009         * tests/test-windows.c:
23010           tests: add support for headless decoding.
23011
23012 2012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23013
23014         * NEWS:
23015         * configure.ac:
23016         * debian.upstream/Makefile.am:
23017         * debian.upstream/control.in:
23018         * debian.upstream/libgstvaapi-drm.install.in:
23019         * gst-libs/gst/vaapi/Makefile.am:
23020         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23021         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23022         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
23023         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
23024         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
23025         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
23026         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
23027         * pkgconfig/Makefile.am:
23028         * pkgconfig/gstreamer-vaapi-drm.pc.in:
23029           Add initial support for VA/DRM.
23030
23031 2012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23032
23033         * configure.ac:
23034         * gst-libs/gst/vaapi/Makefile.am:
23035           Fix build without X11 (again).
23036           Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
23037           files list wrt. x11, glx and wayland backends.
23038
23039 2012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23040
23041         * configure.ac:
23042         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23043         * gst-libs/gst/vaapi/gstvaapicompat.h:
23044         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23045           jpeg: update to the latest VA-API changes (0.32.1+).
23046
23047 2012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23048
23049         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23050         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23051         * gst/vaapi/gstvaapisink.c:
23052           wayland: implement display ::get_size*() hooks.
23053
23054 2012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23055
23056         * gst/vaapi/gstvaapipluginutil.c:
23057           plugins: prefer X11 rendering over GLX.
23058           Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
23059           for rendering instead of texturing.
23060
23061 2012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
23062
23063         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23064           wayland: use scale fullscreen method.
23065           This makes the compositor scale the surface to fit and preserves aspect
23066           ratio.
23067           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23068
23069 2012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
23070
23071         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23072           wayland: respond to ping/pong protocol so we're not deemed unresponsive.
23073           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23074
23075 2012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23076
23077         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23078           wayland: fix double disconnect of display.
23079
23080 2012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23081
23082         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23083           wayland: mangle display name for cache lookups.
23084
23085 2012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23086
23087         * configure.ac:
23088         * debian.upstream/Makefile.am:
23089         * debian.upstream/control.in:
23090         * debian.upstream/libgstvaapi-wayland.install.in:
23091         * pkgconfig/Makefile.am:
23092         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
23093           wayland: add packaging files.
23094
23095 2012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23096
23097         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23098         * gst/vaapi/gstvaapipluginutil.c:
23099         * gst/vaapi/gstvaapisink.c:
23100         * pkgconfig/Makefile.am:
23101           Fix build without X11.
23102
23103 2012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23104
23105         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23106         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23107         * gst/vaapi/Makefile.am:
23108         * gst/vaapi/gstvaapipluginutil.c:
23109         * gst/vaapi/gstvaapisink.c:
23110           plugins: add support for Wayland.
23111
23112 2012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23113
23114         * tests/Makefile.am:
23115         * tests/output.c:
23116         * tests/test-display.c:
23117         * tests/test-windows.c:
23118           tests: add support for Wayland.
23119
23120 2012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23121
23122         * NEWS:
23123         * configure.ac:
23124         * gst-libs/gst/vaapi/Makefile.am:
23125         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
23126         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
23127         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
23128         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
23129         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23130         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
23131           Add initial support for VA/Wayland.
23132           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23133
23134 2012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23135
23136         * gst/vaapi/gstvaapipluginbuffer.c:
23137           plugins: fix creation of video buffer from surface proxy.
23138           Fix a regression introduced with commit 8ef490a.
23139
23140 2012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23141
23142         * gst/vaapi/gstvaapipluginbuffer.c:
23143         * gst/vaapi/gstvaapipluginutil.c:
23144           plugins: use new display types more.
23145           In particular, simplify gst_vaapi_reply_to_query() with display types.
23146           Likewise for creating new video buffers.
23147
23148 2012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23149
23150         * gst/vaapi/gstvaapidecode.c:
23151         * gst/vaapi/gstvaapidownload.c:
23152         * gst/vaapi/gstvaapipluginutil.c:
23153         * gst/vaapi/gstvaapipluginutil.h:
23154         * gst/vaapi/gstvaapipostproc.c:
23155         * gst/vaapi/gstvaapisink.c:
23156         * gst/vaapi/gstvaapiupload.c:
23157           plugins: fix display type selection and propagation.
23158           If vaapisink is in the GStreamer pipeline, then we shall allocate a
23159           unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
23160           queries from vaapidecode shall get a valid answer from vaapisink.
23161
23162 2012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23163
23164         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23165           display: fix destruction of mutex.
23166
23167 2012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23168
23169         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23170         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23171         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
23172         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23173         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23174         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
23175         * gst/vaapi/gstvaapipluginutil.c:
23176         * gst/vaapi/gstvaapipluginutil.h:
23177         * gst/vaapi/gstvaapisink.c:
23178           display: add display types.
23179           Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
23180           we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
23181           type to "any", and add a "display-type" attribute.
23182
23183 2012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23184
23185         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23186           display: use prefixed display names for cache lookups.
23187           This improves display name comparisons by always allocating a valid display
23188           name. This also helps to disambiguate lookups by name in the global display
23189           cache, should a new backend be implemented.
23190
23191 2012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23192
23193         * gst/vaapi/gstvaapipluginutil.h:
23194           plugins: declare helper functions as internal.
23195
23196 2012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23197
23198         * docs/reference/libs/libs-sections.txt:
23199         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23200         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23201         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
23202         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23203         * gst/vaapi/Makefile.am:
23204         * gst/vaapi/gstvaapidecode.c:
23205         * gst/vaapi/gstvaapidownload.c:
23206         * gst/vaapi/gstvaapipluginbuffer.c:
23207         * gst/vaapi/gstvaapipluginbuffer.h:
23208         * gst/vaapi/gstvaapipostproc.c:
23209         * gst/vaapi/gstvaapiupload.c:
23210           videobuffer: drop deprecated functions.
23211           Move video buffer creation routines to plugin elements. That exclusively
23212           uses *_typed_new*() variants.
23213
23214 2012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23215
23216         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23217         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23218           videobuffer: mark video buffer creation routines as deprecated.
23219           The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
23220           plugin elements. So deprecate any explicit creation routines that are not the
23221           new *_typed_new*() variants.
23222
23223 2012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23224
23225         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23226         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
23227         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
23228           videobuffer: factor out base and GLX implementations.
23229           Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
23230           This avoids duplication of code, and makes it possible to further implement
23231           generic video buffer creation routines that automatically map to base or GLX
23232           variants.
23233
23234 2012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23235
23236         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
23237           utils: fix gl_create_context() with parent context set.
23238           If GLX window was created from a foreign Display, then that same Display shall
23239           be used for subsequent glXMakeCurrent(). This means that gl_create_context()
23240           will now use the same Display that the parent, if available.
23241           This fixes cluttersink with the Intel GenX VA driver.
23242
23243 2012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23244
23245         * gst/vaapi/gstvaapidecode.c:
23246         * gst/vaapi/gstvaapidownload.c:
23247         * gst/vaapi/gstvaapipluginutil.c:
23248         * gst/vaapi/gstvaapipluginutil.h:
23249         * gst/vaapi/gstvaapipostproc.c:
23250         * gst/vaapi/gstvaapisink.c:
23251         * gst/vaapi/gstvaapiupload.c:
23252           pluginutils: improve automatic display type selection.
23253
23254 2012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23255
23256         * gst/vaapi/gstvaapipluginutil.c:
23257         * gst/vaapi/gstvaapipluginutil.h:
23258           pluginutils: cosmetics (indentation fixes).
23259
23260 2012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23261
23262         * configure.ac:
23263           configure: simplify video outputs summary.
23264
23265 2012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23266
23267         * configure.ac:
23268         * gst/vaapi/gstvaapipluginutil.c:
23269         * gst/vaapi/gstvaapipluginutil.h:
23270         * gst/vaapi/gstvaapisink.c:
23271         * gst/vaapi/gstvaapisink.h:
23272           configure: drop check for --enable-vaapisink-glx.
23273           vaapisink is now built with support for multiple display types, whenever
23274           they are enabled. The new "display" attribute is used to select a particular
23275           renderer.
23276
23277 2012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23278
23279         * configure.ac:
23280         * gst-libs/gst/vaapi/gstvaapicompat.h:
23281         * gst/vaapi/Makefile.am:
23282         * gst/vaapi/gstvaapidecode.c:
23283         * gst/vaapi/gstvaapidownload.c:
23284         * gst/vaapi/gstvaapipluginutil.c:
23285         * gst/vaapi/gstvaapipostproc.c:
23286         * gst/vaapi/gstvaapiupload.c:
23287         * tests/test-display.c:
23288           configure: drop check for --enable-vaapi-glx.
23289           This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
23290           support, or fallback to TFP+FBO if this API is not found. Now, we check for
23291           the VA/GLX API by default if --enable-glx is set. If this API is not found,
23292           we now default to use TFP+FBO.
23293           Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
23294           will be removed in the future. If GLX rendering is requested, then the VA/GLX
23295           API shall be used as it covers most usages. e.g. AMD driver can't render to
23296           an X pixmap yet.
23297
23298 2012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23299
23300         * tests/output.c:
23301           tests: allow GLX output, if available and selected.
23302
23303 2012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23304
23305         * tests/Makefile.am:
23306         * tests/output.c:
23307         * tests/output.h:
23308         * tests/test-decode.c:
23309         * tests/test-subpicture.c:
23310         * tests/test-surfaces.c:
23311           tests: use common display and window creation routines.
23312           Add new --output option to select the renderer. Use --list-outputs to
23313           print a list of supported renderers.
23314
23315 2012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23316
23317         * tests/Makefile.am:
23318           tests: move encoded bitstreams to libutils.la.
23319
23320 2012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23321
23322         * tests/Makefile.am:
23323           tests: build convenience library for common utilities.
23324
23325 2012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23326
23327         * tests/Makefile.am:
23328         * tests/test-display.c:
23329           tests: simplify build with various display options.
23330
23331 2012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23332
23333         * configure.ac:
23334           configure: improve checks for X11.
23335
23336 2012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23337
23338         * tests/Makefile.am:
23339           configure: fix previous commit for GLX deps.
23340
23341 2012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23342
23343         * configure.ac:
23344         * gst-libs/gst/vaapi/Makefile.am:
23345           configure: improve checks for GLX.
23346
23347 2012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23348
23349         * configure.ac:
23350         * gst-libs/gst/vaapi/gstvaapicompat.h:
23351         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23352         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
23353         * gst-libs/gst/vaapi/gstvaapiutils.h:
23354           Drop support for obsolete VA-API versions < 0.30.4.
23355
23356 2012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23357
23358         * configure.ac:
23359         * gst-libs/gst/Makefile.am:
23360         * gst-libs/gst/gstutils_version.h.in:
23361         * gst/vaapi/gstvaapisink.c:
23362           vaapisink: drop checks for new APIs used by default.
23363           GStreamer -base plugins >= 0.10.31 are now required, so the checks for
23364           new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
23365           are no longer necessary.
23366
23367 2012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23368
23369         * configure.ac:
23370           configure: cosmetics and some minor changes.
23371           - Better grouping of feature checks
23372           - Sort list of config files to generate
23373
23374 2012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23375
23376         * configure.ac:
23377         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23378         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
23379         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23380         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23381         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
23382         * gst-libs/gst/vaapi/gstvaapiutils.h:
23383         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
23384         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
23385           Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
23386
23387 2012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23388
23389         * gst-libs/gst/vaapi/Makefile.am:
23390         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
23391         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
23392           Drop obsolete GstVaapiTSB.
23393           It has been replaced with a GstAdapter and gst_adapter_prev_pts().
23394
23395 2012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23396
23397         * docs/reference/libs/libs-sections.txt:
23398           docs: add missing entries for the JPEG decoder.
23399
23400 2012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23401
23402         * configure.ac:
23403         * gst-libs/gst/vaapi/Makefile.am:
23404         * gst/vaapi/gstvaapidecode.c:
23405         * tests/test-decode.c:
23406         * tests/test-subpicture.c:
23407           Drop all references to USE_CODEC_PARSERS.
23408
23409 2012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23410
23411         * NEWS:
23412         * configure.ac:
23413         * docs/reference/libs/libs-sections.txt:
23414         * docs/reference/libs/libs.core.types:
23415         * gst-libs/gst/vaapi/Makefile.am:
23416         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
23417         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
23418         * gst/vaapi/gstvaapidecode.c:
23419         * gst/vaapi/gstvaapidecode.h:
23420         * tests/test-decode.c:
23421         * tests/test-subpicture.c:
23422           Drop FFmpeg-based decoders.
23423           GStreamer codecparsers-based decoders are the only supported decoders now.
23424           Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
23425
23426 2012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
23427
23428         * configure.ac:
23429         * debian.upstream/control.in:
23430           configure: bump glib required version to 2.28.
23431           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23432
23433 2012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
23434
23435         * gst/vaapi/gstvaapidecode.h:
23436         * gst/vaapi/gstvaapidownload.h:
23437         * gst/vaapi/gstvaapipostproc.h:
23438         * gst/vaapi/gstvaapisink.h:
23439         * gst/vaapi/gstvaapiupload.h:
23440           plugins: declare _get_type() functions as const.
23441           Declaring a function as const enables better optimization of calls to
23442           the function.
23443           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23444
23445 2012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
23446
23447         * gst/vaapi/gstvaapidecode.c:
23448         * gst/vaapi/gstvaapidownload.c:
23449         * gst/vaapi/gstvaapipostproc.c:
23450         * gst/vaapi/gstvaapisink.c:
23451         * gst/vaapi/gstvaapiupload.c:
23452           plugins: use g_clear_object() wherever applicable.
23453           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23454
23455 2012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
23456
23457         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23458         * gst-libs/gst/vaapi/gstvaapicontext.h:
23459         * gst-libs/gst/vaapi/gstvaapidecoder.h:
23460         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
23461         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
23462         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
23463         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
23464         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
23465         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
23466         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23467         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
23468         * gst-libs/gst/vaapi/gstvaapidisplay.h:
23469         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
23470         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
23471         * gst-libs/gst/vaapi/gstvaapiimage.h:
23472         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
23473         * gst-libs/gst/vaapi/gstvaapiobject.h:
23474         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
23475         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
23476         * gst-libs/gst/vaapi/gstvaapisurface.h:
23477         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
23478         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
23479         * gst-libs/gst/vaapi/gstvaapitexture.h:
23480         * gst-libs/gst/vaapi/gstvaapivalue.h:
23481         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
23482         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
23483         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
23484         * gst-libs/gst/vaapi/gstvaapivideopool.h:
23485         * gst-libs/gst/vaapi/gstvaapivideosink.h:
23486         * gst-libs/gst/vaapi/gstvaapiwindow.h:
23487         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
23488         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
23489           libs: declare _get_type() functions as const.
23490           Declaring a function as const enables better optimization of calls
23491           to the function.
23492           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23493
23494 2012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
23495
23496         * gst-libs/gst/vaapi/glibcompat.h:
23497         * gst-libs/gst/vaapi/gstvaapicontext.c:
23498         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23499         * gst-libs/gst/vaapi/gstvaapiobject.c:
23500         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
23501         * gst-libs/gst/vaapi/gstvaapisurface.c:
23502         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
23503         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
23504         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
23505         * gst-libs/gst/vaapi/gstvaapivideopool.c:
23506           libs: use g_clear_object() wherever applicable.
23507           This is a preferred thread-safe version. Also add an inline version of
23508           g_clear_object() if compiling with glib < 2.28.
23509           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23510
23511 2012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
23512
23513         * .gitignore:
23514         * configure.ac:
23515         * docs/reference/libs/Makefile.am:
23516         * gst-libs/gst/vaapi/Makefile.am:
23517         * gst-libs/gst/vaapi/gstvaapimarshal.list:
23518         * gst-libs/gst/vaapi/gstvaapiobject.c:
23519           libs: use generic g_cclosure_marshal_VOID__VOID().
23520           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23521
23522 2012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23523
23524         * configure.ac:
23525         * gst-libs/gst/vaapi/glibcompat.h:
23526           glibcompat: drop explicit check for g_list_free_full().
23527
23528 2012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23529
23530         * configure.ac:
23531           Bump version for development.
23532
23533 2012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23534
23535         * gst-libs/gst/codecparsers/Makefile.am:
23536           jpeg: fix make dist.
23537
23538 2012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
23539
23540         * autogen.sh:
23541         * configure.ac:
23542         * docs/Makefile.am:
23543           configure: fix build without gtk-doc support.
23544           Also do not generate tamplate files as all the documentation is inline.
23545           Drop un-needed code in autogen.sh as well.
23546           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23547
23548 2012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
23549
23550         * Makefile.am:
23551         * autogen.sh:
23552         * configure.ac:
23553           configure: put m4 macros and autogenerated files into m4/ directory.
23554           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23555
23556 2012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
23557
23558         * configure.ac:
23559           configure: drop deprecated autoconf macros.
23560           Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
23561           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23562
23563 2012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
23564
23565         * configure.ac:
23566           configure: don't use AC_SUBST for some variables.
23567           PKG_CHECK_MODULES already does this for us.
23568           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23569
23570 2012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23571
23572         * gst/vaapi/gstvaapidecode.c:
23573         * gst/vaapi/gstvaapidownload.c:
23574         * gst/vaapi/gstvaapipostproc.c:
23575         * gst/vaapi/gstvaapiupload.c:
23576           plugins: add support for GstImplementsInterface.
23577
23578 2012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
23579
23580         * configure.ac:
23581         * gst/vaapi/gstvaapidecode.c:
23582         * gst/vaapi/gstvaapidownload.c:
23583         * gst/vaapi/gstvaapipostproc.c:
23584         * gst/vaapi/gstvaapisink.c:
23585         * gst/vaapi/gstvaapiupload.c:
23586           plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
23587           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23588
23589 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
23590
23591         * configure.ac:
23592         * gst/vaapi/gstvaapisink.c:
23593           plugins: do not use deprecated GStreamer -base symbols.
23594           Bump GStreamer plugins -base required version to 0.10.31, needed for
23595           gst_x_overlay_got_window_handle().
23596           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23597
23598 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
23599
23600         * configure.ac:
23601         * gst/vaapi/gstvaapidecode.c:
23602         * gst/vaapi/gstvaapidownload.c:
23603         * gst/vaapi/gstvaapipostproc.c:
23604         * gst/vaapi/gstvaapisink.c:
23605         * gst/vaapi/gstvaapiupload.c:
23606           plugins: do not use deprecated core GStreamer symbols.
23607           Bump GStreamer required version to 0.10.14, needed for
23608           gst_element_class_set_details_simple().
23609           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23610
23611 2012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23612
23613         * tests/test-decode.c:
23614           tests: fix build without JPEG decoder support.
23615
23616 2012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23617
23618         * tests/Makefile.am:
23619         * tests/test-decode.c:
23620         * tests/test-jpeg.c:
23621         * tests/test-jpeg.h:
23622           tests: add test for JPEG decoding.
23623
23624 2012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23625
23626         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23627           jpeg: update to match latest parser API.
23628
23629 2012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23630
23631         * gst-libs/gst/codecparsers/gstjpegparser.c:
23632         * gst-libs/gst/codecparsers/gstjpegparser.h:
23633           codecparsers: jpeg: tweak parser API.
23634           ... to allow for more consistent parsing API among various codec parsers.
23635           In particular, drop use of GList.
23636
23637 2012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23638
23639         * configure.ac:
23640           jpeg: fix configure check for VA/JPEG decoding API.
23641
23642 2012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23643
23644         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23645           jpeg: fix build with VA-API < 0.32.0.
23646
23647 2012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23648
23649         * NEWS:
23650           NEWS: updates.
23651
23652 2012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23653
23654         * configure.ac:
23655           Bump version for development.
23656
23657 2012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23658
23659         * NEWS:
23660         * configure.ac:
23661           0.3.7.
23662
23663 2012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23664
23665         * NEWS:
23666           NEWS: updates.
23667
23668 2012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
23669
23670         * gst/vaapi/gstvaapipluginutil.c:
23671           vaapiplugin: fix build when compiling without GLX.
23672           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23673
23674 2012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23675
23676         * configure.ac:
23677           configure: disable FFmpeg-based decoders.
23678           FFmpeg decoders are still available through the --enable-ffmpeg option
23679           but are no longer maintained.
23680
23681 2012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23682
23683         * gst-libs/gst/vaapi/Makefile.am:
23684           Fix build with recent GStreamer stack.
23685
23686 2012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23687
23688         * configure.ac:
23689         * gst-libs/gst/vaapi/gstvaapicompat.h:
23690         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23691           jpeg: update to current VA/JPEG decoding API.
23692
23693 2012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23694
23695         * gst-libs/gst/codecparsers/gstjpegparser.c:
23696         * gst-libs/gst/codecparsers/gstjpegparser.h:
23697         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23698           codecparsers: jpeg: track valid quantization and Huffman tables.
23699           Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
23700           to determine whether a table actually changed since the last user
23701           synchronization point. That way, this makes it possible for some
23702           hardware accelerated decoding solution to upload only those tables
23703           that changed.
23704
23705 2012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
23706
23707         * gst-libs/gst/codecparsers/gstjpegparser.c:
23708           codecparsers: jpeg: use U_READ_UINT*() wherever possible.
23709           Use GstByteReader *_unchecked() variants as much as possible.
23710           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23711
23712 2012-06-04 16:20:13 +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: add new GstJpegHuffmanTables structure.
23718           Add new GstJpegHuffmanTables helper structure to hold all possible
23719           AC/DC Huffman tables available to all components.
23720           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23721
23722 2012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
23723
23724         * gst-libs/gst/codecparsers/gstjpegparser.c:
23725         * gst-libs/gst/codecparsers/gstjpegparser.h:
23726         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23727           jpeg: make gst_jpeg_parse() support multiple scans.
23728           gst_jpeg_parse() now gathers all scans available in the supplied
23729           buffer. A scan comprises of the scan header and any entropy-coded
23730           segments or restart marker following it. The size and offset to
23731           the associated data (ECS + RST segments) are append to a new
23732           GstJpegScanOffsetSize structure.
23733           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23734
23735 2012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
23736
23737         * gst-libs/gst/codecparsers/gstjpegparser.c:
23738         * gst-libs/gst/codecparsers/gstjpegparser.h:
23739         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23740           jpeg: update to match latest parser API.
23741           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23742
23743 2012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23744
23745         * gst-libs/gst/codecparsers/gstjpegparser.h:
23746           jpeg: simplify and optimize parser API.
23747
23748 2012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
23749
23750         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23751           mpeg: fix picture used to determine backward_reference_vop_coding_type.
23752           Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
23753           but Gwenole did not apply all the bits.
23754           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23755
23756 2012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
23757
23758         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23759           mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
23760           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23761
23762 2012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
23763
23764         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23765           mpeg4: handle skipped frames (vop_hdr->coded = 0).
23766           Gracefully skip non VOP coded frames.
23767           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23768
23769 2012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
23770
23771         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23772           mpeg4: fix timestamp issues on too fast playback.
23773           Improve generation of presentation timestamps to be less sensitive
23774           to input stream errors. In practise, GOP is also a synchronization
23775           point for PTS calculation.
23776           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23777
23778 2012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23779
23780         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23781           Fix build without JPEG decoder.
23782
23783 2012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
23784
23785         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23786           mpeg4: fix VOP coding type of backward reference pictures.
23787           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23788
23789 2012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
23790
23791         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23792           mpeg4: fix handling of temporal reference distances.
23793           TRD and TRB fields are not large enough to hold the difference of PTS
23794           expressed with nanosecond resolution. So, compute them from the original
23795           VOP info.
23796           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23797
23798 2012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23799
23800         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
23801           dpb: mpeg2: cosmetics.
23802           Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
23803
23804 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
23805
23806         * configure.ac:
23807         * gst-libs/gst/vaapi/Makefile.am:
23808         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
23809         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
23810         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23811         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
23812         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23813         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23814         * gst-libs/gst/vaapi/gstvaapiprofile.c:
23815         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23816         * gst/vaapi/gstvaapidecode.c:
23817           Add initial JPEG decoder.
23818           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23819
23820 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
23821
23822         * configure.ac:
23823         * gst-libs/gst/Makefile.am:
23824         * gst-libs/gst/codecparsers/Makefile.am:
23825         * gst-libs/gst/codecparsers/gstjpegparser.c:
23826         * gst-libs/gst/codecparsers/gstjpegparser.h:
23827         * gst-libs/gst/vaapi/Makefile.am:
23828           codecparsers: add JPEG parser.
23829           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23830
23831 2012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
23832
23833         * gst/vaapi/gstvaapidecode.c:
23834           vaapidecode: fix VA display type.
23835           Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
23836           wrapper.
23837           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23838
23839 2012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23840
23841         * gst/vaapi/gstvaapidecode.c:
23842           vaapidecode: fix includes when compiling for a single API.
23843
23844 2012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23845
23846         * NEWS:
23847         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23848           mpeg2: fix calculation of macroblock_offset.
23849           Fix decoding of streams with extra slice() information before the first
23850           macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
23851
23852 2012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23853
23854         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23855           mpeg2: fix interpolation of GOP TSN from new PTS.
23856           New GOP TSN base could be mis-calculated. In particular, this fixes
23857           decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
23858
23859 2012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23860
23861         * NEWS:
23862         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23863         * gst-libs/gst/vaapi/gstvaapiprofile.h:
23864           mpeg2: fix decoding of high profile streams.
23865           Allow MPEG-2 High profile streams only if the HW supports that profile
23866           or no High profile specific bits are used, and thus Main profile could
23867           be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
23868           set to 11 and no sequence_scalable_extension() was parsed.
23869
23870 2012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23871
23872         * NEWS:
23873         * gst/vaapi/gstvaapidecode.c:
23874           vaapidecode: report unsupported codec profiles.
23875           Try to gracefully abort when the HW does not support the requested
23876           profile. There is no fallback unless profiles are correctly parsed
23877           and matched through caps beforehand.
23878
23879 2012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
23880
23881         * NEWS:
23882         * gst/vaapi/gstvaapisink.c:
23883           vaapisink: don't resize a 'foreign' X-window.
23884           Don't forcibly resize foreign X windows. The user is responsible for
23885           their size and vaapisink shall not change this.
23886           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23887
23888 2012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
23889
23890         * NEWS:
23891         * gst/vaapi/gstvaapisink.c:
23892         * gst/vaapi/gstvaapisink.h:
23893           vaapisink: recalculate render rect only if caps are negotiated.
23894           Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
23895           caps got negotiated. Besides, when a foreign window is provided by the
23896           user, so should the render rect.
23897           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23898
23899 2012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23900
23901         * configure.ac:
23902           Bump version for development.
23903
23904 === release 0.3.6 ===
23905
23906 2012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23907
23908         * configure.ac:
23909           0.3.6.
23910
23911 2012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23912
23913         * docs/reference/libs/libs-docs.xml.in:
23914         * docs/reference/libs/libs-sections.txt:
23915         * docs/reference/plugins/plugins-docs.xml.in:
23916         * docs/reference/plugins/plugins-sections.txt:
23917         * docs/reference/plugins/plugins.types:
23918         * gst-libs/gst/vaapi/gstvaapiimage.c:
23919         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
23920         * gst/vaapi/gstvaapipostproc.c:
23921           Fix a few documentation issues.
23922
23923 2012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23924
23925         * NEWS:
23926         * README:
23927           Update introduction and changelog.
23928
23929 2012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23930
23931         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
23932         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
23933         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23934           mpeg2: allocate dummy picture for first field based I-frame.
23935           In P-pictures, prediction shall be made from the two most recently
23936           decoded reference fields. However, when the first I-frame is a field,
23937           the next field of the current picture could be a P-picture but only a
23938           single field was decoded so far. In this case, create a dummy picture
23939           with POC = -1 that will be used as reference.
23940           Some VA drivers would error out if P-pictures don't have a forward
23941           reference picture. This is true in general but not in this very specific
23942           initial case.
23943
23944 2012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23945
23946         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23947           mpeg2: fix simple to main profile fallback.
23948           Allow fallback from simple to main profile when the HW decoder does
23949           not support the former profile and that no sequence_header_extension()
23950           is available to point out this.
23951
23952 2012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
23953
23954         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23955           mpeg4: improve error checking while decoding packets.
23956           decode_picture() could return an error when an MPEG-4 profile is not
23957           supported for example. In this case, the underlying VA context is not
23958           allocated and no other proper action can be taken. Likewise on exit
23959           from decode_slice().
23960           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23961
23962 2012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23963
23964         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
23965         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23966         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23967         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23968           decoder: use POC to maintain the DPB.
23969           Introduce a POC field in GstVaapiPicture so that to store simpler sequential
23970           numbers. A signed 32-bit integer should be enough for 1 year of continuous
23971           video streaming at 60 Hz.
23972           Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
23973           This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
23974
23975 2012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23976
23977         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23978           mpeg2: rework generation of presentation timestamps.
23979           Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
23980           i.e. demuxer could not determine the PTS or the generated PTS is lower than
23981           max PTS from past pictures, then try to fix it up based on the duration of
23982           a frame.
23983           For picture PTS, simply use the GOP PTS formerly computed then use TSN to
23984           reconstruct a current time. Also now handle wrapped TSN correctly.
23985
23986 2012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23987
23988         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23989           mpeg2: ignore empty user-data packets.
23990           Fix tcela-8.bits conformance test.
23991
23992 2012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23993
23994         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23995           mpeg2: review and report errors accordingly.
23996           Use GST_ERROR() to report real errors instead of hiding them into
23997           GST_DEBUG().
23998
23999 2012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24000
24001         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24002           mpeg2: fix invalid interlaced frame in progressive sequence.
24003           Some streams, badly constructed, could have signaled an interlaced
24004           frame while the sequence was meant to be progressive. Warn and force
24005           frame to be progressive in this case.
24006
24007 2012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24008
24009         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24010         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24011           mpeg2: add support for interlaced streams.
24012           Pictures are submitted to the HW for rendering only when both fields
24013           are decoded or current picture is a full frame.
24014
24015 2012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24016
24017         * gst-libs/gst/vaapi/Makefile.am:
24018         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
24019         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
24020         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24021           mpeg2: add new decoded picture buffer infrastructure.
24022           Decoded pictures are now maintained into DPB, similarly to H.264.
24023           The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
24024
24025 2012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24026
24027         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24028         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24029         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24030           decoder: add first-field flag to picture.
24031           Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
24032           member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
24033           as the first field. Any subsequent allocated field will become the second field.
24034
24035 2012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24036
24037         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24038         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24039         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24040         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24041           decoder: allow pictures to be cloned for field decoding.
24042           Add gst_vaapi_picture_new_field() function that clones a picture, while
24043           preserving the parent picture surface. i.e. the surface proxy reference
24044           count is increased and other fields copied as is. Besides, the picture
24045           is reset into a "non-output" mode.
24046
24047 2012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24048
24049         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24050         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24051         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24052           decoder: rework picture field flags.
24053           Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
24054           could be propagated to the surface proxy when it is pushed for rendering.
24055           Besides, top and bottom fields are now expressed with picture structure flags
24056           from GstVaapiSurfaceRenderFlags.
24057
24058 2012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24059
24060         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24061         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24062           decoder: add OUTPUT flag to pictures.
24063           Allow pictures to be marked as output gst_vaapi_picture_output().
24064
24065 2012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24066
24067         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24068         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24069         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24070           decoder: fix semantics of SKIPPED pictures.
24071           If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
24072           will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
24073           has nothing to do with rendering. This only means that the currently decoded
24074           picture is just a copy of its reference picture.
24075
24076 2012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24077
24078         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24079         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24080         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24081         * gst/vaapi/gstvaapipostproc.c:
24082           vaapipostproc: get "interlaced" attribute from surface proxy.
24083           Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
24084           vaapipostproc so that to handles cases where bitstream is interlaced
24085           but almost only frame pictures are generated. In this case, we should
24086           not be alternating between top/bottom fields.
24087
24088 2012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24089
24090         * README:
24091         * debian.upstream/control.in:
24092         * gst/vaapi/Makefile.am:
24093         * gst/vaapi/gstvaapi.c:
24094         * gst/vaapi/gstvaapipostproc.c:
24095         * gst/vaapi/gstvaapipostproc.h:
24096           vaapipostproc: add new element for video postprocessing.
24097           Add vaapipostproc element for video postprocessing. So far, only basic
24098           bob deinterlacing is implemented. Interlaced mode is automatically
24099           detected based on sink caps ("interlaced" field).
24100
24101 2012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24102
24103         * docs/reference/libs/libs-sections.txt:
24104         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24105         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
24106         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
24107         * gst/vaapi/gstvaapisink.c:
24108           videobuffer: add surface render flags.
24109           Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
24110           to be set to the video buffer. In particular, this is mostly useful for
24111           basic deinterlacing.
24112
24113 2012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24114
24115         * gst-libs/gst/vaapi/gstvaapicompat.h:
24116           compat: add compatibility glue with VA-API 0.34+ (WIP).
24117
24118 2012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24119
24120         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24121           h264: skip all Filler Data NALs.
24122
24123 2012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
24124
24125         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24126           mpeg4: check for decoder status prior to decoding packet.
24127           Make sure there is a VA surface free prior to decoding the current frame.
24128           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24129
24130 2012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
24131
24132         * gst/vaapi/gstvaapidecode.c:
24133         * gst/vaapi/gstvaapidecode.h:
24134           decode: delay NEWSEGMENT event if vaapidecode element was not linked.
24135           Rationale: playbin2 links all elements at run-time. Once vaapidecode
24136           is created and a NEWSEGMENT event arrives, downstream element may not
24137           be ready yet. So, delay this event until next element is chained in,
24138           otherwise basesink could output "Received buffer without a new-segment.
24139           Assuming timestamps start from 0".
24140           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24141
24142 2012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
24143
24144         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24145           mpeg2: fix GOP timestamps when incorrect data is received.
24146           Some streams have incorrect GOP timestamps, or nothing set at all.
24147           i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
24148           from demuxer timestamps, which are monotonic.
24149           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24150
24151 2012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
24152
24153         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24154           mpeg2: don't decode anything before the first sequence_header().
24155           Skip all pictures prior to the first sequence_header(). Besides,
24156           skip all picture_data() if there was no prior picture_header().
24157           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24158
24159 2012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
24160
24161         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24162           ffmpeg: add support for interlaced streams.
24163           Evaluate interlaced stream properties.
24164           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24165
24166 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
24167
24168         * gst/vaapi/gstvaapidecode.c:
24169           vaapidecode: propagate interlaced and TFF properties downstream.
24170           Propagate "interlaced" caps downstream and set "tff" buffer flag
24171           appropriately to output buffers for interlaced pictures.
24172           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24173
24174 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
24175
24176         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24177         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24178           decoder: maintain caps for interlaced streams.
24179           Extend GstVaapiDecoder base object to maintain caps with "interlaced"
24180           property.
24181           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24182
24183 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
24184
24185         * docs/reference/libs/libs-sections.txt:
24186         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24187         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24188           surfaceproxy: add TFF property.
24189           Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
24190           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24191
24192 2012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24193
24194         * AUTHORS:
24195           AUTHORS: update to match current authors.
24196
24197 2012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24198
24199         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24200           mpeg2: fix is_first_field calculation.
24201           Reset is_first_field for frame pictures. Factor out locations where
24202           the flag is updated.
24203
24204 2012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24205
24206         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24207           mpeg2: catch incorrect picture_structure from bitstreams.
24208           Assume "frame" picture structure if the syntax element was zero or if
24209           progressive_frame is set.
24210
24211 2012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24212
24213         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24214           mpeg2: fix slice_vertical_position calculation (again).
24215           VA-API expects slice_vertical_position as the initial position from the
24216           bitstream. i.e. the direct slice() information. VA drivers will be fixed
24217           accordingly.
24218
24219 === release 0.3.5 ===
24220
24221 2012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24222
24223         * gst/vaapi/gstvaapidecode.c:
24224           Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
24225           This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
24226           For gst_element_class_get_pad_template(), no unreferencing is necessary
24227           according to the GStreamer documentation.
24228
24229 2012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24230
24231         * configure.ac:
24232         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24233           h264: fix slice_data_bit_offset calculation.
24234           Unlike what VA-API documentation defines, the slice_data_bit_offset
24235           represents the offset to the first macroblock in the slice data, minus
24236           any emulation prevention bytes in the slice_header().
24237           This fix copes with binary-only VA drivers that won't be fixed any
24238           time soon. Besides, this aligns with the current FFmpeg behaviour
24239           that was based on those proprietary drivers implementing the API
24240           incorrectly.
24241
24242 2012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
24243
24244         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24245           h264: skip all Access Unit (AU) NALs.
24246           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24247
24248 2012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
24249
24250         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24251           h264: fix modification process of reference picture lists.
24252           Construction of RefPicList0/1 could be off by one element.
24253           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24254
24255 2012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24256
24257         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24258           mpeg2: fix size calculation from sequence_extension().
24259           Original values from sequence_header() are 12-bit and the remaining
24260           2 most significant bits are coming from sequence_extension().
24261           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24262
24263 2012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24264
24265         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24266           mpeg2: fix slice_vertical_position calculation.
24267           Make sure to adjust slice_vertical_position if picture structure
24268           is a top or bottom field.
24269
24270 2012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24271
24272         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24273           decoder: add picture structure flags.
24274
24275 2012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24276
24277         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24278           mpeg2: fix decoding at end-of-sequence.
24279
24280 2012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24281
24282         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24283           mpeg2: fix slice_horizontal_position calculation.
24284
24285 2012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24286
24287         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24288           mpeg2: drop useless mb_y and mb_height members.
24289
24290 2012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24291
24292         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24293           mpeg2: fix decoding of multiple slices with same slice_vertical_position.
24294           6.3.15 says that "some slices may have the same slice_vertical_position,
24295           since slices may start and finish anywhere". So, we can't submit the current
24296           picture to the HW right away since subsequent slices would be missing.
24297
24298 2012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24299
24300         * gst-libs/gst/vaapi/gstvaapiimage.c:
24301           image: fix source stride in picture copy.
24302
24303 2012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24304
24305         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24306           decoder: fix double buffer free with some VA drivers.
24307           vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
24308           push the VA buffer object into a list of free buffers to be re-used. However,
24309           reference pictures (and data) that was kept would explicitly release the VA
24310           buffer object later on, thus possibly destroying a valid (re-used) object.
24311           Besides, some other VA drivers don't support correctly the vaRenderPicture()
24312           semantics for VA buffers disposal and would leak memory if there is no explicit
24313           vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
24314           right after vaRenderPicture(). All VA drivers need to be aligned.
24315
24316 2012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24317
24318         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24319           h264: complete any current picture decoder before SPS / PPS change.
24320           This ensures the VA context is clear when the encoded resolution
24321           changes. i.e. make sure older picture is decoded with the older
24322           VA context before it changes.
24323
24324 2012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24325
24326         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24327           h264: create VA context earlier when SPS is parsed.
24328
24329 2012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24330
24331         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24332           h264: don't allocate too big data structures on stack.
24333
24334 2012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24335
24336         * gst-libs/gst/vaapi/glibcompat.h:
24337         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24338         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24339           glib: map deprecated API to glib >= 2.32 equivalents.
24340           GStaticMutex and GStaticRecMutex are now replaced with GMutex and
24341           GRecMutex, which no longer require any prior call to g_thread_init().
24342
24343 2012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24344
24345         * gst-libs/gst/vaapi/gstvaapiutils.h:
24346         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24347         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24348           glib: fix includes.
24349
24350 2012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24351
24352         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24353         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24354         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24355         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24356           cosmetics: fix warnings (drop unused variables).
24357
24358 2012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24359
24360         * gst/vaapi/gstvaapidecode.c:
24361           vaapidecode: fix another pad template ref leak.
24362
24363 2012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24364
24365         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24366         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24367         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24368           mpeg2: fix crash when there is no free surface to decode into.
24369
24370 2012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
24371
24372         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24373           display: skip profiles which have no entrypoints.
24374           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24375
24376 2012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24377
24378         * gst/vaapi/gstvaapiupload.c:
24379           vaapiupload: use g_object_unref() for GstVaapiImage.
24380
24381 2012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24382
24383         * gst/vaapi/gstvaapidecode.c:
24384         * gst/vaapi/gstvaapidownload.c:
24385         * gst/vaapi/gstvaapisink.c:
24386         * gst/vaapi/gstvaapiupload.c:
24387           plugins: fix pad template ref leaks.
24388
24389 2012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24390
24391         * configure.ac:
24392           Bump version for development.
24393
24394 === release 0.3.4 ===
24395
24396 2012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24397
24398         * NEWS:
24399         * configure.ac:
24400           0.3.4.
24401
24402 2012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24403
24404         * README:
24405           README: updates.
24406           Mention codecparsers-based decoders, FFmpeg is now optional. Update
24407           list of support HW.
24408
24409 2012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24410
24411         * NEWS:
24412           NEWS: updates.
24413
24414 2012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24415
24416         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24417           decoder: allocate proxy surface earlier.
24418           This simplifies gst_vaapi_picture_output() to only update the presentation
24419           timestamp and submit the proxy to the decoder for output.
24420
24421 2012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24422
24423         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24424           decoder: fix memory leak of VA objects on exit.
24425           On sequence end, if the last decoded picture is not output for rendering,
24426           then the proxy surface is not created. In this case, the original surface
24427           must be released explicitly to the context.
24428
24429 2012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24430
24431         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24432           mpeg2: use GstAdapter to track input sequence.
24433           This fixes possible memory leaks and improves performance by removing
24434           some extra copies.
24435
24436 2012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24437
24438         * configure.ac:
24439         * gst-libs/gst/vaapi/Makefile.am:
24440         * gst-libs/gst/vaapi/glibcompat.h:
24441         * gst-libs/gst/vaapi/sysdeps.h:
24442           Add glib compatibility glue for older versions.
24443
24444 2012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24445
24446         * gst-libs/gst/vaapi/Makefile.am:
24447         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24448         * gst-libs/gst/vaapi/gstvaapicontext.c:
24449         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24450         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24451         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24452         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24453         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24454         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24455         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24456         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24457         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24458         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24459         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24460         * gst-libs/gst/vaapi/gstvaapiimage.c:
24461         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24462         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24463         * gst-libs/gst/vaapi/gstvaapiobject.c:
24464         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
24465         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24466         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24467         * gst-libs/gst/vaapi/gstvaapisurface.c:
24468         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24469         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24470         * gst-libs/gst/vaapi/gstvaapitexture.c:
24471         * gst-libs/gst/vaapi/gstvaapiutils.c:
24472         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24473         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24474         * gst-libs/gst/vaapi/gstvaapivalue.c:
24475         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24476         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
24477         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
24478         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24479         * gst-libs/gst/vaapi/gstvaapivideosink.c:
24480         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24481         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24482         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24483         * gst-libs/gst/vaapi/sysdeps.h:
24484           Add header for system-dependent definitions.
24485
24486 2012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24487
24488         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24489         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24490         * gst-libs/gst/vaapi/gstvaapiutils.c:
24491         * gst-libs/gst/vaapi/gstvaapiutils.h:
24492           decoder: optimize slice data buffers initialization.
24493           VA drivers may have a faster means to transfer user buffers to GPU
24494           buffers than using memcpy(). In particular, on Intel Gen graphics, we
24495           can use pwrite(). This provides for faster upload of bitstream and can
24496           help higher bitrates.
24497           vaapi_create_buffer() helper function was also updated to allow for
24498           un-mapped buffers and pre-initialized data for buffers.
24499
24500 2012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24501
24502         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24503           h264: simplify RefPicList reconstruction.
24504
24505 2012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24506
24507         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24508           h264: flush DPB when the end of the sequence is reached.
24509
24510 2012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24511
24512         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24513           h264: handle Decoded Picture Buffer (DPB).
24514
24515 2012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24516
24517         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24518           h264: fix pred_weight_table() reconstruction.
24519           Only the explicit pred_weight_table(), possibly with the inferred default
24520           values, shall be required. e.g. don't fill in the table if weighted_pred_flag
24521           is not set for P/SP slices.
24522
24523 2012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24524
24525         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24526           h264: execute reference picture marking process (MMCO).
24527
24528 2012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24529
24530         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24531           h264: fix presentation timestamps.
24532
24533 2012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24534
24535         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24536           h264: execute reference picture marking process (sliding window).
24537
24538 2012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24539
24540         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24541           h264: handle avcC format for decoding buffers.
24542
24543 2011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24544
24545         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24546           h264: handle codec-data.
24547           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24548
24549 2011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24550
24551         * gst-libs/gst/vaapi/Makefile.am:
24552         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24553         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24554         * gst/vaapi/gstvaapidecode.c:
24555         * tests/test-decode.c:
24556           Add initial H.264 decoder.
24557
24558 2012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24559
24560         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24561         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24562           decoder: retain proxy surface until the GstVaapiPicture is destroyed.
24563           Keep a valid reference to the proxy in GstVaapiPicture so that frames
24564           marked as "used for reference" could be kept during the lifetime of the
24565           picture. i.e. don't release them too soon as they could be re-used right
24566           away.
24567
24568 2012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24569
24570         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24571         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24572         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24573           decoder: properly reference count pictures.
24574           This fixes cases where a GstVaapiPicture would be destroyed whereas
24575           there is still a valid instance of it in either prev, current or
24576           next picture.
24577
24578 2012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24579
24580         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24581         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24582         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24583         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24584           decoder: simplify output of decoded frames.
24585           Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
24586           Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
24587           is already set correctly and reference count increased, if necessary.
24588
24589 2012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24590
24591         * gst-libs/gst/vaapi/Makefile.am:
24592         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24593         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
24594         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24595         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24596         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24597         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24598         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24599         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24600         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24601           decoder: rework the internal VA objects API.
24602           The new API simplifies a lot reference counting and makes it more
24603           flexible for future additions/changes. The GstVaapiCodecInfo is
24604           also gone. Rather, new helper macros are provided to allocate
24605           picture, slice and quantization matrix parameter buffers.
24606
24607 2012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24608
24609         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24610         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24611           decoder: allow slices to be attached to pictures later.
24612
24613 2011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24614
24615         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24616         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24617           decoder: add ref_count to GstVaapiPicture.
24618
24619 2012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24620
24621         * gst/vaapi/gstvaapisink.c:
24622           vaapisink: cap window size to the maximum display size.
24623
24624 2012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
24625
24626         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24627         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24628           profile: match video/x-h263 as H.263 Baseline profile.
24629           HACK: qtdemux does not report profiles for H.263. So, assume plain
24630           "video/x-h263" is H.263 Baseline profile.
24631           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24632
24633 2012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24634
24635         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24636         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24637           display: report H.263 Baseline profile.
24638           HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
24639           profile (VAProfileMPEG4Simple) is supported.
24640
24641 2012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24642
24643         * gst-libs/gst/vaapi/Makefile.am:
24644         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
24645           Add template for workarounds.
24646
24647 2012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24648
24649         * tests/test-decode.c:
24650           tests: error out if FFmpeg|codecparsers are not supported.
24651
24652 2012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24653
24654         * docs/reference/libs/libs-sections.txt:
24655         * gst-libs/gst/vaapi/gstvaapisurface.h:
24656         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24657           surface: don't expose gst_vaapi_surface_get_parent_context().
24658           gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
24659           It's just an internal helper function. However, it's still possible to get
24660           the parent context through the "parent-context" property.
24661
24662 2012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24663
24664         * tests/Makefile.am:
24665         * tests/test-subpicture.c:
24666           tests: fix build without FFmpeg.
24667
24668 2012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24669
24670         * configure.ac:
24671           Bump version for development.
24672
24673 === release 0.3.3 ===
24674
24675 2012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24676
24677         * NEWS:
24678         * configure.ac:
24679           0.3.3.
24680
24681 2012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24682
24683         * README:
24684         * debian.upstream/copyright:
24685         * gst-libs/gst/vaapi/gstvaapicontext.c:
24686         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24687         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24688         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24689         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24690         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24691         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24692         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24693         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24694         * gst-libs/gst/vaapi/gstvaapiimage.c:
24695         * gst-libs/gst/vaapi/gstvaapiimage.h:
24696         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24697         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24698         * gst-libs/gst/vaapi/gstvaapiutils.c:
24699         * gst-libs/gst/vaapi/gstvaapiutils.h:
24700         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24701         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24702         * gst/vaapi/gstvaapi.c:
24703         * gst/vaapi/gstvaapidecode.c:
24704         * gst/vaapi/gstvaapidownload.c:
24705         * gst/vaapi/gstvaapidownload.h:
24706         * gst/vaapi/gstvaapipluginutil.c:
24707         * gst/vaapi/gstvaapipluginutil.h:
24708         * gst/vaapi/gstvaapisink.c:
24709         * gst/vaapi/gstvaapiupload.c:
24710         * gst/vaapi/gstvaapiupload.h:
24711         * tests/test-decode.c:
24712           legal: fix year for some copyright notices.
24713
24714 2012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24715
24716         * gst-libs/gst/vaapi/gstvaapicontext.c:
24717         * gst-libs/gst/vaapi/gstvaapicontext.h:
24718         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24719         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24720         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24721         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24722         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24723         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24724         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24725         * gst-libs/gst/vaapi/gstvaapiimage.c:
24726         * gst-libs/gst/vaapi/gstvaapiimage.h:
24727         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24728         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
24729         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24730         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24731         * gst-libs/gst/vaapi/gstvaapisurface.c:
24732         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24733         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24734         * gst-libs/gst/vaapi/gstvaapiutils.c:
24735         * gst-libs/gst/vaapi/gstvaapiutils.h:
24736         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24737         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24738         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24739         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
24740         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24741         * gst/vaapi/gstvaapidownload.h:
24742         * gst/vaapi/gstvaapisink.h:
24743         * gst/vaapi/gstvaapiupload.h:
24744         * tests/test-decode.c:
24745           legal: add Intel copyright on modified files.
24746
24747 2012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24748
24749         * gst-libs/gst/vaapi/gstvaapi_priv.h:
24750         * gst-libs/gst/vaapi/gstvaapicompat.h:
24751         * gst-libs/gst/vaapi/gstvaapicontext.c:
24752         * gst-libs/gst/vaapi/gstvaapicontext.h:
24753         * gst-libs/gst/vaapi/gstvaapidebug.h:
24754         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24755         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24756         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
24757         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
24758         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24759         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24760         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24761         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24762         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24763         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
24764         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24765         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24766         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24767         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24768         * gst-libs/gst/vaapi/gstvaapiimage.c:
24769         * gst-libs/gst/vaapi/gstvaapiimage.h:
24770         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24771         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
24772         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24773         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24774         * gst-libs/gst/vaapi/gstvaapiobject.c:
24775         * gst-libs/gst/vaapi/gstvaapiobject.h:
24776         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
24777         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
24778         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
24779         * gst-libs/gst/vaapi/gstvaapiprofile.c:
24780         * gst-libs/gst/vaapi/gstvaapiprofile.h:
24781         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24782         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24783         * gst-libs/gst/vaapi/gstvaapisurface.c:
24784         * gst-libs/gst/vaapi/gstvaapisurface.h:
24785         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24786         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24787         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24788         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24789         * gst-libs/gst/vaapi/gstvaapitexture.c:
24790         * gst-libs/gst/vaapi/gstvaapitexture.h:
24791         * gst-libs/gst/vaapi/gstvaapitypes.h:
24792         * gst-libs/gst/vaapi/gstvaapiutils.c:
24793         * gst-libs/gst/vaapi/gstvaapiutils.h:
24794         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24795         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
24796         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
24797         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
24798         * gst-libs/gst/vaapi/gstvaapivalue.c:
24799         * gst-libs/gst/vaapi/gstvaapivalue.h:
24800         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
24801         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
24802         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24803         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24804         * gst-libs/gst/vaapi/gstvaapivideosink.c:
24805         * gst-libs/gst/vaapi/gstvaapivideosink.h:
24806         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24807         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24808         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24809         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24810         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24811         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24812         * gst/vaapi/gstvaapidecode.c:
24813         * gst/vaapi/gstvaapidecode.h:
24814         * gst/vaapi/gstvaapidownload.c:
24815         * gst/vaapi/gstvaapidownload.h:
24816         * gst/vaapi/gstvaapisink.c:
24817         * gst/vaapi/gstvaapisink.h:
24818         * gst/vaapi/gstvaapiupload.c:
24819         * gst/vaapi/gstvaapiupload.h:
24820         * tests/image.c:
24821         * tests/image.h:
24822         * tests/test-decode.c:
24823         * tests/test-decode.h:
24824         * tests/test-display.c:
24825         * tests/test-h264.c:
24826         * tests/test-h264.h:
24827         * tests/test-mpeg2.c:
24828         * tests/test-mpeg2.h:
24829         * tests/test-surfaces.c:
24830         * tests/test-textures.c:
24831         * tests/test-vc1.c:
24832         * tests/test-vc1.h:
24833         * tests/test-windows.c:
24834           legal: fix copyright notices to include "Copyright" term.
24835
24836 2011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
24837
24838         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24839         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24840           mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
24841           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24842
24843 2011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
24844
24845         * gst-libs/gst/vaapi/Makefile.am:
24846         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24847         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24848         * gst/vaapi/gstvaapidecode.c:
24849           Add initial MPEG-4 decoder.
24850           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24851
24852 2011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24853
24854         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24855         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24856           vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
24857           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24858
24859 2011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24860
24861         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24862           vc1: fix codec-data decoding for WMV3 format.
24863
24864 2011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24865
24866         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24867           vc1: fix presentation timestamps.
24868
24869 2011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24870
24871         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24872           vc1: fix MV mode packing.
24873
24874 2011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24875
24876         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24877           vc1: handle codec-data.
24878
24879 2011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24880
24881         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24882           vc1: handle encapsulated bitstreams.
24883
24884 2011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24885
24886         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24887         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24888         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24889           vc1: fix bitplanes decoding.
24890
24891 2011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24892
24893         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24894           vc1: fix BFRACTION reconstruction.
24895
24896 2011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24897
24898         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24899           vc1: fix framerate calculation.
24900
24901 2011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24902
24903         * gst-libs/gst/vaapi/Makefile.am:
24904         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24905         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24906         * gst/vaapi/gstvaapidecode.c:
24907         * tests/test-decode.c:
24908           Add initial VC-1 decoder.
24909
24910 2012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
24911
24912         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24913           mpeg2: fix first field detection.
24914           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24915
24916 2012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24917
24918         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24919           mpeg2: fix quantisation matrix construction.
24920
24921 2011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24922
24923         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24924         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24925           mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
24926           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24927
24928 2011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24929
24930         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24931           mpeg2: fix packets spanning over two buffers.
24932
24933 2011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24934
24935         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24936           mpeg2: ignore system start codes (PES headers).
24937
24938 2011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24939
24940         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24941           mpeg2: handle closed_gop.
24942
24943 2011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24944
24945         * gst-libs/gst/vaapi/Makefile.am:
24946         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24947         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24948         * gst/vaapi/gstvaapidecode.c:
24949         * tests/test-decode.c:
24950           Add initial MPEG-2 decoder.
24951
24952 2011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24953
24954         * configure.ac:
24955         * gst-libs/gst/vaapi/Makefile.am:
24956         * gst/vaapi/gstvaapidecode.c:
24957         * tests/test-decode.c:
24958           Allow conditional build of GStreamer/FFmpeg bitstream parsers.
24959
24960 2011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24961
24962         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24963         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24964           Add VA decoder helpers.
24965
24966 2011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24967
24968         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24969           decoder: add new error codes.
24970           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
24971           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
24972
24973 2011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24974
24975         * gst-libs/gst/vaapi/Makefile.am:
24976         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
24977         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
24978           Add timestamp buffer store helper utils.
24979
24980 2011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24981
24982         * gst-libs/gst/vaapi/gstvaapiutils.c:
24983         * gst-libs/gst/vaapi/gstvaapiutils.h:
24984           Add VA buffer helpers.
24985
24986 2012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24987
24988         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24989           utils: slight improvements to gl_bind_texture().
24990
24991 2012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24992
24993         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24994           utils: pretty-print output of gl_get_error_string().
24995
24996 2012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24997
24998         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
24999           utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
25000
25001 2012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25002
25003         * gst-libs/gst/vaapi/gstvaapiutils.c:
25004           utils: simplify string of VAProfile/VAEntrypoint.
25005
25006 2012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25007
25008         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25009         * gst-libs/gst/vaapi/gstvaapiutils.c:
25010         * gst-libs/gst/vaapi/gstvaapiutils.h:
25011           utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
25012
25013 2012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25014
25015         * NEWS:
25016           NEWS: updates.
25017
25018 2012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25019
25020         * tests/test-decode.c:
25021           tests: check for shared VA displays (display cache).
25022
25023 2012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25024
25025         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25026           display: always free VA display cache if it is empty.
25027
25028 2012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25029
25030         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25031         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25032         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
25033         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25034         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25035           display: use VA display cache for X11 and GLX winsys.
25036
25037 2012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25038
25039         * gst-libs/gst/vaapi/Makefile.am:
25040         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25041         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
25042         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
25043           display: implement a VA display cache.
25044
25045 2012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25046
25047         * gst/vaapi/gstvaapipluginutil.c:
25048           vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
25049           This ensures the display name provided to gst_vaapi_display_*_new()
25050           maps to the system defaults, instead of forcing "" that could be different
25051           from the current DISPLAY name.
25052
25053 2011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25054
25055         * gst/vaapi/gstvaapiupload.c:
25056           vaapiupload: only set caps on newly created buffers.
25057           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25058
25059 2012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25060
25061         * gst/vaapi/gstvaapisink.c:
25062           vaapisink: ensure VA display in GstBaseSink::start() hook.
25063           This ensures a VA display is ready by the time upstream elements request
25064           for it.
25065
25066 2011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25067
25068         * gst/vaapi/gstvaapisink.c:
25069           vaapisink: don't leak GL texture.
25070           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25071
25072 2012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25073
25074         * gst/vaapi/gstvaapisink.c:
25075           vaapisink: fix calculation of render region.
25076
25077 2012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25078
25079         * gst/vaapi/gstvaapisink.c:
25080           vaapisink: automatically fit video to window.
25081
25082 2012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25083
25084         * gst/vaapi/gstvaapisink.c:
25085           vaapisink: implement GstXOverlay::set_render_rectangle().
25086
25087 2012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25088
25089         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25090           window: always check geometry when the window is mapped.
25091
25092 2012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
25093
25094         * gst-libs/gst/vaapi/gstvaapiutils.c:
25095           Add missing profiles from VA-API 0.32.0.
25096           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25097
25098 2012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25099
25100         * .gitignore:
25101           .gitignore: add test-subpicture.
25102
25103 2012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25104
25105         * configure.ac:
25106           Bump version for development.
25107
25108 === release 0.3.2 ===
25109
25110 2012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25111
25112         * NEWS:
25113         * configure.ac:
25114           0.3.2.
25115
25116 2012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25117
25118         * tests/Makefile.am:
25119           tests: fix make dist (ship with test-subpicture-data.h).
25120
25121 2012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25122
25123         * NEWS:
25124           NEWS: updates.
25125
25126 2012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25127
25128         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25129         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25130         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25131           decoder: fix possible leak of VA surfaces.
25132           Under some circumstances, we could have leaked a surface, thus not
25133           releasing it to the pool of available surfaces in the VA context.
25134           The strategy is now to use a proxy earlier and automatically ref/unref
25135           whenever necessary. In particular, during the lifetime needed for FFmpeg.
25136
25137 2012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25138
25139         * docs/reference/libs/libs-sections.txt:
25140         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25141         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25142           surfaceproxy: add helper to retrieve the VA surface ID.
25143
25144 2012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25145
25146         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25147           surfaceproxy: simplify destruction.
25148           Also make sure to always make sure to release the surface back to the
25149           pool of surfaces in the associated VA context, if any.
25150
25151 2012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25152
25153         * gst/vaapi/gstvaapidecode.c:
25154           vaapidecode: fix deinitialization order.
25155
25156 2012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25157
25158         * gst-libs/gst/vaapi/gstvaapicontext.c:
25159           context: avoid self reference loops with surfaces.
25160
25161 2012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25162
25163         * debian.upstream/control.in:
25164           debian: update control.in description for new plugins.
25165
25166 2012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25167
25168         * gst/vaapi/gstvaapiupload.c:
25169           vaapiupload: use new gst_vaapi_append_surface_caps() helper.
25170           This also fixes extra structures, beyond the one at index 0, to hold
25171           the right additional values.
25172
25173 2012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25174
25175         * gst/vaapi/gstvaapiupload.c:
25176           vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
25177
25178 2012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25179
25180         * README:
25181         * docs/reference/plugins/plugins-docs.xml.in:
25182         * docs/reference/plugins/plugins-sections.txt:
25183         * docs/reference/plugins/plugins.types:
25184         * gst/vaapi/Makefile.am:
25185         * gst/vaapi/gstvaapi.c:
25186         * gst/vaapi/gstvaapidownload.c:
25187         * gst/vaapi/gstvaapidownload.h:
25188           vaapidownload: add new plugin to download pixels from VA surfaces.
25189
25190 2012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25191
25192         * gst/vaapi/gstvaapipluginutil.c:
25193         * gst/vaapi/gstvaapipluginutil.h:
25194           vaapipluingutils: add helper to append surface caps to YUV caps.
25195
25196 2012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25197
25198         * docs/reference/libs/libs-sections.txt:
25199         * gst-libs/gst/vaapi/gstvaapiimage.c:
25200         * gst-libs/gst/vaapi/gstvaapiimage.h:
25201           image: add helpers to extract pixels to user buffers.
25202
25203 2012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25204
25205         * gst-libs/gst/vaapi/gstvaapiimage.c:
25206           image: simplify initialization of raw images from video buffers.
25207
25208 2012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25209
25210         * gst-libs/gst/vaapi/gstvaapiimage.c:
25211           image: fix update from NV12 buffers.
25212
25213 2012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25214
25215         * gst/vaapi/gstvaapiupload.c:
25216           vaapiupload: fix memory leak in _init() function.
25217
25218 2012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25219
25220         * NEWS:
25221         * README:
25222         * debian.upstream/control.in:
25223         * docs/reference/plugins/plugins-docs.xml.in:
25224         * docs/reference/plugins/plugins-sections.txt:
25225         * docs/reference/plugins/plugins.types:
25226         * gst/vaapi/Makefile.am:
25227         * gst/vaapi/gstvaapi.c:
25228         * gst/vaapi/gstvaapiupload.c:
25229         * gst/vaapi/gstvaapiupload.h:
25230           Rename vaapiconvert element to vaapiupload.
25231
25232 2012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25233
25234         * configure.ac:
25235           Bump version for development.
25236
25237 === release 0.3.1 ===
25238
25239 2012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25240
25241         * NEWS:
25242         * configure.ac:
25243           0.3.1.
25244
25245 2011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25246
25247         * NEWS:
25248           NEWS: updates.
25249
25250 2011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25251
25252         * gst-libs/gst/vaapi/gstvaapisurface.c:
25253         * gst-libs/gst/vaapi/gstvaapisurface.h:
25254         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25255         * gst/vaapi/gstvaapisink.c:
25256           surface: apply composition to the parent context, if requested.
25257
25258 2011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25259
25260         * docs/reference/libs/libs-sections.txt:
25261         * gst-libs/gst/vaapi/gstvaapicontext.c:
25262         * gst-libs/gst/vaapi/gstvaapicontext.h:
25263           context: make it possible to apply composition globally.
25264
25265 2011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25266
25267         * gst-libs/gst/vaapi/gstvaapisurface.c:
25268           surface: fix associate subpicture to not report deassociation errors.
25269
25270 2011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25271
25272         * gst-libs/gst/vaapi/gstvaapisurface.c:
25273           surface: fix typo in debug message.
25274
25275 2011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25276
25277         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25278         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
25279         * gst-libs/gst/vaapi/gstvaapisurface.c:
25280           subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
25281
25282 2011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25283
25284         * docs/reference/libs/libs-sections.txt:
25285         * gst-libs/gst/vaapi/Makefile.am:
25286         * gst-libs/gst/vaapi/gstvaapicontext.c:
25287         * gst-libs/gst/vaapi/gstvaapisurface.c:
25288         * gst-libs/gst/vaapi/gstvaapisurface.h:
25289         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
25290           surface: record parent context.
25291
25292 2011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25293
25294         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25295         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25296         * gst/vaapi/gstvaapidecode.c:
25297         * gst/vaapi/gstvaapisink.c:
25298           Fix warnings.
25299
25300 2011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25301
25302         * gst-libs/gst/vaapi/gstvaapisurface.c:
25303         * gst-libs/gst/vaapi/gstvaapisurface.h:
25304         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25305         * gst/vaapi/gstvaapisink.c:
25306           Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
25307
25308 2011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25309
25310         * configure.ac:
25311           configure: check for GstVideoOverlayComposition.
25312
25313 2011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25314
25315         * NEWS:
25316           NEWS: updates.
25317
25318 2011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25319
25320         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25321           converter: add support for GstVideoOverlayComposition planes.
25322           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25323
25324 2011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
25325
25326         * gst/vaapi/gstvaapisink.c:
25327           vaapisink: handle GstVideoOverlayComposition planes.
25328           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25329
25330 2011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25331
25332         * gst-libs/gst/vaapi/gstvaapisurface.c:
25333           surface: use unscaled overlay rectangle for blending.
25334
25335 2011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25336
25337         * gst-libs/gst/vaapi/gstvaapisurface.c:
25338           surface: fix VA image leak when an error occurred.
25339
25340 2011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25341
25342         * gst-libs/gst/vaapi/gstvaapisurface.c:
25343         * gst-libs/gst/vaapi/gstvaapisurface.h:
25344           surface: add helper to handle GstVideoOverlayComposition.
25345           This helper resets the subpictures to reflect the current composition
25346           layers provided with the buffers.
25347           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25348
25349 2011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25350
25351         * docs/reference/libs/libs-sections.txt:
25352         * gst-libs/gst/vaapi/Makefile.am:
25353         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25354         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
25355         * gst/vaapi/gstvaapiconvert.c:
25356           image: add gst_vaapi_image_format_from_video() helper.
25357
25358 2011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25359
25360         * gst-libs/gst/vaapi/gstvaapiimage.c:
25361         * gst-libs/gst/vaapi/gstvaapiimage.h:
25362           image: allow updates from GstVaapiImageRaw.
25363
25364 2011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25365
25366         * gst-libs/gst/vaapi/gstvaapiimage.c:
25367         * gst-libs/gst/vaapi/gstvaapiimage.h:
25368         * gst/vaapi/gstvaapiconvert.c:
25369         * tests/test-subpicture.c:
25370           image: allow partial updates.
25371
25372 2011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25373
25374         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25375           subpicture: fix doc for gst_vaapi_subpicture_set_image().
25376
25377 2011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25378
25379         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25380           display: fix has_image_format() to check against subpicture formats.
25381
25382 2011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25383
25384         * tests/test-subpicture.c:
25385           tests: fix subpicture test.
25386
25387 2011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
25388
25389         * tests/Makefile.am:
25390         * tests/test-subpicture-data.c:
25391         * tests/test-subpicture-data.h:
25392         * tests/test-subpicture.c:
25393           tests: add test for subpictures.
25394           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25395
25396 2011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25397
25398         * gst/vaapi/gstvaapiconvert.c:
25399         * gst/vaapi/gstvaapidecode.c:
25400           Add missing video context queries.
25401           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25402
25403 2011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25404
25405         * configure.ac:
25406           Bump version for development.
25407
25408 2011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25409
25410         * gst-libs/gst/video/Makefile.am:
25411         * gst-libs/gst/video/gstbasevideocodec.c:
25412         * gst-libs/gst/video/gstbasevideocodec.h:
25413         * gst-libs/gst/video/gstbasevideodecoder.c:
25414         * gst-libs/gst/video/gstbasevideodecoder.h:
25415         * gst-libs/gst/video/gstbasevideoutils.c:
25416         * gst-libs/gst/video/gstbasevideoutils.h:
25417           Drop unused copy of GstBaseVideoDecoder.
25418
25419 === release 0.3.0 ===
25420
25421 2011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25422
25423         * NEWS:
25424         * configure.ac:
25425           0.3.0.
25426
25427 2011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25428
25429         * README:
25430           README: update dependencies.
25431
25432 2011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25433
25434         * NEWS:
25435           NEWS: updates.
25436
25437 2011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25438
25439         * configure.ac:
25440           configure: check for GstBaseSink 'query' vfunc.
25441
25442 2011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25443
25444         * gst/vaapi/Makefile.am:
25445           vaapiplugin: include local build dir to CFLAGS for generated files.
25446
25447 2011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25448
25449         * autogen.sh:
25450           autogen: don't configure if NO_CONFIGURE variable is set.
25451
25452 2011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25453
25454         * gst/vaapi/gstvaapidecode.c:
25455         * gst/vaapi/gstvaapidecode.h:
25456           vaapidecode: return sink caps template if decoder is in NULL state.
25457           Otherwise, the decoder would always create its own X display instead
25458           of probing it from the downstream element, which is not reliable.
25459           e.g. DISPLAY is not :0 or when running on Wayland.
25460           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25461
25462 2011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25463
25464         * gst/vaapi/gstvaapiconvert.c:
25465         * gst/vaapi/gstvaapidecode.c:
25466           vaapiplugin: properly set surface type to "vaapi" in caps.
25467
25468 2011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25469
25470         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25471           decoder: drop unused headers.
25472
25473 2011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25474
25475         * gst/vaapi/gstvaapiconvert.c:
25476         * gst/vaapi/gstvaapidecode.c:
25477           vaapiplugin: properly set opengl support in caps.
25478           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25479
25480 2011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25481
25482         * gst/vaapi/gstvaapiconvert.c:
25483         * gst/vaapi/gstvaapidecode.c:
25484           vaapiplugin: allocate GLX buffers when supported.
25485           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25486
25487 2011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25488
25489         * gst-libs/gst/vaapi/Makefile.am:
25490         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25491         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
25492         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
25493         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
25494         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25495         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
25496           videobuffer: add GLX buffer support.
25497           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25498
25499 2011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25500
25501         * gst-libs/gst/vaapi/Makefile.am:
25502         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25503         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25504           Port to GstSurfaceBuffer interface.
25505           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25506
25507 2011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25508
25509         * gst/vaapi/gstvaapidecode.c:
25510         * gst/vaapi/gstvaapisink.c:
25511           Don't use downstream buffer allocation.
25512           With the new video/x-surface abstraction, we can't rely on having a VA
25513           specific sink downstream. Also, there was no particular reason to do that.
25514           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25515
25516 2011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25517
25518         * gst-libs/gst/vaapi/Makefile.am:
25519         * gst-libs/gst/vaapi/gstvaapicontext.c:
25520         * gst-libs/gst/vaapi/gstvaapisurface.h:
25521         * gst/vaapi/gstvaapiconvert.c:
25522         * gst/vaapi/gstvaapisink.c:
25523         * tests/Makefile.am:
25524         * tests/test-surfaces.c:
25525           Change caps to use new video/x-surface generic type.
25526           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25527
25528 2011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
25529
25530         * configure.ac:
25531         * gst-libs/gst/vaapi/Makefile.am:
25532         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
25533         * gst/vaapi/Makefile.am:
25534         * gst/vaapi/gstvaapiconvert.c:
25535         * gst/vaapi/gstvaapidecode.c:
25536         * gst/vaapi/gstvaapipluginutil.c:
25537         * gst/vaapi/gstvaapipluginutil.h:
25538         * gst/vaapi/gstvaapisink.c:
25539         * gst/vaapi/gstvaapisink.h:
25540           Port to GstVideoContext interface.
25541           This new interface allows for upstream and downstream display sharing
25542           that works in both static and dynamic pipelines.
25543           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25544
25545 2011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25546
25547         * gst/vaapi/gstvaapisink.c:
25548           vaapisink: use GST_ERROR to print error messages.
25549
25550 2011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25551
25552         * gst/vaapi/Makefile.am:
25553           vaapiplugin: link against VA/GLX when enabled.
25554
25555 2011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25556
25557         * gst/vaapi/gstvaapiconvert.c:
25558         * gst/vaapi/gstvaapisink.c:
25559           Add Intel copyright information.
25560
25561 2011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25562
25563         * gst/vaapi/gstvaapisink.c:
25564           vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
25565
25566 2011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25567
25568         * .gitignore:
25569         * configure.ac:
25570         * gst-libs/gst/Makefile.am:
25571         * gst-libs/gst/gstutils_version.h.in:
25572           Add new GStreamer version check utilities.
25573
25574 2011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25575
25576         * gst/vaapi/gstvaapisink.c:
25577           vaapisink: replace the deprecated xoverlay API with the new one.
25578           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25579
25580 2011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25581
25582         * configure.ac:
25583           configure: allow for pre-releases.
25584
25585 2011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25586
25587         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25588           display: destroy display on creation failure.
25589           This allows element to detect that the display creation has actually
25590           failed.
25591           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25592
25593 2011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25594
25595         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25596           display: don't crash when config is empty.
25597           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25598
25599 2011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25600
25601         * README:
25602         * debian.upstream/copyright:
25603           doc: mention Collabora copyrights.
25604
25605 2011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25606
25607         * .gitignore:
25608           .gitignore: refine for generated docs.
25609
25610 2011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25611
25612         * configure.ac:
25613         * docs/reference/plugins/Makefile.am:
25614         * gst/Makefile.am:
25615         * gst/vaapi/Makefile.am:
25616         * gst/vaapi/gstvaapi.c:
25617         * gst/vaapi/gstvaapiconvert.c:
25618         * gst/vaapi/gstvaapiconvert.h:
25619         * gst/vaapi/gstvaapidecode.c:
25620         * gst/vaapi/gstvaapidecode.h:
25621         * gst/vaapi/gstvaapisink.c:
25622         * gst/vaapi/gstvaapisink.h:
25623         * gst/vaapiconvert/Makefile.am:
25624         * gst/vaapidecode/Makefile.am:
25625           Group all plugins into the same bundle
25626           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25627
25628 2011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25629
25630         * configure.ac:
25631           Bump version for development.
25632
25633 2011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25634
25635         * configure.ac:
25636         * debian.upstream/control.in:
25637           debian: build against upstream libva packages.
25638
25639 2011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25640
25641         * docs/reference/libs/Makefile.am:
25642         * docs/reference/plugins/Makefile.am:
25643         * tests/Makefile.am:
25644           Fix build on Ubuntu 11.10 (Oneric).
25645
25646 2011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25647
25648         * NEWS:
25649           0.2.7.
25650
25651 2011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25652
25653         * .gitignore:
25654           Adding ignore file
25655           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25656
25657 2011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
25658
25659         * gst/vaapiconvert/gstvaapiconvert.c:
25660         * gst/vaapidecode/gstvaapidecode.c:
25661         * gst/vaapisink/gstvaapisink.c:
25662           Update license in plugin definition
25663           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25664
25665 2011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25666
25667         * NEWS:
25668         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25669           decoder: fix use of invalid data at the end-of-stream.
25670
25671 2011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25672
25673         * gst/vaapiconvert/gstvaapiconvert.c:
25674           vaapiconvert: fix some warnings.
25675
25676 2011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25677
25678         * configure.ac:
25679         * debian.upstream/changelog.in:
25680         * debian.upstream/control.in:
25681         * debian.upstream/copyright:
25682         * gst/vaapiconvert/gstvaapiconvert.c:
25683         * gst/vaapidecode/gstvaapidecode.c:
25684         * gst/vaapisink/gstvaapisink.c:
25685           Update with my current e-mail address.
25686
25687 2011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25688
25689         * NEWS:
25690         * README:
25691           Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
25692
25693 2011-10-18 09:18:20 +0200  warly <warly@warly.org>
25694
25695         * tests/image.c:
25696         * tests/image.h:
25697         * tests/test-decode.c:
25698         * tests/test-decode.h:
25699         * tests/test-display.c:
25700         * tests/test-h264.c:
25701         * tests/test-h264.h:
25702         * tests/test-mpeg2.c:
25703         * tests/test-mpeg2.h:
25704         * tests/test-surfaces.c:
25705         * tests/test-textures.c:
25706         * tests/test-vc1.c:
25707         * tests/test-vc1.h:
25708         * tests/test-windows.c:
25709           switch tests licence to LGPL v2.1+
25710
25711 2011-10-18 09:06:52 +0200  warly <warly@warly.org>
25712
25713         * COPYING:
25714         * README:
25715         * debian.upstream/copyright:
25716         * gst/vaapiconvert/gstvaapiconvert.c:
25717         * gst/vaapiconvert/gstvaapiconvert.h:
25718         * gst/vaapidecode/gstvaapidecode.c:
25719         * gst/vaapidecode/gstvaapidecode.h:
25720         * gst/vaapisink/gstvaapisink.c:
25721         * gst/vaapisink/gstvaapisink.h:
25722           move plugins to LGPL v2.1+
25723
25724 2011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25725
25726         * gst/vaapidecode/gstvaapidecode.c:
25727           vaapidecode: fix sink caps to not expose size information.
25728           This fixes this particular issue:
25729           GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
25730           a real subset of its template caps
25731
25732 2011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25733
25734         * NEWS:
25735         * gst/vaapidecode/gstvaapidecode.c:
25736           vaapidecode: fix decoding of MPEG-2 PS files.
25737
25738 2011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25739
25740         * gst-libs/gst/vaapi/Makefile.am:
25741           Cosmetics (sort source files).
25742
25743 2011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25744
25745         * gst/vaapiconvert/gstvaapiconvert.c:
25746         * gst/vaapiconvert/gstvaapiconvert.h:
25747           vaapiconvert: fix direct-rendering caps detection.
25748
25749 2011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25750
25751         * gst-libs/gst/vaapi/gstvaapiimage.c:
25752           Fix gst_vaapi_image_new_with_image().
25753
25754 2011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25755
25756         * gst/vaapiconvert/gstvaapiconvert.c:
25757           vaapiconvert: warn when surface failed to be updated with image.
25758
25759 2011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25760
25761         * gst/vaapiconvert/gstvaapiconvert.c:
25762           vaapiconvert: fix autodetection for vaDeriveImage() support.
25763
25764 2011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25765
25766         * gst/vaapiconvert/gstvaapiconvert.c:
25767           vaapiconvert: fix memory leak (VA surface image).
25768
25769 2011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25770
25771         * NEWS:
25772         * gst/vaapiconvert/gstvaapiconvert.c:
25773           vaapiconvert: fix direct-rendering mode.
25774
25775 2011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25776
25777         * docs/reference/libs/libs-sections.txt:
25778         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25779         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25780           Add gst_vaapi_video_buffer_new_from_buffer().
25781           Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
25782           Any image, surface or surface proxy will be inherited from the source buffer
25783           if it is a GstVaapiVideoBuffer.
25784
25785 2011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25786
25787         * gst/vaapiconvert/gstvaapiconvert.c:
25788           vaapiconvert: protect access to direct_rendering.
25789
25790 2011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25791
25792         * gst/vaapiconvert/gstvaapiconvert.c:
25793           vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
25794
25795 2011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25796
25797         * NEWS:
25798         * README:
25799         * debian.upstream/copyright:
25800         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25801         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25802         * gst-libs/gst/vaapi/gstvaapisurface.h:
25803         * gst/vaapidecode/gstvaapidecode.c:
25804         * gst/vaapidecode/gstvaapidecode.h:
25805           Add Intel copyright information.
25806
25807 2011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25808
25809         * NEWS:
25810           Updates.
25811
25812 2011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25813
25814         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25815           Fix build with newer FFmpeg versions.
25816
25817 2011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25818
25819         * gst/vaapidecode/gstvaapidecode.c:
25820         * gst/vaapidecode/gstvaapidecode.h:
25821           Fix decoding of MPEG-2 TS files.
25822
25823 2011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25824
25825         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25826           Report caps update only once per video resolution change.
25827
25828 2011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25829
25830         * gst-libs/gst/vaapi/gstvaapisurface.h:
25831           Add canonical form (type name) of VA surface caps.
25832
25833 2011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25834
25835         * configure.ac:
25836           Bump version for development.
25837
25838 2011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25839
25840         * configure.ac:
25841           Use pretty build output with automake >= 1.11.
25842
25843 2011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25844
25845         * gst/vaapiconvert/Makefile.am:
25846         * gst/vaapidecode/Makefile.am:
25847         * gst/vaapisink/Makefile.am:
25848         * tests/Makefile.am:
25849           Fix build with libva headers not in a standard include dir.
25850
25851 === release 0.2.6 ===
25852
25853 2011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
25854
25855         * configure.ac:
25856           0.2.6.
25857
25858 2011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
25859
25860         * gst-libs/gst/vaapi/gstvaapi_priv.h:
25861         * gst-libs/gst/vaapi/gstvaapicompat.h:
25862         * gst-libs/gst/vaapi/gstvaapicontext.c:
25863         * gst-libs/gst/vaapi/gstvaapicontext.h:
25864         * gst-libs/gst/vaapi/gstvaapidebug.h:
25865         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25866         * gst-libs/gst/vaapi/gstvaapidecoder.h:
25867         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
25868         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
25869         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25870         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25871         * gst-libs/gst/vaapi/gstvaapidisplay.h:
25872         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
25873         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
25874         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
25875         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
25876         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
25877         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
25878         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
25879         * gst-libs/gst/vaapi/gstvaapiimage.c:
25880         * gst-libs/gst/vaapi/gstvaapiimage.h:
25881         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25882         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
25883         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
25884         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
25885         * gst-libs/gst/vaapi/gstvaapiobject.c:
25886         * gst-libs/gst/vaapi/gstvaapiobject.h:
25887         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
25888         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
25889         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
25890         * gst-libs/gst/vaapi/gstvaapiprofile.c:
25891         * gst-libs/gst/vaapi/gstvaapiprofile.h:
25892         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25893         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
25894         * gst-libs/gst/vaapi/gstvaapisurface.c:
25895         * gst-libs/gst/vaapi/gstvaapisurface.h:
25896         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25897         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
25898         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25899         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25900         * gst-libs/gst/vaapi/gstvaapitexture.c:
25901         * gst-libs/gst/vaapi/gstvaapitexture.h:
25902         * gst-libs/gst/vaapi/gstvaapitypes.h:
25903         * gst-libs/gst/vaapi/gstvaapiutils.c:
25904         * gst-libs/gst/vaapi/gstvaapiutils.h:
25905         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25906         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
25907         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
25908         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
25909         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25910         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
25911         * gst-libs/gst/vaapi/gstvaapivalue.c:
25912         * gst-libs/gst/vaapi/gstvaapivalue.h:
25913         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25914         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25915         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25916         * gst-libs/gst/vaapi/gstvaapivideopool.h:
25917         * gst-libs/gst/vaapi/gstvaapivideosink.c:
25918         * gst-libs/gst/vaapi/gstvaapivideosink.h:
25919         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25920         * gst-libs/gst/vaapi/gstvaapiwindow.h:
25921         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
25922         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
25923         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25924         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
25925         * gst/vaapiconvert/gstvaapiconvert.c:
25926         * gst/vaapiconvert/gstvaapiconvert.h:
25927         * gst/vaapidecode/gstvaapidecode.c:
25928         * gst/vaapidecode/gstvaapidecode.h:
25929         * gst/vaapisink/gstvaapisink.c:
25930         * gst/vaapisink/gstvaapisink.h:
25931         * tests/image.c:
25932         * tests/image.h:
25933         * tests/test-decode.c:
25934         * tests/test-decode.h:
25935         * tests/test-display.c:
25936         * tests/test-h264.c:
25937         * tests/test-h264.h:
25938         * tests/test-mpeg2.c:
25939         * tests/test-mpeg2.h:
25940         * tests/test-surfaces.c:
25941         * tests/test-textures.c:
25942         * tests/test-vc1.c:
25943         * tests/test-vc1.h:
25944         * tests/test-windows.c:
25945           Update copyright notice.
25946
25947 2011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
25948
25949         * NEWS:
25950         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25951         * gst-libs/gst/vaapi/gstvaapisurface.c:
25952         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
25953         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25954         * gst-libs/gst/vaapi/gstvaapitexture.c:
25955         * gst-libs/gst/vaapi/gstvaapiutils.c:
25956         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25957         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
25958         * gst-libs/gst/vaapi/gstvaapivalue.c:
25959         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
25960         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25961         * gst-libs/gst/vaapi/gstvaapivideosink.c:
25962         * gst-libs/gst/vaapi/gstvaapiwindow.c:
25963         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
25964         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
25965           Fix licensing terms.
25966
25967 2010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25968
25969         * NEWS:
25970           0.2.5.
25971
25972 2010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25973
25974         * debian.upstream/copyright:
25975           Fix license terms...
25976
25977 2010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25978
25979         * gst/vaapisink/gstvaapisink.c:
25980           Render pretty background only in use-reflection=true mode.
25981
25982 2010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25983
25984         * NEWS:
25985           Updates.
25986
25987 2010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25988
25989         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25990           Drop the GLX 1.3 requirement.
25991
25992 2010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25993
25994         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
25995         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
25996           Call the GLX/Pixmap related functions through the vtable.
25997
25998 2010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
25999
26000         * NEWS:
26001         * configure.ac:
26002         * gst-libs/gst/vaapi/Makefile.am:
26003         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26004           Drop dependency on libavformat.
26005
26006 2010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26007
26008         * gst-libs/gst/video/gstbasevideodecoder.c:
26009         * gst-libs/gst/video/gstbasevideodecoder.h:
26010           Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
26011
26012 2010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26013
26014         * gst-libs/gst/video/gstbasevideodecoder.c:
26015         * gst-libs/gst/video/gstbasevideoutils.c:
26016         * gst-libs/gst/video/gstbasevideoutils.h:
26017           Drop superfluous functions.
26018
26019 2010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26020
26021         * gst-libs/gst/video/gstbasevideodecoder.c:
26022           Really drop any dependency on libgstvideo. i.e. inline the helpers.
26023
26024 2010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26025
26026         * gst-libs/gst/video/gstbasevideodecoder.c:
26027           Further drop dependency on libgstvideo.
26028
26029 2010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26030
26031         * gst-libs/gst/video/Makefile.am:
26032         * gst-libs/gst/video/gstbasevideocodec.c:
26033         * gst-libs/gst/video/gstbasevideocodec.h:
26034         * gst-libs/gst/video/gstbasevideodecoder.c:
26035         * gst-libs/gst/video/gstbasevideodecoder.h:
26036         * gst-libs/gst/video/gstbasevideoutils.c:
26037         * gst-libs/gst/video/gstbasevideoutils.h:
26038           Add GstBaseVideoDecoder from gst-plugins-bad git.
26039
26040 2010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26041
26042         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26043           Fix GLX version check.
26044
26045 2010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26046
26047         * NEWS:
26048         * configure.ac:
26049           Bump version for development.
26050
26051 2010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26052
26053         * NEWS:
26054         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26055           Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
26056
26057 2010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26058
26059         * NEWS:
26060           Update changelog.
26061
26062 2010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26063
26064         * gst-libs/gst/vaapi/gstvaapicompat.h:
26065           Fix build with older VA-API 0.29-sds.
26066
26067 === release 0.2.4 ===
26068
26069 2010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26070
26071         * gst/vaapisink/gstvaapisink.c:
26072         * gst/vaapisink/gstvaapisink.h:
26073           Fix upscaling in foreign window (Totem).
26074
26075 2010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26076
26077         * gst/vaapisink/gstvaapisink.c:
26078           Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
26079
26080 2010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26081
26082         * NEWS:
26083         * gst/vaapisink/gstvaapisink.c:
26084           Fix video rendering rect within an embedder window (Totem).
26085
26086 2010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26087
26088         * NEWS:
26089         * gst/vaapisink/gstvaapisink.c:
26090           Disable GLX rendering when vaapisink uses a foreign X window.
26091
26092 2010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26093
26094         * gst/vaapisink/gstvaapisink.c:
26095           Simplify GLX rendering code.
26096
26097 2010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26098
26099         * configure.ac:
26100           Bump version for development.
26101
26102 === release 0.2.3 ===
26103
26104 2010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26105
26106         * NEWS:
26107           0.2.3.
26108
26109 2010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26110
26111         * gst/vaapidecode/gstvaapidecode.c:
26112           Wait for at most one second for a VA surface to become available.
26113
26114 2010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26115
26116         * README:
26117         * configure.ac:
26118           Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
26119
26120 2010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26121
26122         * NEWS:
26123         * README:
26124         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26125           Fix decoder caps to report codec aliases.
26126
26127 2010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26128
26129         * NEWS:
26130         * gst/vaapidecode/gstvaapidecode.c:
26131         * gst/vaapidecode/gstvaapidecode.h:
26132           Fix VC-1 decoding through the playbin2 pipeline.
26133
26134 2010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26135
26136         * docs/reference/libs/libs-sections.txt:
26137         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26138         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26139         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26140         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26141           Regularly update and expose decoder caps.
26142
26143 2010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26144
26145         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26146         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26147         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26148           Add mechanism to reinsert buffer leftovers into the queue.
26149
26150 2010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26151
26152         * NEWS:
26153         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26154           Fix memory leak of encoded buffers.
26155
26156 2010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26157
26158         * docs/reference/libs/libs-sections.txt:
26159         * gst-libs/gst/vaapi/gstvaapicontext.c:
26160         * gst-libs/gst/vaapi/gstvaapicontext.h:
26161         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26162         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26163           Check for out-of-free-surfaces condition.
26164
26165 2010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26166
26167         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26168           Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
26169
26170 2010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26171
26172         * gst/vaapisink/gstvaapisink.c:
26173           Improve debug info for gst_vaapisink_ensure_render_rect().
26174
26175 2010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26176
26177         * configure.ac:
26178           Bump version for development.
26179
26180 === release 0.2.2 ===
26181
26182 2010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26183
26184         * NEWS:
26185           0.2.2.
26186
26187 2010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26188
26189         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26190           Improve previous fix.
26191
26192 2010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26193
26194         * NEWS:
26195         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26196           Fix a crash in the FFmpeg decoder on close.
26197
26198 2010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26199
26200         * README:
26201           Sort platforms by name.
26202
26203 2010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26204
26205         * NEWS:
26206         * configure.ac:
26207           Bump version for development.
26208
26209 2010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26210
26211         * gst/vaapisink/gstvaapisink.c:
26212           Add debug info for _show_frame().
26213
26214 2010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26215
26216         * Makefile.am:
26217           Nuke older build dir.
26218
26219 2010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26220
26221         * debian.upstream/control.in:
26222           Fix packaging deps.
26223
26224 2010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26225
26226         * NEWS:
26227           Cosmetics.
26228
26229 2010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26230
26231         * NEWS:
26232         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
26233           Fix OpenGL texture internal format (Clutter).
26234
26235 2010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26236
26237         * NEWS:
26238           Respin release.
26239
26240 2010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26241
26242         * gst/vaapisink/gstvaapisink.c:
26243           Debug video & display PARs.
26244
26245 2010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26246
26247         * gst/vaapisink/gstvaapisink.c:
26248           Use XGetGeometry() to retrieve the window size.
26249
26250 === release 0.2.1 ===
26251
26252 2010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26253
26254         * gst/vaapisink/gstvaapisink.c:
26255           Move code around.
26256
26257 2010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26258
26259         * gst/vaapisink/gstvaapisink.c:
26260           Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
26261
26262 2010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26263
26264         * README:
26265           Drop obsolete comment.
26266
26267 2010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26268
26269         * NEWS:
26270           0.2.1.
26271
26272 2010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26273
26274         * gst/vaapidecode/gstvaapidecode.c:
26275           Fix GstVaapiDisplay refcounting in vaapidecode.
26276
26277 2010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26278
26279         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
26280           Fix comment.
26281
26282 2010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26283
26284         * gst/vaapisink/gstvaapisink.c:
26285         * gst/vaapisink/gstvaapisink.h:
26286           Fix render rect when the foreign window size changes.
26287
26288 2010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26289
26290         * NEWS:
26291         * configure.ac:
26292         * gst/vaapisink/Makefile.am:
26293         * gst/vaapisink/gstvaapisink.c:
26294           Add GstXOverlay interface to vaapisink (e.g. for Totem).
26295
26296 2010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26297
26298         * README:
26299           Update deps to match configure.ac versions.
26300
26301 2010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26302
26303         * gst/vaapiconvert/gstvaapiconvert.c:
26304         * gst/vaapidecode/gstvaapidecode.c:
26305         * gst/vaapisink/gstvaapisink.c:
26306           Cosmetics.
26307
26308 2010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26309
26310         * NEWS:
26311         * gst/vaapidecode/Makefile.am:
26312         * gst/vaapidecode/gstvaapidecode.c:
26313         * gst/vaapidecode/gstvaapidecode.h:
26314           Fix vaapidecode to expose the HW supported caps only.
26315
26316 2010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26317
26318         * gst/vaapidecode/gstvaapidecode.c:
26319           Initialize decoder earlier.
26320
26321 2010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26322
26323         * NEWS:
26324         * README:
26325         * gst/vaapidecode/gstvaapidecode.c:
26326           Fix integration within the playbin2 pipeline.
26327
26328 2010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26329
26330         * docs/reference/libs/Makefile.am:
26331           Exclude gstvaapiutils_gst.h from docs for now.
26332
26333 2010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26334
26335         * gst/vaapiconvert/gstvaapiconvert.c:
26336         * gst/vaapidecode/gstvaapidecode.c:
26337         * gst/vaapisink/gstvaapisink.c:
26338           Raise VA-API plugins ranks.
26339
26340 2010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26341
26342         * gst-libs/gst/vaapi/Makefile.am:
26343         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
26344         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
26345           Add gst_vaapi_display_lookup_downstream() helper.
26346
26347 2010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26348
26349         * gst/vaapidecode/gstvaapidecode.c:
26350           Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
26351
26352 2010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26353
26354         * docs/reference/libs/libs-sections.txt:
26355         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26356         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26357         * gst/vaapisink/gstvaapisink.c:
26358           Expose VA display through GstVaapiVideoBuffer.
26359
26360 2010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26361
26362         * gst/vaapidecode/gstvaapidecode.c:
26363           Simplify gst_vaapidecode_set_caps() and fix memory leak.
26364
26365 2010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26366
26367         * docs/reference/libs/libs-sections.txt:
26368         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26369         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26370           Expose video pool display.
26371
26372 2010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26373
26374         * gst-libs/gst/vaapi/gstvaapivideosink.c:
26375           Stop iteration if there is no more element to examine.
26376
26377 2010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26378
26379         * gst/vaapiconvert/gstvaapiconvert.c:
26380         * gst/vaapidecode/gstvaapidecode.c:
26381         * gst/vaapisink/gstvaapisink.c:
26382           Improve plugin details.
26383
26384 2010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26385
26386         * gst-libs/gst/vaapi/gstvaapisurface.h:
26387         * gst/vaapiconvert/gstvaapiconvert.c:
26388         * gst/vaapidecode/gstvaapidecode.c:
26389         * gst/vaapisink/gstvaapisink.c:
26390           Factor out VA surface caps.
26391
26392 2010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26393
26394         * gst/vaapidecode/gstvaapidecode.c:
26395           Add gst_vaapidecode_ensure_display() helper for set-caps.
26396
26397 2010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26398
26399         * configure.ac:
26400           Bump version for development.
26401
26402 === release 0.2.0 ===
26403
26404 2010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26405
26406         * NEWS:
26407           Really make it 0.2.0.
26408
26409 2010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26410
26411         * README:
26412           More docs.
26413
26414 2010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26415
26416         * docs/reference/libs/Makefile.am:
26417           Don't exclude GstVaapiParamSpecs.
26418
26419 2010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26420
26421         * docs/reference/libs/Makefile.am:
26422         * docs/reference/libs/libs-sections.txt:
26423         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26424         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26425           Fix docs.
26426
26427 2010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26428
26429         * gst/vaapiconvert/gstvaapiconvert.c:
26430         * gst/vaapidecode/gstvaapidecode.c:
26431         * gst/vaapisink/gstvaapisink.c:
26432           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.
26433
26434 2010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26435
26436         * gst-libs/gst/vaapi/Makefile.am:
26437           Really link all helper libraries with libtool -no-undefined.
26438
26439 2010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26440
26441         * gst-libs/gst/vaapi/Makefile.am:
26442           Link helper libraries with libtool -no-undefined.
26443
26444 2010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26445
26446         * configure.ac:
26447         * debian.upstream/gstreamer-vaapi.install.in:
26448         * gst/vaapiconvert/Makefile.am:
26449         * gst/vaapidecode/Makefile.am:
26450         * gst/vaapisink/Makefile.am:
26451           Don't build plugins with SONAME. Make them plain *.so.
26452
26453 2010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26454
26455         * README:
26456           Improve documentation for release.
26457
26458 2010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26459
26460         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26461           Fix build with older VA-API 0.29.
26462
26463 2010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26464
26465         * NEWS:
26466           0.2.0.
26467
26468 2010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26469
26470         * tests/Makefile.am:
26471           Fix make dist.
26472
26473 2010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26474
26475         * docs/reference/libs/Makefile.am:
26476         * docs/reference/libs/libs-docs.xml.in:
26477         * docs/reference/libs/libs-sections.txt:
26478         * docs/reference/libs/libs.core.types:
26479         * docs/reference/plugins/Makefile.am:
26480         * docs/reference/plugins/plugins-docs.xml.in:
26481         * docs/reference/plugins/plugins-sections.txt:
26482         * docs/reference/plugins/plugins.types:
26483           Add missing docs.
26484
26485 2010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26486
26487         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26488           Fix doc.
26489
26490 2010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26491
26492         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26493         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26494         * gst/vaapidecode/gstvaapidecode.c:
26495         * tests/test-decode.c:
26496           Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
26497
26498 2010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26499
26500         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26501         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26502           Extract framerate information from caps.
26503
26504 2010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26505
26506         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26507         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26508         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26509           Move caps initialization to parent class.
26510
26511 2010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26512
26513         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26514           Simplify.
26515
26516 2010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26517
26518         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26519           Fix doc.
26520
26521 2010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26522
26523         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26524         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26525           More simplifications.
26526
26527 2010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26528
26529         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26530         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26531         * tests/test-decode.c:
26532           Simplify GstVaapiDecoder API.
26533
26534 2010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26535
26536         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26537           Drop obsolete defs.
26538
26539 2010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26540
26541         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26542           Drop obsolete decls.
26543
26544 2010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26545
26546         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26547         * gst/vaapidecode/gstvaapidecode.c:
26548           Add more aliases for MPEG-4 decoding.
26549
26550 2010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26551
26552         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26553           Use avctx->coded_{width,height} info to create the VA context.
26554
26555 2010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26556
26557         * tests/test-decode.c:
26558         * tests/test-decode.h:
26559           Use gst_vaapi_decoder_ffmpeg_new_from_caps().
26560
26561 2010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26562
26563         * tests/test-decode.c:
26564         * tests/test-decode.h:
26565         * tests/test-h264.c:
26566         * tests/test-h264.h:
26567         * tests/test-mpeg2.c:
26568         * tests/test-mpeg2.h:
26569         * tests/test-vc1.c:
26570         * tests/test-vc1.h:
26571           Simplify tests info.
26572
26573 2010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26574
26575         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26576           Try to improve heuristics to use an AVCodecContextParser.
26577
26578 2010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26579
26580         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26581           Fix VC-1 decoding, it does not require any specific parser.
26582
26583 2010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26584
26585         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26586           Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
26587
26588 2010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26589
26590         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26591         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26592           Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
26593
26594 2010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26595
26596         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26597         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26598         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26599         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26600         * gst/vaapidecode/gstvaapidecode.c:
26601         * gst/vaapidecode/gstvaapidecode.h:
26602           Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
26603
26604 2010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26605
26606         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26607         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26608         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26609           Improve WMV3 detection yet further.
26610
26611 2010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26612
26613         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26614           Fix detection of plain old WMV3 contents.
26615
26616 2010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26617
26618         * tests/test-vc1.c:
26619           Add End-of-Sequence start code.
26620
26621 2010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26622
26623         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26624         * gst/vaapidecode/gstvaapidecode.c:
26625           Fix VC-1 detection.
26626
26627 2010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26628
26629         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26630           Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
26631
26632 2010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26633
26634         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26635         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26636           Drop obsolete (and wrong) code.
26637
26638 2010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26639
26640         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26641           Cosmetics (spelling).
26642
26643 2010-05-03 08:32:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26644
26645         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26646         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26647         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26648           Try to fix timestamps (step 1). Looks OK on H55.
26649
26650 2010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26651
26652         * debian.upstream/Makefile.am:
26653           Ship with COPYING.LIB.
26654
26655 2010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26656
26657         * COPYING.LIB:
26658         * NEWS:
26659         * README:
26660         * gst-libs/gst/vaapi/gstvaapi_priv.h:
26661         * gst-libs/gst/vaapi/gstvaapicompat.h:
26662         * gst-libs/gst/vaapi/gstvaapicontext.c:
26663         * gst-libs/gst/vaapi/gstvaapicontext.h:
26664         * gst-libs/gst/vaapi/gstvaapidebug.h:
26665         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26666         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26667         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26668         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26669         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26670         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26671         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26672         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
26673         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26674         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
26675         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26676         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
26677         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26678         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26679         * gst-libs/gst/vaapi/gstvaapiimage.c:
26680         * gst-libs/gst/vaapi/gstvaapiimage.h:
26681         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26682         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
26683         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26684         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26685         * gst-libs/gst/vaapi/gstvaapiobject.c:
26686         * gst-libs/gst/vaapi/gstvaapiobject.h:
26687         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
26688         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26689         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26690         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26691         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26692         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26693         * gst-libs/gst/vaapi/gstvaapisurface.h:
26694         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26695         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26696         * gst-libs/gst/vaapi/gstvaapitexture.h:
26697         * gst-libs/gst/vaapi/gstvaapitypes.h:
26698         * gst-libs/gst/vaapi/gstvaapiutils.h:
26699         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
26700         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
26701         * gst-libs/gst/vaapi/gstvaapivalue.h:
26702         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26703         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26704         * gst-libs/gst/vaapi/gstvaapivideosink.h:
26705         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26706         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
26707         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26708           Relicense gst-libs/ code to LGPL v2.1+.
26709
26710 2010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26711
26712         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26713           Drop extraneous comma.
26714
26715 2010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26716
26717         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26718           Drop variant=itu field to help codec detection.
26719
26720 2010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26721
26722         * gst/vaapidecode/gstvaapidecode.c:
26723           Decode as many surfaces as possible in gst_vaapidecode_step().
26724
26725 2010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26726
26727         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26728         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26729         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26730         * gst/vaapidecode/gstvaapidecode.c:
26731         * gst/vaapidecode/gstvaapidecode.h:
26732         * tests/test-decode.c:
26733           Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
26734
26735 2010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26736
26737         * configure.ac:
26738           0.2.0.
26739
26740 2010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26741
26742         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26743           Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
26744
26745 2010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26746
26747         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26748         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26749           Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
26750
26751 2010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26752
26753         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26754         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26755           Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
26756
26757 2010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26758
26759         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26760           Document H.264 / AVC1 format case better.
26761
26762 2010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26763
26764         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26765           Fix H.264 decoding with AVC1 format bitstreams.
26766
26767 2010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26768
26769         * gst/vaapidecode/gstvaapidecode.c:
26770           Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
26771
26772 2010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26773
26774         * gst/vaapisink/gstvaapisink.c:
26775           Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
26776
26777 2010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26778
26779         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26780         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26781           Export gst_vaapi_video_buffer_new().
26782
26783 2010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26784
26785         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26786           Fix gst_vaapi_profile_get_caps() to include the "profile" field.
26787
26788 2010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26789
26790         * configure.ac:
26791           Fix comment.
26792
26793 2010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26794
26795         * NEWS:
26796         * configure.ac:
26797         * gst/Makefile.am:
26798         * gst/vaapidecode/Makefile.am:
26799         * gst/vaapidecode/gstvaapidecode.c:
26800         * gst/vaapidecode/gstvaapidecode.h:
26801           Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
26802
26803 2010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26804
26805         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26806         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26807           Add gst_vaapi_decoder_pause().
26808
26809 2010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26810
26811         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26812         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26813         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26814           Use a GstTask with start/stop semantics for the decoder thread.
26815
26816 2010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26817
26818         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26819           Drop extraneous var.
26820
26821 2010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26822
26823         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26824         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26825           Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
26826
26827 2010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26828
26829         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26830           Fix gst_vaapi_decoder_get_surface() status.
26831
26832 2010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26833
26834         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26835         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26836           Try to set correct timestamps to the decoded surface proxy.
26837
26838 2010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26839
26840         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26841         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26842         * tests/test-decode.c:
26843           Add timestamps to GstVaapiSurfaceProxy.
26844
26845 2010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26846
26847         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26848           Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
26849
26850 2010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26851
26852         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26853           Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
26854
26855 2010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26856
26857         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26858           Prefer profile from codec-data if any was found there.
26859
26860 2010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26861
26862         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26863           Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
26864
26865 2010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26866
26867         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26868           Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
26869
26870 2010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26871
26872         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26873           Fix VC-1 codec initialization, it really needs an extradata buffer.
26874
26875 2010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26876
26877         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26878         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26879           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.
26880
26881 2010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26882
26883         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26884           Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
26885
26886 2010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26887
26888         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26889         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26890         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26891         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26892         * tests/test-decode.c:
26893           Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
26894
26895 2010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26896
26897         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26898           Cosmetics (weird indentation).
26899
26900 2010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26901
26902         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26903           Cosmetics (extraneous variable, debug message).
26904
26905 2010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26906
26907         * configure.ac:
26908           Fix check for VA-API enabled FFmpeg.
26909
26910 2010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26911
26912         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26913         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26914         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26915         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26916           - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
26917
26918 2010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26919
26920         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26921         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26922           Add more error codes. Fix documentation.
26923
26924 2010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26925
26926         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26927           Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
26928
26929 2010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26930
26931         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26932         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26933         * tests/test-decode.c:
26934           Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
26935
26936 2010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26937
26938         * tests/test-vc1.c:
26939           Drop useless End-of-Sequence marker.
26940
26941 2010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26942
26943         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26944           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.
26945
26946 2010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26947
26948         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26949         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
26950           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.
26951
26952 2010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26953
26954         * tests/test-h264.c:
26955         * tests/test-vc1.c:
26956           Regenerate correct clips.
26957
26958 2010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26959
26960         * tests/Makefile.am:
26961         * tests/test-decode.c:
26962         * tests/test-h264.c:
26963         * tests/test-h264.h:
26964         * tests/test-mpeg2.c:
26965         * tests/test-mpeg2.h:
26966         * tests/test-vc1.c:
26967         * tests/test-vc1.h:
26968           Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
26969           XXX: only VC-1 decoding works at this time because of awful
26970           bugs left in GstVaapiDecoderFfmpeg et al.
26971
26972 2010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26973
26974         * configure.ac:
26975         * gst-libs/gst/vaapi/Makefile.am:
26976         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26977         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26978         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
26979         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
26980         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26981           Add initial (multithreaded) decoder based on FFmpeg.
26982           There are tons of bugs left:
26983           - Decoder API not nice enough with error conditions
26984           - FFmpeg parser is sometimes broken
26985           - Packets queue can be lost
26986
26987 2010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26988
26989         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
26990         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
26991           Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
26992
26993 2010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
26994
26995         * gst-libs/gst/vaapi/gstvaapicontext.c:
26996         * gst-libs/gst/vaapi/gstvaapicontext.h:
26997           Add VA context abstraction.
26998
26999 2010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27000
27001         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27002           Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
27003
27004 2010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27005
27006         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27007         * gst-libs/gst/vaapi/gstvaapivideopool.h:
27008           Add a means to cap the number of objects allocated in the pool.
27009
27010 2010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27011
27012         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27013         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27014           Add VA entrypoint abstraction.
27015
27016 2010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27017
27018         * docs/reference/libs/libs-docs.xml.in:
27019         * docs/reference/libs/libs-sections.txt:
27020         * gst-libs/gst/vaapi/Makefile.am:
27021         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27022         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27023         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27024         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27025         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27026         * tests/test-display.c:
27027           Add VA profile abstraction.
27028
27029 2010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27030
27031         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27032           Fix OpenGL rendering on G45 systems.
27033
27034 2010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27035
27036         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27037           Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
27038
27039 2010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27040
27041         * gst-libs/gst/vaapi/gstvaapitexture.c:
27042         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27043         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27044           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.
27045
27046 2010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27047
27048         * gst-libs/gst/vaapi/gstvaapitexture.c:
27049           Fix get-out conditions.
27050
27051 2010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27052
27053         * gst-libs/gst/vaapi/gstvaapitexture.c:
27054         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27055           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.
27056
27057 2010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27058
27059         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27060           Shorter structs.
27061
27062 2010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27063
27064         * docs/reference/libs/libs-sections.txt:
27065         * gst-libs/gst/vaapi/Makefile.am:
27066         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27067         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
27068         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27069         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27070         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27071         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
27072         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27073         * gst-libs/gst/vaapi/gstvaapitexture.c:
27074         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27075         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27076         * tests/test-windows.c:
27077           Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
27078
27079 2010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27080
27081         * gst-libs/gst/vaapi/Makefile.am:
27082         * gst-libs/gst/vaapi/gstvaapi_priv.h:
27083         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27084         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27085         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27086         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27087         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27088         * gst-libs/gst/vaapi/gstvaapiimage.c:
27089         * gst-libs/gst/vaapi/gstvaapiobject.c:
27090         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27091         * gst-libs/gst/vaapi/gstvaapisurface.c:
27092         * gst-libs/gst/vaapi/gstvaapitexture.c:
27093         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27094         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27095         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27096           Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
27097
27098 2010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27099
27100         * gst-libs/gst/vaapi/gstvaapitexture.c:
27101         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27102         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27103         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27104           Improve handling of GL contexts.
27105
27106 2010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27107
27108         * configure.ac:
27109           Simplify summary.
27110
27111 2010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27112
27113         * configure.ac:
27114           Bump version for development.
27115
27116 === release 0.1.2 ===
27117
27118 2010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27119
27120         * configure.ac:
27121         * debian.upstream/Makefile.am:
27122         * debian.upstream/control.in:
27123           Rename -dev package to libgstvaapi-dev.
27124
27125 2010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27126
27127         * NEWS:
27128         * README:
27129           Updates.
27130
27131 2010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27132
27133         * gst-libs/gst/vaapi/gstvaapiutils.c:
27134           Fix build with VA-API < 0.30.
27135
27136 2010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27137
27138         * configure.ac:
27139         * gst-libs/gst/vaapi/gstvaapicompat.h:
27140         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27141         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27142         * gst-libs/gst/vaapi/gstvaapitexture.c:
27143         * tests/test-display.c:
27144           Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
27145
27146 2010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27147
27148         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27149         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27150           Add TFP and FBO helpers.
27151
27152 2010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27153
27154         * gst-libs/gst/vaapi/gstvaapiutils.c:
27155         * gst-libs/gst/vaapi/gstvaapiutils.h:
27156           Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
27157
27158 2010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27159
27160         * gst-libs/gst/vaapi/gstvaapitexture.c:
27161         * gst-libs/gst/vaapi/gstvaapiutils.c:
27162         * gst-libs/gst/vaapi/gstvaapiutils.h:
27163         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27164           Use a shorter function name.
27165
27166 2010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27167
27168         * docs/reference/libs/libs-sections.txt:
27169         * gst-libs/gst/vaapi/gstvaapisurface.c:
27170         * gst-libs/gst/vaapi/gstvaapisurface.h:
27171         * gst-libs/gst/vaapi/gstvaapiutils.c:
27172         * gst-libs/gst/vaapi/gstvaapiutils.h:
27173           Add gst_vaapi_surface_query_status() wrapper.
27174
27175 2010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27176
27177         * docs/reference/plugins/Makefile.am:
27178           Fix leftover during migration.
27179
27180 2010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27181
27182         * Makefile.am:
27183         * configure.ac:
27184         * docs/reference/plugins/Makefile.am:
27185         * gst/Makefile.am:
27186         * gst/vaapiconvert/Makefile.am:
27187         * gst/vaapiconvert/gstvaapiconvert.c:
27188         * gst/vaapiconvert/gstvaapiconvert.h:
27189         * gst/vaapisink/Makefile.am:
27190         * gst/vaapisink/gstvaapisink.c:
27191         * gst/vaapisink/gstvaapisink.h:
27192           Rename to gst/ as sys/ was too vague.
27193
27194 2010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27195
27196         * gst-libs/gst/vaapi/gstvaapiimage.c:
27197         * gst-libs/gst/vaapi/gstvaapiimage.h:
27198         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27199         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27200         * gst-libs/gst/vaapi/gstvaapisurface.c:
27201         * gst-libs/gst/vaapi/gstvaapisurface.h:
27202           Try to not reference VA-API types directly.
27203
27204 2010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27205
27206         * sys/vaapisink/gstvaapisink.c:
27207           Fix reflection code to preserve aspect ratio.
27208
27209 2010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27210
27211         * sys/vaapisink/gstvaapisink.c:
27212         * sys/vaapisink/gstvaapisink.h:
27213           Fix fullscreen mode.
27214
27215 2010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27216
27217         * sys/vaapisink/gstvaapisink.c:
27218         * sys/vaapisink/gstvaapisink.h:
27219           Add OpenGL reflection effect ("use-reflection").
27220
27221 2010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27222
27223         * configure.ac:
27224         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27225           Use a projection suitable for rotation around the Y axis.
27226
27227 2010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27228
27229         * configure.ac:
27230         * sys/vaapisink/Makefile.am:
27231         * sys/vaapisink/gstvaapisink.c:
27232         * sys/vaapisink/gstvaapisink.h:
27233           Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
27234
27235 2010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27236
27237         * configure.ac:
27238         * debian.upstream/Makefile.am:
27239         * debian.upstream/control.in:
27240         * debian.upstream/libgstvaapi-glx.install.in:
27241           Add libgstvaapi-glx-0 package.
27242
27243 2010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27244
27245         * pkgconfig/Makefile.am:
27246           Really fix make distclean.
27247
27248 2010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27249
27250         * docs/reference/libs/Makefile.am:
27251           Fix make dist.
27252
27253 2010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27254
27255         * pkgconfig/Makefile.am:
27256           Fix make distclean.
27257
27258 2010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27259
27260         * tests/Makefile.am:
27261           Fix make dist.
27262
27263 2010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27264
27265         * docs/reference/libs/Makefile.am:
27266         * docs/reference/libs/libs.core.types:
27267         * docs/reference/libs/libs.glx.types:
27268         * docs/reference/libs/libs.x11.types:
27269           Fix doc build.
27270
27271 2010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27272
27273         * sys/vaapisink/gstvaapisink.h:
27274           Fix build without GLX.
27275
27276 2010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27277
27278         * NEWS:
27279           0.1.2.
27280
27281 2010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27282
27283         * sys/vaapisink/Makefile.am:
27284         * sys/vaapisink/gstvaapisink.c:
27285         * sys/vaapisink/gstvaapisink.h:
27286           Add VA/GLX support to vaapisink.
27287
27288 2010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27289
27290         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27291         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27292         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27293           Add glXSwapBuffers() workaround for NVIDIA.
27294
27295 2010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27296
27297         * tests/Makefile.am:
27298         * tests/test-textures.c:
27299           Improve VA/GLX textures test.
27300
27301 2010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27302
27303         * gst-libs/gst/vaapi/gstvaapitexture.c:
27304         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27305         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27306           Fix texture rendering.
27307
27308 2010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27309
27310         * docs/reference/libs/libs-docs.xml.in:
27311         * docs/reference/libs/libs-sections.txt:
27312         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27313         * gst-libs/gst/vaapi/gstvaapitexture.c:
27314           Fix documentation.
27315
27316 2010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27317
27318         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27319         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27320           Add gst_vaapi_window_glx_put_texture() helper.
27321
27322 2010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27323
27324         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27325           Fix typos.
27326
27327 2010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27328
27329         * tests/image.c:
27330         * tests/image.h:
27331         * tests/test-windows.c:
27332           Move code around.
27333
27334 2010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27335
27336         * gst-libs/gst/vaapi/Makefile.am:
27337         * gst-libs/gst/vaapi/gstvaapitexture.c:
27338         * gst-libs/gst/vaapi/gstvaapitexture.h:
27339         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27340         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27341           Add initial VA/GLX texture abstraction though the API is not good enough yet.
27342
27343 2010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27344
27345         * docs/reference/libs/libs-sections.txt:
27346         * gst-libs/gst/vaapi/gstvaapiobject.c:
27347         * gst-libs/gst/vaapi/gstvaapiobject.h:
27348           Add gst_vaapi_object_{,un}lock_display() helpers.
27349
27350 2010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27351
27352         * tests/Makefile.am:
27353         * tests/image.c:
27354         * tests/image.h:
27355         * tests/test-windows.c:
27356           Factor out image utilities.
27357
27358 2010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27359
27360         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27361           MT-Safe: lock display.
27362
27363 2010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27364
27365         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27366           Make sure window resize completed prior to resizing the GL viewport.
27367
27368 2010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27369
27370         * gst-libs/gst/vaapi/Makefile.am:
27371           gstvaapicompat.h is a private header, don't install it.
27372
27373 2010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27374
27375         * docs/reference/libs/libs-sections.txt:
27376         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27377         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27378         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27379           Add gst_vaapi_display_{sync,flush}() helpers.
27380
27381 2010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27382
27383         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27384         * sys/vaapisink/gstvaapisink.c:
27385         * sys/vaapisink/gstvaapisink.h:
27386           Add "synchronous" mode.
27387
27388 2010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27389
27390         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27391         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27392           Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
27393
27394 2010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27395
27396         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27397           Restore GLX context only if there is one.
27398
27399 2010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27400
27401         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27402         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27403         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27404         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27405           Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
27406
27407 2010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27408
27409         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27410           Check GstVaapiWindow::render() is available prior to calling it.
27411
27412 2010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27413
27414         * tests/Makefile.am:
27415         * tests/test-display.c:
27416         * tests/test-textures.c:
27417           Add VA/GLX display tests.
27418
27419 2010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27420
27421         * configure.ac:
27422         * gst-libs/gst/vaapi/Makefile.am:
27423           Fix compile flags.
27424
27425 2010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27426
27427         * docs/reference/libs/Makefile.am:
27428         * docs/reference/libs/libs-docs.xml.in:
27429         * docs/reference/libs/libs-sections.txt:
27430         * docs/reference/libs/libs.types:
27431           Add missing API documentation.
27432
27433 2010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27434
27435         * configure.ac:
27436         * gst-libs/gst/vaapi/Makefile.am:
27437         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
27438         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
27439         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27440         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
27441         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
27442         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
27443         * pkgconfig/Makefile.am:
27444         * pkgconfig/gstreamer-vaapi-glx.pc.in:
27445         * tests/Makefile.am:
27446         * tests/test-textures.c:
27447           Add initial VA/GLX support.
27448
27449 2010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27450
27451         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27452           Add missing includes (for vaapi_check_status()).
27453
27454 2010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27455
27456         * gst-libs/gst/vaapi/gstvaapidebug.h:
27457           Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
27458
27459 2010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27460
27461         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27462         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27463           Add gst_vaapi_window_x11_is_foreign_xid() helper.
27464
27465 2010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27466
27467         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27468         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27469         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27470         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27471           Allow derived classes to specify custom Visual and Colormap.
27472
27473 2010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27474
27475         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27476         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27477         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27478           Allow window creation with a specific visual (e.g. for GLX support).
27479
27480 2010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27481
27482         * gst-libs/gst/vaapi/gstvaapiimage.c:
27483           Fix return value on error (though it's the same in the end).
27484
27485 2010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27486
27487         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27488         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27489           Simplify initialization of VADisplay.
27490
27491 2010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27492
27493         * configure.ac:
27494           Move __attribute__((visibility("hidden"))) check down.
27495
27496 2010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27497
27498         * docs/reference/libs/libs-sections.txt:
27499         * gst-libs/gst/vaapi/gstvaapiimage.c:
27500         * gst-libs/gst/vaapi/gstvaapiimage.h:
27501         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27502         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27503         * gst-libs/gst/vaapi/gstvaapisurface.c:
27504         * gst-libs/gst/vaapi/gstvaapisurface.h:
27505         * tests/test-surfaces.c:
27506           Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
27507
27508 2010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27509
27510         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27511           Use the parent display object, no need to maintain another one.
27512           In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
27513
27514 2010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27515
27516         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27517           Add more internal helpers.
27518
27519 2010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27520
27521         * gst-libs/gst/vaapi/gstvaapiimage.c:
27522         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27523         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27524         * gst-libs/gst/vaapi/gstvaapisurface.c:
27525         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27526         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27527           Rename to GST_VAAPI_OBJECT_DISPLAY().
27528
27529 2010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27530
27531         * docs/reference/libs/libs-sections.txt:
27532         * gst-libs/gst/vaapi/gstvaapiimage.c:
27533         * gst-libs/gst/vaapi/gstvaapiobject.c:
27534         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27535         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27536         * gst-libs/gst/vaapi/gstvaapisurface.c:
27537         * gst-libs/gst/vaapi/gstvaapitypes.h:
27538         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27539           All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
27540
27541 2010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27542
27543         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27544         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27545         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27546           Make GstVaapiWindow* derive from GstVaapiObject.
27547
27548 2010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27549
27550         * configure.ac:
27551           Factor out use gstreamer-vaapi (PACKAGE name).
27552
27553 2010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27554
27555         * configure.ac:
27556           Improve versioning summary.
27557
27558 2010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27559
27560         * gst-libs/gst/vaapi/Makefile.am:
27561           gstvaapicompat.h is now a private header (not installed).
27562
27563 2010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27564
27565         * gst-libs/gst/vaapi/gstvaapiimage.c:
27566         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27567         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27568         * gst-libs/gst/vaapi/gstvaapiobject.c:
27569         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27570         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27571           Include gstvaapicompat.h in source files only, not headers.
27572
27573 2010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27574
27575         * configure.ac:
27576         * gst-libs/gst/vaapi/Makefile.am:
27577         * sys/vaapiconvert/Makefile.am:
27578         * sys/vaapisink/Makefile.am:
27579         * tests/Makefile.am:
27580           Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
27581
27582 2010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27583
27584         * NEWS:
27585         * configure.ac:
27586         * gst-libs/gst/vaapi/Makefile.am:
27587         * gst-libs/gst/vaapi/gstvaapicompat.h:
27588         * gst-libs/gst/vaapi/gstvaapidisplay.h:
27589         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
27590         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27591         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27592         * gst-libs/gst/vaapi/gstvaapisurface.c:
27593         * gst-libs/gst/vaapi/gstvaapiutils.c:
27594         * gst-libs/gst/vaapi/gstvaapiutils.h:
27595         * pkgconfig/gstreamer-vaapi-x11.pc.in:
27596         * pkgconfig/gstreamer-vaapi.pc.in:
27597         * sys/vaapiconvert/Makefile.am:
27598         * sys/vaapisink/Makefile.am:
27599         * tests/Makefile.am:
27600           Add compatibility with the original VA-API 0.29.
27601
27602 2010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27603
27604         * gst-libs/gst/vaapi/gstvaapivalue.h:
27605           Add missing file (gstvaapivalue.h).
27606
27607 2010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27608
27609         * gst-libs/gst/vaapi/gstvaapiimage.c:
27610         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27611         * gst-libs/gst/vaapi/gstvaapisurface.c:
27612           Fix g_warning() invocation.
27613
27614 2010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27615
27616         * gst-libs/gst/vaapi/gstvaapisurface.c:
27617           Deassociate subpictures while destroying the surface.
27618
27619 2010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27620
27621         * gst-libs/gst/vaapi/gstvaapisurface.c:
27622           Fix destruction order of subpictures. They should be destroyed first.
27623
27624 2010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27625
27626         * NEWS:
27627         * gst-libs/gst/vaapi/gstvaapiimage.c:
27628         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27629         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
27630         * tests/test-windows.c:
27631           Add support for AYUV format.
27632
27633 2010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27634
27635         * tests/test-windows.c:
27636           Simplify upload process and fallback to subpictures.
27637
27638 2010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27639
27640         * docs/reference/libs/libs-docs.xml.in:
27641         * docs/reference/libs/libs-sections.txt:
27642         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27643           Fix documentation.
27644
27645 2010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27646
27647         * gst-libs/gst/vaapi/Makefile.am:
27648         * gst-libs/gst/vaapi/gstvaapiobject.c:
27649         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27650         * gst-libs/gst/vaapi/gstvaapitypes.h:
27651         * gst-libs/gst/vaapi/gstvaapivalue.c:
27652           Move GValue specific stuff to a dedicated file.
27653
27654 2010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27655
27656         * tests/test-surfaces.c:
27657           Cosmetics (lowercase for consistency).
27658
27659 2010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27660
27661         * gst-libs/gst/vaapi/gstvaapiobject.c:
27662           Cosmetics (vertical alignment).
27663
27664 2010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27665
27666         * gst-libs/gst/vaapi/gstvaapiobject.c:
27667           Fix return value on error.
27668
27669 2010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27670
27671         * docs/reference/libs/libs-sections.txt:
27672         * gst-libs/gst/vaapi/gstvaapiimage.c:
27673         * gst-libs/gst/vaapi/gstvaapiimage.h:
27674         * gst-libs/gst/vaapi/gstvaapiobject.c:
27675         * gst-libs/gst/vaapi/gstvaapiobject.h:
27676         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27677         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27678         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27679         * gst-libs/gst/vaapi/gstvaapisurface.c:
27680         * gst-libs/gst/vaapi/gstvaapisurface.h:
27681         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27682         * tests/test-surfaces.c:
27683           Move "id" down to the GstVaapiObject base.
27684
27685 2010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27686
27687         * gst-libs/gst/vaapi/gstvaapitypes.c:
27688           Cosmetics (drop extraneous empty line).
27689
27690 2010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27691
27692         * gst-libs/gst/vaapi/Makefile.am:
27693         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
27694         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
27695           Add GParamSpecs for GstVaapiID.
27696
27697 2010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27698
27699         * docs/reference/libs/libs.types:
27700           Drop gst_vaapi_id_get_type().
27701
27702 2010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27703
27704         * docs/reference/libs/libs-sections.txt:
27705         * gst-libs/gst/vaapi/gstvaapitypes.h:
27706           Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
27707
27708 2010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27709
27710         * docs/reference/libs/libs-sections.txt:
27711         * docs/reference/libs/libs.types:
27712         * gst-libs/gst/vaapi/Makefile.am:
27713         * gst-libs/gst/vaapi/gstvaapitypes.c:
27714         * gst-libs/gst/vaapi/gstvaapitypes.h:
27715           Add GstVaapiID abstraction.
27716
27717 2010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27718
27719         * docs/reference/libs/libs.types:
27720           Sort types.
27721
27722 2010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27723
27724         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27725         * gst-libs/gst/vaapi/gstvaapiimage.c:
27726         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27727         * gst-libs/gst/vaapi/gstvaapisurface.c:
27728           Drop useless include (<va/va_backend.h>).
27729
27730 2010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27731
27732         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27733           Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
27734
27735 2010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27736
27737         * gst-libs/gst/vaapi/Makefile.am:
27738         * gst-libs/gst/vaapi/gstvaapiimage.c:
27739         * gst-libs/gst/vaapi/gstvaapiobject.c:
27740         * gst-libs/gst/vaapi/gstvaapiobject.h:
27741         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
27742         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27743         * gst-libs/gst/vaapi/gstvaapisurface.c:
27744         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27745           Move private definitions and accessors to gstvaapiobject_priv.h.
27746
27747 2010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27748
27749         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27750         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
27751         * gst-libs/gst/vaapi/gstvaapiimage.c:
27752         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
27753         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
27754         * gst-libs/gst/vaapi/gstvaapiobject.c:
27755         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27756         * gst-libs/gst/vaapi/gstvaapisurface.c:
27757         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
27758         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27759         * gst-libs/gst/vaapi/gstvaapivideopool.c:
27760         * gst-libs/gst/vaapi/gstvaapivideosink.c:
27761         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27762         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27763           Fix short descriptions.
27764
27765 2010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27766
27767         * Makefile.am:
27768         * configure.ac:
27769         * debian.upstream/Makefile.am:
27770         * debian.upstream/changelog.in:
27771         * debian.upstream/compat:
27772         * debian.upstream/control.in:
27773         * debian.upstream/copyright:
27774         * debian.upstream/gstreamer-vaapi-doc.install.in:
27775         * debian.upstream/gstreamer-vaapi.install.in:
27776         * debian.upstream/libgstvaapi-dev.install.in:
27777         * debian.upstream/libgstvaapi-x11.install.in:
27778         * debian.upstream/libgstvaapi.install.in:
27779         * debian.upstream/rules:
27780           Generate upstream packages through make deb.upstream.
27781
27782 2010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27783
27784         * configure.ac:
27785           Bump version for development.
27786
27787 === release 0.1.1 ===
27788
27789 2010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27790
27791         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27792           Use a black background for new windows.
27793
27794 2010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27795
27796         * NEWS:
27797           0.1.1.
27798
27799 2010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27800
27801         * configure.ac:
27802         * docs/reference/libs/libs.types:
27803         * gst-libs/gst/vaapi/Makefile.am:
27804         * gst-libs/gst/vaapi/gstvaapimarshal.list:
27805         * gst-libs/gst/vaapi/gstvaapiobject.c:
27806         * gst-libs/gst/vaapi/gstvaapiobject.h:
27807         * tests/test-surfaces.c:
27808           Add "destroy" signal.
27809
27810 2010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27811
27812         * docs/reference/libs/libs-docs.xml.in:
27813           Improve gst-plugins-vaapi Library reference template.
27814
27815 2010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27816
27817         * docs/reference/libs/libs-docs.xml.in:
27818         * docs/reference/libs/libs-sections.txt:
27819         * gst-libs/gst/vaapi/Makefile.am:
27820         * gst-libs/gst/vaapi/gstvaapiimage.c:
27821         * gst-libs/gst/vaapi/gstvaapiimage.h:
27822         * gst-libs/gst/vaapi/gstvaapiobject.c:
27823         * gst-libs/gst/vaapi/gstvaapiobject.h:
27824         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27825         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
27826         * gst-libs/gst/vaapi/gstvaapisurface.c:
27827         * gst-libs/gst/vaapi/gstvaapisurface.h:
27828         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27829           Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
27830
27831 2010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27832
27833         * sys/vaapisink/gstvaapisink.c:
27834           Fix return value.
27835
27836 2010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27837
27838         * sys/vaapisink/gstvaapisink.c:
27839           Make sure VA display is valid when created with an explicit "display" name.
27840
27841 2010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27842
27843         * sys/vaapisink/gstvaapisink.c:
27844           Use plain "display" property for the X11 display name.
27845
27846 2010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27847
27848         * sys/vaapiconvert/gstvaapiconvert.c:
27849         * sys/vaapisink/gstvaapisink.c:
27850           Document vaapiconvert & vaapisink plugins.
27851
27852 2010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27853
27854         * configure.ac:
27855         * docs/reference/Makefile.am:
27856         * docs/reference/plugins/Makefile.am:
27857         * docs/reference/plugins/plugins-docs.xml.in:
27858         * docs/reference/plugins/plugins-overrides.txt:
27859         * docs/reference/plugins/plugins-sections.txt:
27860         * docs/reference/plugins/plugins.types:
27861           Add plugins documentation template.
27862
27863 2010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27864
27865         * sys/vaapisink/gstvaapisink.c:
27866         * sys/vaapisink/gstvaapisink.h:
27867           Don't export gst_vaapisink_get_display().
27868
27869 2010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27870
27871         * configure.ac:
27872         * docs/reference/libs/libs-docs.xml.in:
27873         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27874         * gst-libs/gst/vaapi/gstvaapiimage.c:
27875         * gst-libs/gst/vaapi/gstvaapisurface.c:
27876         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27877           Drop introspection annotations since they require gtk-doc >= 1.12.
27878
27879 2010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27880
27881         * gst-libs/gst/vaapi/gstvaapisurface.c:
27882           Add note about the fact that the surface holds an extra reference to the subpicture.
27883
27884 2010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27885
27886         * gst-libs/gst/vaapi/gstvaapiimage.c:
27887         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
27888         * gst-libs/gst/vaapi/gstvaapisurface.c:
27889           Improve debugging messages.
27890
27891 2010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27892
27893         * tests/test-windows.c:
27894           Unref subpicture earlier as the surface is supposed to hold a reference to it.
27895
27896 2010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27897
27898         * docs/reference/libs/libs-sections.txt:
27899         * gst-libs/gst/vaapi/gstvaapisurface.c:
27900         * gst-libs/gst/vaapi/gstvaapisurface.h:
27901         * tests/test-windows.c:
27902           Add gst_vaapi_surface_{,de}associate_subpicture() API.
27903
27904 2010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27905
27906         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27907           Wait for MapNotify or UnmapNotify events on foreign windows too.
27908
27909 2010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27910
27911         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27912           Check whether the foreign XID is mapped at binding time.
27913
27914 2010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27915
27916         * sys/vaapisink/gstvaapisink.c:
27917           Add missing includes.
27918
27919 2010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27920
27921         * configure.ac:
27922         * debian/Makefile.am:
27923         * debian/control.in:
27924         * debian/gstreamer-vaapi-doc.install.in:
27925         * debian/rules:
27926           Add -doc package.
27927
27928 2010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27929
27930         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27931           Fix warnings (drop extraneous var).
27932
27933 2010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27934
27935         * docs/reference/libs/libs-sections.txt:
27936         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
27937           Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
27938
27939 2010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27940
27941         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27942           Shorten condition.
27943
27944 2010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27945
27946         * gst-libs/gst/vaapi/Makefile.am:
27947         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27948         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27949         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
27950         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27951           Try to improve switch to fullscreen mode.
27952
27953 2010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27954
27955         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
27956         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
27957         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27958           Improve display locking and rework X event wait functions.
27959
27960 2010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27961
27962         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27963         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
27964           Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
27965
27966 2010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27967
27968         * gst-libs/gst/vaapi/Makefile.am:
27969         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27970         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
27971           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.
27972
27973 2010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27974
27975         * docs/reference/libs/libs-sections.txt:
27976         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27977         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27978           Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
27979
27980 2010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27981
27982         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27983         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27984         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27985           Add gst_vaapi_window_get_display() to base.
27986
27987 2010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
27988
27989         * docs/reference/libs/libs-docs.xml.in:
27990         * docs/reference/libs/libs-sections.txt:
27991         * gst-libs/gst/vaapi/Makefile.am:
27992         * gst-libs/gst/vaapi/gstvaapitypes.h:
27993         * gst-libs/gst/vaapi/gstvaapiwindow.c:
27994         * gst-libs/gst/vaapi/gstvaapiwindow.h:
27995         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
27996         * sys/vaapisink/gstvaapisink.c:
27997         * sys/vaapisink/gstvaapisink.h:
27998           Add GstVaapiPoint & GstVaapiRectangle data structures.
27999
28000 2010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28001
28002         * NEWS:
28003           0.1.1.
28004
28005 2010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28006
28007         * NEWS:
28008         * sys/vaapisink/gstvaapisink.c:
28009         * sys/vaapisink/gstvaapisink.h:
28010           Allow `vaapisink` to render videos in fullscreen mode.
28011
28012 2010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28013
28014         * docs/reference/libs/libs-sections.txt:
28015         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28016         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28017         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28018           Add gst_vaapi_window_set_fullscreen() API.
28019
28020 2010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28021
28022         * sys/vaapisink/gstvaapisink.c:
28023           Size window so that to respect the video and pixel aspect ratio.
28024
28025 2010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28026
28027         * docs/reference/libs/libs-sections.txt:
28028         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28029         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28030         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28031         * tests/test-display.c:
28032           Add gst_vaapi_display_get_pixel_aspect_ratio().
28033
28034 2010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28035
28036         * docs/reference/libs/libs-sections.txt:
28037           Updates.
28038
28039 2010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28040
28041         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28042         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28043         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28044         * tests/test-display.c:
28045           Add display size accessors.
28046
28047 2010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28048
28049         * configure.ac:
28050         * debian/control.in:
28051           Build-Requires: gstreamer-plugins-base >= 0.10.16.
28052
28053 2010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28054
28055         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28056         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28057         * gst-libs/gst/vaapi/gstvaapiimage.h:
28058         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28059         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28060         * gst-libs/gst/vaapi/gstvaapisurface.h:
28061         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28062         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28063         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28064         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28065         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28066           Fix documentation of *Class'es.
28067
28068 2010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28069
28070         * gst-libs/gst/vaapi/gstvaapiutils.c:
28071         * gst-libs/gst/vaapi/gstvaapiutils.h:
28072         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28073           Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
28074
28075 2010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28076
28077         * docs/reference/libs/libs-sections.txt:
28078         * gst-libs/gst/vaapi/gstvaapisurface.h:
28079         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28080           Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
28081
28082 2010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28083
28084         * docs/reference/libs/libs-sections.txt:
28085         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28086         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28087         * sys/vaapisink/gstvaapisink.c:
28088         * tests/test-windows.c:
28089           Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
28090
28091 2010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28092
28093         * docs/reference/libs/Makefile.am:
28094           Fix make dist for --enable-gtk-doc builds.
28095
28096 2010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28097
28098         * autogen.sh:
28099           Improve autogen.sh.
28100
28101 2010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28102
28103         * Makefile.am:
28104         * autogen.sh:
28105           Generate gtk-doc.make from gtkdocize.
28106
28107 2010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28108
28109         * Makefile.am:
28110         * NEWS:
28111         * configure.ac:
28112         * docs/Makefile.am:
28113         * docs/reference/Makefile.am:
28114         * docs/reference/libs/Makefile.am:
28115         * docs/reference/libs/libs-docs.xml.in:
28116         * docs/reference/libs/libs-overrides.txt:
28117         * docs/reference/libs/libs-sections.txt:
28118         * docs/reference/libs/libs.types:
28119           Document public API for libgstvaapi-*.so.*.
28120
28121 2010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28122
28123         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28124         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28125           Document GstVaapiVideoBuffer.
28126
28127 2010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28128
28129         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28130         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28131         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28132         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28133         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28134         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28135           Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
28136
28137 2010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28138
28139         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28140         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28141         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28142         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28143         * gst-libs/gst/vaapi/gstvaapiimage.c:
28144         * gst-libs/gst/vaapi/gstvaapiimage.h:
28145         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28146         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28147         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28148         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28149         * gst-libs/gst/vaapi/gstvaapisurface.c:
28150         * gst-libs/gst/vaapi/gstvaapisurface.h:
28151         * gst-libs/gst/vaapi/gstvaapivideosink.c:
28152         * gst-libs/gst/vaapi/gstvaapivideosink.h:
28153         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28154         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28155         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28156         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28157           Add tedious documentation.
28158
28159 2010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28160
28161         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28162           Beautify append_formats().
28163
28164 2010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28165
28166         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28167           Simplify GstVaapiDisplay (use GArray).
28168
28169 2010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28170
28171         * NEWS:
28172         * sys/vaapiconvert/gstvaapiconvert.c:
28173         * sys/vaapiconvert/gstvaapiconvert.h:
28174           Factor out direct-rendering infrastructure.
28175
28176 2010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28177
28178         * sys/vaapiconvert/gstvaapiconvert.c:
28179         * sys/vaapiconvert/gstvaapiconvert.h:
28180           Allow user to specify inout-buffers & derive-image optimizations.
28181
28182 2010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28183
28184         * sys/vaapiconvert/gstvaapiconvert.c:
28185           Reduce number of debug messaged printed out.
28186
28187 2010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28188
28189         * sys/vaapiconvert/gstvaapiconvert.c:
28190         * sys/vaapiconvert/gstvaapiconvert.h:
28191           Add vaDeriveImage() optimization.
28192
28193 2010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28194
28195         * gst-libs/gst/vaapi/gstvaapiimage.c:
28196           Fix gst_vaapi_image_create() from a foreign VA image.
28197
28198 2010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28199
28200         * gst-libs/gst/vaapi/gstvaapiimage.c:
28201         * gst-libs/gst/vaapi/gstvaapiimage.h:
28202         * gst-libs/gst/vaapi/gstvaapisurface.c:
28203         * gst-libs/gst/vaapi/gstvaapisurface.h:
28204           Add gst_vaapi_surface_derive_image() API.
28205
28206 2010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28207
28208         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28209         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28210         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28211           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().
28212
28213 2010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28214
28215         * tests/test-windows.c:
28216           Try YV12 & I420 image formats too.
28217
28218 2010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28219
28220         * gst-libs/gst/vaapi/gstvaapiimage.c:
28221           Split map/unmap functions into internal functions that don't check preconditions.
28222
28223 2010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28224
28225         * gst-libs/gst/vaapi/gstvaapiimage.c:
28226           Improve gst_vaapi_image_new() sanity checks.
28227
28228 2010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28229
28230         * tests/test-windows.c:
28231           Fix typo.
28232
28233 2010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28234
28235         * sys/vaapiconvert/gstvaapiconvert.c:
28236           Check if our inout buffer is still alive or default to a separate output buffer.
28237
28238 2010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28239
28240         * sys/vaapiconvert/gstvaapiconvert.c:
28241         * sys/vaapiconvert/gstvaapiconvert.h:
28242           Factor out buffers negotiation and optimization checks.
28243
28244 2010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28245
28246         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28247         * gst-libs/gst/vaapi/gstvaapiimage.c:
28248         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
28249         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28250         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28251         * sys/vaapiconvert/gstvaapiconvert.h:
28252           Use gtypes.
28253
28254 2010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28255
28256         * gst-libs/gst/vaapi/gstvaapiimage.c:
28257           Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
28258
28259 2010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28260
28261         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28262         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28263         * gst-libs/gst/vaapi/gstvaapiimage.c:
28264         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28265         * gst-libs/gst/vaapi/gstvaapisurface.c:
28266         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28267           Add VA display locking utilities.
28268
28269 2010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28270
28271         * sys/vaapisink/gstvaapisink.c:
28272           Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
28273
28274 2010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28275
28276         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28277         * tests/test-windows.c:
28278           Don't show window by default during creation.
28279
28280 2010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28281
28282         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28283           Fix gst_vaapi_window_x11_destroy().
28284
28285 2010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28286
28287         * sys/vaapiconvert/gstvaapiconvert.c:
28288         * sys/vaapiconvert/gstvaapiconvert.h:
28289           Alias sink & src pad buffers whenever possible.
28290
28291 2010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28292
28293         * gst-libs/gst/vaapi/gstvaapiimage.c:
28294         * gst-libs/gst/vaapi/gstvaapiimage.h:
28295           Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
28296
28297 2010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28298
28299         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28300         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28301           Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
28302
28303 2010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28304
28305         * sys/vaapiconvert/gstvaapiconvert.c:
28306           Fix image & surface size cache.
28307
28308 2010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28309
28310         * configure.ac:
28311           Move gstreamer-vaapi package versioning to the top.
28312
28313 2010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28314
28315         * configure.ac:
28316           Bump version for development.
28317
28318 === release 0.1.0 ===
28319
28320 2010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28321
28322         * configure.ac:
28323           Cosmetics (shorten lines).
28324
28325 2010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28326
28327         * NEWS:
28328         * README:
28329           Update docs.
28330
28331 2010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28332
28333         * debian/Makefile.am:
28334         * debian/changelog.in:
28335         * debian/compat:
28336         * debian/control.in:
28337         * debian/copyright:
28338         * debian/gstreamer-vaapi.install.in:
28339         * debian/libgstvaapi-dev.install.in:
28340         * debian/libgstvaapi-x11.install.in:
28341         * debian/libgstvaapi.install.in:
28342         * debian/rules:
28343           Add debian packaging.
28344
28345 2010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28346
28347         * Makefile.am:
28348         * configure.ac:
28349           Add debian packaging.
28350
28351 2010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28352
28353         * pkgconfig/Makefile.am:
28354           Silence GNU make extensions warning.
28355
28356 2010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28357
28358         * configure.ac:
28359           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'
28360
28361 2010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28362
28363         * Makefile.am:
28364         * configure.ac:
28365         * pkgconfig/Makefile.am:
28366         * pkgconfig/gstreamer-vaapi-x11.pc.in:
28367         * pkgconfig/gstreamer-vaapi.pc.in:
28368           Add pkgconfig files.
28369
28370 2010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28371
28372         * configure.ac:
28373         * gst-libs/gst/vaapi/Makefile.am:
28374         * sys/vaapisink/Makefile.am:
28375         * tests/Makefile.am:
28376           Split X11 support to libgstvaapi-x11-*.so.*
28377
28378 2010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28379
28380         * gst-libs/gst/vaapi/Makefile.am:
28381           Don't install private headers.
28382
28383 2010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28384
28385         * gst-libs/gst/vaapi/gstvaapidebug.h:
28386         * gst-libs/gst/vaapi/gstvaapiutils.c:
28387         * gst-libs/gst/vaapi/gstvaapiutils.h:
28388           Fix header guards.
28389
28390 2010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28391
28392         * gst-libs/gst/vaapi/Makefile.am:
28393         * gst-libs/gst/vaapi/gstvaapidebug.h:
28394         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28395         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28396         * gst-libs/gst/vaapi/gstvaapiimage.c:
28397         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28398         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28399         * gst-libs/gst/vaapi/gstvaapisurface.c:
28400         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28401         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28402         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28403         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28404         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28405           Rename vaapi_debug.h to gstvaapidebug.h.
28406
28407 2010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28408
28409         * gst-libs/gst/vaapi/Makefile.am:
28410         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28411         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28412         * gst-libs/gst/vaapi/gstvaapiimage.c:
28413         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28414         * gst-libs/gst/vaapi/gstvaapisurface.c:
28415         * gst-libs/gst/vaapi/gstvaapiutils.c:
28416         * gst-libs/gst/vaapi/gstvaapiutils.h:
28417         * gst-libs/gst/vaapi/vaapi_debug.h:
28418           Move vaapi_utils.* to gstvaapiutils.*
28419
28420 2010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28421
28422         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28423           Cosmetics (remove an extra line).
28424
28425 2010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28426
28427         * gst-libs/gst/vaapi/Makefile.am:
28428         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
28429         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
28430         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28431           Move X11 utilties to gstvaapiutils_x11.[ch].
28432
28433 2010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28434
28435         * gst-libs/gst/vaapi/Makefile.am:
28436         * gst-libs/gst/vaapi/gstvaapivideosink.c:
28437         * gst-libs/gst/vaapi/gstvaapivideosink.h:
28438         * sys/vaapiconvert/gstvaapiconvert.c:
28439         * sys/vaapisink/gstvaapisink.c:
28440           Rename GstVaapiSinkBase to GstVaapiVideoSink.
28441
28442 2010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28443
28444         * configure.ac:
28445         * tests/Makefile.am:
28446         * tests/examples/Makefile.am:
28447         * tests/examples/generic/Makefile.am:
28448         * tests/test-display.c:
28449         * tests/test-surfaces.c:
28450         * tests/test-windows.c:
28451           Move tests to top-level tests/ directory.
28452
28453 2010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28454
28455         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28456         * gst-libs/gst/vaapi/gstvaapiimage.c:
28457         * sys/vaapiconvert/gstvaapiconvert.c:
28458         * sys/vaapiconvert/gstvaapiconvert.h:
28459           Handle I420 formats internally in GstVaapiImage.
28460
28461 2010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28462
28463         * sys/vaapiconvert/gstvaapiconvert.c:
28464         * sys/vaapiconvert/gstvaapiconvert.h:
28465           Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
28466
28467 2010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28468
28469         * gst-libs/gst/vaapi/gstvaapiimage.c:
28470           Implement I420 and YV12 if the underlying implementation does not.
28471
28472 2010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28473
28474         * sys/vaapiconvert/Makefile.am:
28475         * sys/vaapiconvert/gstvaapiconvert.c:
28476         * sys/vaapiconvert/gstvaapiconvert.h:
28477           Add initial vaapiconvert plugin.
28478
28479 2010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28480
28481         * sys/vaapisink/gstvaapisink.c:
28482         * sys/vaapisink/gstvaapisink.h:
28483           Display frames.
28484
28485 2010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28486
28487         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28488           Factor out.
28489
28490 2010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28491
28492         * tests/examples/generic/test-windows.c:
28493           Generate R/G/B rects.
28494
28495 2010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28496
28497         * gst-libs/gst/vaapi/gstvaapisurface.c:
28498         * gst-libs/gst/vaapi/gstvaapisurface.h:
28499           Add gst_vaapi_surface_sync().
28500
28501 2010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28502
28503         * gst-libs/gst/vaapi/gstvaapiimage.c:
28504           Cosmetics (reverse args order).
28505
28506 2010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28507
28508         * gst-libs/gst/vaapi/gstvaapiimage.c:
28509         * gst-libs/gst/vaapi/gstvaapiimage.h:
28510         * gst-libs/gst/vaapi/gstvaapisurface.c:
28511           Cosmetics.
28512
28513 2010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28514
28515         * gst-libs/gst/vaapi/Makefile.am:
28516         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28517         * gst-libs/gst/vaapi/gstvaapiwindow.h:
28518         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28519         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
28520         * tests/examples/generic/Makefile.am:
28521         * tests/examples/generic/test-windows.c:
28522           Add VA/X11 window abstraction.
28523
28524 2010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28525
28526         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28527         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28528           Add VA and X11 display accessors.
28529
28530 2010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28531
28532         * gst-libs/gst/vaapi/gstvaapiimage.c:
28533           Fix preconditions.
28534
28535 2010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28536
28537         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28538           Cosmetics.
28539
28540 2010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28541
28542         * gst-libs/gst/vaapi/gstvaapiimage.c:
28543         * gst-libs/gst/vaapi/gstvaapiimage.h:
28544         * gst-libs/gst/vaapi/gstvaapisurface.c:
28545         * gst-libs/gst/vaapi/gstvaapisurface.h:
28546           Add gst_vaapi_{get,put}_image() API.
28547
28548 2010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28549
28550         * gst-libs/gst/vaapi/gstvaapiimage.c:
28551         * gst-libs/gst/vaapi/gstvaapiimage.h:
28552           Add gst_vaapi_image_update_from_buffer() helper.
28553
28554 2010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28555
28556         * sys/vaapisink/Makefile.am:
28557         * sys/vaapisink/gstvaapisink.c:
28558         * sys/vaapisink/gstvaapisink.h:
28559           Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
28560
28561 2010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28562
28563         * tests/examples/generic/Makefile.am:
28564         * tests/examples/generic/test-surfaces.c:
28565           Add surface tests.
28566
28567 2010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28568
28569         * gst-libs/gst/vaapi/Makefile.am:
28570         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28571         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28572           Add basic GstVaapiVideoBuffer.
28573
28574 2010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28575
28576         * gst-libs/gst/vaapi/Makefile.am:
28577         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28578         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
28579         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28580         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28581         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28582         * gst-libs/gst/vaapi/gstvaapivideopool.h:
28583           Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
28584
28585 2010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28586
28587         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28588           Simplify format conversion code.
28589
28590 2010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28591
28592         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28593         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28594           Add gst_vaapi_image_format_from_caps() helper.
28595
28596 2010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28597
28598         * gst-libs/gst/vaapi/Makefile.am:
28599         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28600         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
28601           Add VA surface pool (lazy allocator).
28602
28603 2010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28604
28605         * gst-libs/gst/vaapi/gstvaapisurface.c:
28606         * gst-libs/gst/vaapi/gstvaapisurface.h:
28607           Add gst_vaapi_surface_get_size() helper.
28608
28609 2010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28610
28611         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28612           Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
28613
28614 2010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28615
28616         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28617           Reset display-name if the user provided his own X11 display.
28618
28619 2010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28620
28621         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28622         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28623         * tests/examples/generic/test-display.c:
28624           Add gst_vaapi_display_x11_new_with_display() API.
28625
28626 2010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28627
28628         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28629         * gst-libs/gst/vaapi/gstvaapiimage.h:
28630         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28631         * gst-libs/gst/vaapi/gstvaapisurface.h:
28632           Fix *_GET_CLASS() definitions...
28633
28634 2010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28635
28636         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28637         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28638         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28639         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28640         * tests/examples/generic/test-display.c:
28641           API change: gst_vaapi_display_x11_new() now takes an X11 display name.
28642
28643 2010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28644
28645         * gst-libs/gst/vaapi/gstvaapisurface.c:
28646         * gst-libs/gst/vaapi/gstvaapisurface.h:
28647           Use GstVaapiChromaType abstraction.
28648
28649 2010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28650
28651         * gst-libs/gst/vaapi/gstvaapiimage.c:
28652         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28653         * gst-libs/gst/vaapi/gstvaapisurface.c:
28654           New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
28655
28656 2010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28657
28658         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28659           Don't warn on failure, just return an appropriate error or value.
28660
28661 2010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28662
28663         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28664         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28665         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28666           Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
28667
28668 2010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28669
28670         * gst-libs/gst/vaapi/Makefile.am:
28671         * gst-libs/gst/vaapi/gstvaapisinkbase.c:
28672         * gst-libs/gst/vaapi/gstvaapisinkbase.h:
28673           Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
28674
28675 2010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28676
28677         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28678         * gst-libs/gst/vaapi/gstvaapiimage.c:
28679         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28680         * gst-libs/gst/vaapi/gstvaapisurface.c:
28681         * gst-libs/gst/vaapi/vaapi_debug.h:
28682           Use GST_DEBUG.
28683
28684 2010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28685
28686         * gst-libs/gst/vaapi/gstvaapiimage.c:
28687         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28688           Fix GstVaapiImage and GstVaapiSubpicture initialization.
28689
28690 2010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28691
28692         * gst-libs/gst/vaapi/gstvaapisurface.c:
28693           Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
28694
28695 2010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28696
28697         * tests/examples/generic/test-display.c:
28698           Dump caps.
28699
28700 2010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28701
28702         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28703         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28704         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28705           Fix GstVaapiDisplay initialization.
28706
28707 2010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28708
28709         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28710         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28711           Get VA image & subpicture formats as GstCaps.
28712
28713 2010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28714
28715         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28716         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28717           Add helper to convert from GstVaapiImageFormat to GstCaps.
28718
28719 2010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28720
28721         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28722         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28723         * gst-libs/gst/vaapi/gstvaapisurface.c:
28724           Cosmetics (drop unused variables).
28725
28726 2010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28727
28728         * configure.ac:
28729         * sys/vaapiconvert/Makefile.am:
28730         * sys/vaapiconvert/gstvaapiconvert.c:
28731         * sys/vaapiconvert/gstvaapiconvert.h:
28732         * sys/vaapisink/Makefile.am:
28733         * sys/vaapisink/gstvaapisink.c:
28734         * sys/vaapisink/gstvaapisink.h:
28735           Add boilerplate for vaapiconvert and vaapisink elements.
28736
28737 2010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28738
28739         * configure.ac:
28740         * sys/Makefile.am:
28741         * sys/vaapiconvert/Makefile.am:
28742           Add vaapiconvert element hierarchy.
28743
28744 2010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28745
28746         * sys/vaapisink/Makefile.am:
28747           Rename to vaapisink.
28748
28749 2010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28750
28751         * gst-libs/gst/vaapi/gstvaapisurface.c:
28752           Shorter code (and more correct).
28753
28754 2010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28755
28756         * gst-libs/gst/vaapi/gstvaapisurface.c:
28757         * gst-libs/gst/vaapi/gstvaapisurface.h:
28758           Add helper to get GstVaapiDisplay from a surface.
28759
28760 2010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28761
28762         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28763           Fix subpicture formats list length.
28764
28765 2010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28766
28767         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28768         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28769           Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
28770
28771 2010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28772
28773         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28774         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28775           Cosmetics (more checks, includes).
28776
28777 2010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28778
28779         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28780         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
28781           Really add VA subpicture abstraction.
28782
28783 2010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28784
28785         * gst-libs/gst/vaapi/Makefile.am:
28786         * gst-libs/gst/vaapi/gstvaapiimage.c:
28787         * gst-libs/gst/vaapi/gstvaapiimage.h:
28788         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28789         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28790         * gst-libs/gst/vaapi/gstvaapisurface.c:
28791         * gst-libs/gst/vaapi/gstvaapisurface.h:
28792           Add VA surface, image, subpicture abstractions. Ported over from Gnash.
28793
28794 2010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28795
28796         * configure.ac:
28797         * gst-libs/gst/vaapi/Makefile.am:
28798         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28799         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28800         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28801         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
28802         * gst-libs/gst/vaapi/vaapi_debug.h:
28803         * gst-libs/gst/vaapi/vaapi_utils.c:
28804         * gst-libs/gst/vaapi/vaapi_utils.h:
28805         * tests/examples/generic/Makefile.am:
28806         * tests/examples/generic/test-display.c:
28807           Add initial VA display abstraction.
28808
28809 2010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28810
28811         * Makefile.am:
28812         * configure.ac:
28813         * tests/Makefile.am:
28814         * tests/examples/Makefile.am:
28815         * tests/examples/generic/Makefile.am:
28816           Add tests infrastructure.
28817
28818 2010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28819
28820         * configure.ac:
28821           Clean up VA-API checks.
28822
28823 2010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
28824
28825         * configure.ac:
28826           Check for __attribute__((visibility("hidden"))).
28827